魔兽服务器学习-笔记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)碰撞检测实现

相关推荐
宇钶宇夕1 小时前
S7-200 SMART CPU 密码清除全指南:从已知密码到忘记密码的解决方法
运维·服务器·数据库·程序人生·自动化
思序 LogicFlow1 小时前
关于在Linux上部署 SecretFlow --- P2P部署模式
linux·服务器
YC运维3 小时前
网络配置综合实验全攻略(对之前学习的总结)
linux·服务器·网络
伊成3 小时前
docker安装Consul笔记
笔记·docker·consul
zstar-_3 小时前
Claude code在Windows上的配置流程
笔记·算法·leetcode
hi0_64 小时前
03 数组 VS 链表
java·数据结构·c++·笔记·算法·链表
无敌的牛4 小时前
Linux基础开发工具
linux·运维·服务器
Edingbrugh.南空4 小时前
实战指南:用pmap+gdb排查Linux进程内存问题
linux·运维·服务器
孙克旭_5 小时前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible
Wy. Lsy5 小时前
Kotlin基础学习记录
开发语言·学习·kotlin