魔兽服务器学习-笔记1

文章目录

一、环境准备

1)依赖安装

shell 复制代码
sudo apt-get update
sudo apt-get install git clang cmake gcc g++ 
	libmysqlclient-dev libss-dev libbz2-dev libreadline-dev
	libncurses-dev libboost-all-dev mysql-server-5.7 p7zip

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100

//
sudo yum install -y clang 

2)源码下载和编译

shell 复制代码
git clone -b 3.3.5 https//github.com//TrinityCore/TrinityCore.git

mkdir build cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/lighthouse/tinycore  
-DCONF_DIR=/home/lighthouse/tinycore/bin
make -j2  (nproc看核心数来编译)
make install

二、生成数据信息

1)地图数据信息(客户端信息)

shell 复制代码
1)cd ~
2)mkdir res  (根目录创建res文件夹)
3)把客户端目录的Data和Interface移动到res目录下

4)cd res
在res目录执行游戏目录bin/下面的mapextractor,
生成dbc和maps文件夹

5)mkdir vmaps
在res目录执行游戏目录bin/下面的vmap4extractor,
生成vmaps文件夹和Buildings目录

5)在res目录执行游戏目录bin/下面的vmap4assembler,
../lighthouse/bin/vmap4assembler Buildings vmaps

6) mkdir mmaps
在res目录执行游戏目录bin/下面的mmaps_generator
生成mmaps目录

2)数据库信息

  • 注意
    需要提前安装mysql
shell 复制代码
mysql -uroot -p password

1)在TrinityCore的sql/create目录的路径赋值,打开mysql

shell 复制代码
mysql> source ../Trinity/sql/create/create_mysql.sql

show database;

可以看到生成了auth \ character \ world

三、启动服务器

1)先进到项目的bin目录,复制authserver.conf

shell 复制代码
启动授权服务器
./authserver

2)同样步骤,复制worldserver.conf

并且改写DataDir,指定res目录

shell 复制代码
DataDir="../../res"

启动worldserver

shell 复制代码
启动授权服务器
./worldserver

四、日志模块

五、数据库模块

六、场景模块

1)地图管理

①哪些模块会用到地图模块?

1)运动模块:走、跳、飞行

2)副本

3)寻路

②地图模块要实现哪些功能?

1)AOI:管理地图地理信息、地图对象信息

2)功能:视野、数据同步、碰撞检测、寻路算法

③怎么驱动地图模块?

1)移动的网络数据驱动

2)定时更新(怪物的AI行为)

2)AOI算法

职责:

①静态数据:

《1》trinity由mapextractor生成.map文件(基础地图信息),数据包括

shell 复制代码
1) area data  (区域物体信息)
2) height data (高度信息)
3) liquid data (水)
4) hole data  (洞)

《2》由mmaps_generator生成可移动地图信息 .mmap,游戏中的地图移动数据(用来给navmesh寻路),也就是用recast和detour生成寻路信息

shell 复制代码
1) mmtile 索引对应具体地图的所有信息(x+y做名字前缀)
2) .mmap  索引

《3》vmapsextractor生成地图元素信息(可视场景信息:山脉、水体、建筑物等静态场景信息),用于未来做碰撞检测

shell 复制代码
*.m2和	*.wmo文件  静态物品包围盒信息
*.mdx  角色、物品和怪物包围盒信息

《4》vmap4assembler合并vmapsextractor和mmaps_generator生成的地图信息,vmtile信息

②动态数据

3)地图数据驱动

4)动态数据管理

5)碰撞检测实现

相关推荐
并不会2 小时前
常见 CSS 选择器用法
前端·css·学习·html·前端开发·css选择器
龙鸣丿2 小时前
Linux基础学习笔记
linux·笔记·学习
Nu11PointerException4 小时前
JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习
笔记·学习
2401_850410834 小时前
文件系统和日志管理
linux·运维·服务器
亦枫Leonlew6 小时前
三维测量与建模笔记 - 3.3 张正友标定法
笔记·相机标定·三维重建·张正友标定法
考试宝6 小时前
国家宠物美容师职业技能等级评价(高级)理论考试题
经验分享·笔记·职场和发展·学习方法·业界资讯·宠物
一只哒布刘6 小时前
NFS服务器
运维·服务器
黑叶白树7 小时前
简单的签到程序 python笔记
笔记·python
@小博的博客8 小时前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
lihuhelihu8 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算