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

相关推荐
Element_南笙14 分钟前
吴恩达新课程:Agentic AI(笔记2)
数据库·人工智能·笔记·python·深度学习·ui·自然语言处理
koo3641 小时前
李宏毅机器学习笔记21-26周汇总
人工智能·笔记·机器学习
qq_183802871 小时前
Linux内核idr数据结构使用
linux·运维·服务器
.小小陈.1 小时前
数据结构2:单链表
c语言·开发语言·数据结构·笔记·学习方法
立志成为大牛的小牛1 小时前
数据结构——二十三、并查集的终极优化(王道408)
开发语言·数据结构·笔记·学习·程序人生·考研
全栈游侠2 小时前
04-优先级与延时链表
笔记
码农-小林2 小时前
使用leaflet库加载服务器离线地图瓦片(这边以本地nginx服务器为例)
运维·服务器·nginx
噜啦噜啦嘞好2 小时前
Linux:库制作与原理
linux·运维·服务器
androidstarjack2 小时前
知乎服务器崩溃!
运维·服务器
im_AMBER2 小时前
React 01
前端·javascript·笔记·react.js·前端框架·web