当前位置: 首页 > news >正文

魔兽服务器学习-笔记1

文章目录

    • 一、环境准备
      • 1)依赖安装
      • 2)源码下载和编译
    • 二、生成数据信息
      • 1)地图数据信息(客户端信息)
      • 2)数据库信息
    • 三、启动服务器
    • 四、日志模块
    • 五、数据库模块
    • 六、场景模块
      • 1)地图管理
      • 2)AOI算法
      • 3)地图数据驱动
      • 4)动态数据管理
      • 5)碰撞检测实现

一、环境准备

1)依赖安装

sudo apt-get update
sudo apt-get install git clang cmake gcc g++ libmysqlclient-dev libss-dev libbz2-dev libreadline-devlibncurses-dev libboost-all-dev mysql-server-5.7 p7zipsudo 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)源码下载和编译

git clone -b 3.3.5 https//github.com//TrinityCore/TrinityCore.gitmkdir build cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/lighthouse/tinycore  
-DCONF_DIR=/home/lighthouse/tinycore/bin
make -j2  (nproc看核心数来编译)
make install

二、生成数据信息

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

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 vmaps6) mkdir mmaps
在res目录执行游戏目录bin/下面的mmaps_generator
生成mmaps目录

2)数据库信息

  • 注意
    需要提前安装mysql
mysql -uroot -p password

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

mysql> source ../Trinity/sql/create/create_mysql.sqlshow database;可以看到生成了auth \ character \ world

三、启动服务器

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

启动授权服务器
./authserver

2)同样步骤,复制worldserver.conf
并且改写DataDir,指定res目录

DataDir="../../res"

启动worldserver

启动授权服务器
./worldserver

四、日志模块

五、数据库模块

六、场景模块

1)地图管理

①哪些模块会用到地图模块?
1)运动模块:走、跳、飞行
2)副本
3)寻路
②地图模块要实现哪些功能?
1)AOI:管理地图地理信息、地图对象信息
2)功能:视野、数据同步、碰撞检测、寻路算法
③怎么驱动地图模块?
1)移动的网络数据驱动
2)定时更新(怪物的AI行为)

2)AOI算法

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

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

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

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

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

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

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

②动态数据

3)地图数据驱动

4)动态数据管理

5)碰撞检测实现

http://www.lryc.cn/news/226715.html

相关文章:

  • 代码随想录day60|84.柱状图中最大的矩形
  • 常见面试题-分布式锁
  • vue开发 安装一些工具
  • Vue.js 组件 - 自定义事件
  • 深度学习 python opencv 火焰检测识别 计算机竞赛
  • PHP中传值与引用的区别
  • Go常见数据结构的实现原理——map
  • 第二十五节——Vuex--历史遗留
  • 大数据Doris(二十一):数据导入演示
  • [100天算法】-面试题 04.01.节点间通路(day 72)
  • linux_day02
  • OpenCV-Python小应用(九):通过灰度直方图检测图像异常点
  • 关于el-table+el-input+el-propover的封装
  • 基于Python+OpenCV+SVM车牌识别系统-车牌预处理系统
  • 力扣第72题 编辑距离 (增 删 改) C++ 动态规划 附Java代码
  • 工业相机基本知识理解:工业相机IO接口,功耗和供电方式
  • 数据库设计
  • 【react.js + hooks】使用 useLoading 控制加载
  • Cordova系列之化繁为简:打造全场景适用的Cordova组件
  • Flink之Catalog
  • 计算机网络——物理层-传输方式(串行传输、并行传输,同步传输、异步传输,单工、半双工和全双工通信)
  • 男科医院服务预约小程序的作用是什么
  • 有没有实时检测微信聊天图片的软件,只要微信收到了有二维码的图片就把它提取出来?
  • core-site.xml,yarn-site.xml,hdfs-site.xml,mapred-site.xml配置
  • 数据分析实战 | KNN算法——病例自动诊断分析
  • JS实现数据结构与算法
  • 计算机毕业设计 基于SpringBoot的驾校管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • S7-1200PLC和SMART PLC开放式以太网通信(UDP双向通信)
  • 作用域插槽slot-scope
  • Redis学习笔记13:基于spring data redis及lua脚本list列表实现环形结构案例