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

相关推荐
Tian_Hang2 小时前
Eclipse Ditto 的权限策略
java·服务器·前端·网络·ide·ubuntu·eclipse
MartinYeung52 小时前
[论文学习]DP-Fusion:面向大语言模型的令牌级差分隐私推理-深度解析
人工智能·学习·语言模型
zwenqiyu3 小时前
非线性字符串数据结构串讲
数据结构·c++·学习·算法
MartinYeung54 小时前
[论文学习]SecureGate:通过令牌级门控学习何时安全地揭示PII-深度解析
学习·安全
着迷不白4 小时前
Linux 磁盘管理完全指南:分区、文件系统、挂载与 LVM 实战
linux·运维·服务器
山川而川-R4 小时前
LangChain
linux·运维·服务器
QH_ShareHub4 小时前
Linux 根目录结构详解
linux·运维·服务器
骑士雄师4 小时前
langchain:推荐切片策略
服务器·前端·langchain
大鱼>5 小时前
超参数调优进阶:Optuna/Bayesian/Early Stopping
人工智能·学习·机器学习·聚类
千逐685 小时前
Uniapp 鸿蒙实战之 AtomGit APP - 仓库详情与文件树浏览
服务器·microsoft·uni-app