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

相关推荐
一直C11 分钟前
嵌入式 Linux 驱动开发学习笔记:中断、等待队列与工作队列
linux·驱动开发·嵌入式硬件·学习·imx6ull
程序员-Benothing17 分钟前
Linux防火墙配置教程:iptables、firewalld、nftables、ufw
linux·运维·服务器
问心无愧051324 分钟前
[GXYCTF2019]BabyUpload
笔记
我命由我1234524 分钟前
5-2.Python 编码进阶 - 字符串进阶(拼接、普通格式化、普通格式化数字精度控制、快速格式化、遍历、常用方法)
java·开发语言·后端·python·学习·java-ee·学习方法
瑞克-桑切斯2 小时前
企业生产环境:https部署+nginx高可用(业务不中断)
linux·服务器·数据库
http阿拉丁神猫5 小时前
Go语言入门笔记:从基础到开发环境搭建(二)
开发语言·笔记·golang
HRBorderInsight8 小时前
马来西亚人均收入一个月多少钱,个人薪资和家庭收入要分开看
经验分享·笔记
浩浩测试一下9 小时前
Linux 底层知识点 1
linux·运维·服务器
Eloudy9 小时前
全文 - IMEX 第01节 -IMEX overview
运维·服务器·网络
又見山9 小时前
本地 Markdown 与数据主权:你的笔记到底属于谁
笔记·obsidian