当前位置: 首页 > 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)碰撞检测实现

相关文章:

魔兽服务器学习-笔记1

文章目录 一、环境准备1)依赖安装2)源码下载和编译 二、生成数据信息1)地图数据信息(客户端信息)2)数据库信息 三、启动服务器四、日志模块五、数据库模块六、场景模块1)地图管理2)A…...

代码随想录day60|84.柱状图中最大的矩形

84.柱状图中最大的矩形(找到右边第一个更小的元素) 1、对于每一个柱子:找到左边第一个比他矮的,再找到右边第一个比他矮的。 2、首尾加0: 为什么要在末尾加0:否则如果原数组就是单调递增的话,就…...

常见面试题-分布式锁

Redisson 分布式锁?在项目中哪里使用?多久会进行释放?如何加强一个分布式锁? 答: 什么时候需要使用分布式锁呢? 在分布式的场景下,使用 Java 的单机锁并不可以保证多个应用的同时操作共享资源…...

vue开发 安装一些工具

下载 node.js环境 nodeJs 官网 命令行输入 node -v 和 npm -v 出现版本号 代表nodejs 安装成功选择安装pnpm npm install -g pnpmpnpm -v 出现版本号即成功安装安装 scss vue3 组件库 Element Plus Element 官网 安装 pnpm install Element-Plus --save第一次使用开发v…...

Vue.js 组件 - 自定义事件

Vue.js 组件 - 自定义事件 父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,就需要使用自定义事件! 我们可以使用 v-on 绑定自定义事件, 每个 Vue 实例都实现了事件接口(Events interface),即: …...

深度学习 python opencv 火焰检测识别 计算机竞赛

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…...

PHP中传值与引用的区别

在PHP中,变量的传递方式主要分为传值和传引用两种。这两种方式在操作中有一些重要的区别,影响着变量在函数调用或赋值操作中的表现。下面详细解释一下这两种传递方式的区别。 传值(By Value) 传值是指将变量的值复制一份传递给函…...

Go常见数据结构的实现原理——map

(一)基础操作 版本:Go SDK 1.20.6 1、初始化 map分别支持字面量初始化和内置函数make()初始化。 字面量初始化: m : map[string] int {"apple": 2,"banana": 3,}使用内置函数make()初始化: m …...

第二十五节——Vuex--历史遗留

文档地址 Vuex 是什么? | Vuex version V4.x 一、概念 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。一个状态自管理应用包含以下几个部…...

大数据Doris(二十一):数据导入演示

文章目录 数据导入演示 一、启动zookeeper集群(三台节点都启动) 二、启动hdfs集群...

[100天算法】-面试题 04.01.节点间通路(day 72)

题目描述 节点间通路。给定有向图,设计一个算法,找出两个节点之间是否存在一条路径。示例1:输入:n 3, graph [[0, 1], [0, 2], [1, 2], [1, 2]], start 0, target 2 输出:true 示例2:输入:n 5, graph [[0, 1], …...

linux_day02

1、链接:LN 一个点表示当前工作目录,两个点表示上一层工作目录; 目录的本质:文件(该文件储存目录项,以链表的形式链接,每个结点都是目录项,创建文件相当于把目录项添加到链表中&…...

OpenCV-Python小应用(九):通过灰度直方图检测图像异常点

OpenCV-Python小应用(九):通过灰度直方图检测图像异常点 前言前提条件相关介绍实验环境通过灰度直方图检测图像异常点代码实现输出结果 参考 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容&#xff…...

关于el-table+el-input+el-propover的封装

一、先放图片便于理解 需求: 1、el-input触发focus事件,弹出el-table(当然也可以为其添加搜索功能、分页) 2、el-table中的复选共能转化成单选共能 3、选择或取消的数据在el-input中动态显示 4、勾选数据后,因为分页过多,原先选好…...

基于Python+OpenCV+SVM车牌识别系统-车牌预处理系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介系统流程系统优势 二、功能三、系统四. 总结 一项目简介 ## PythonOpenCVSVM车牌识别系统介绍 简介 PythonOpenCVSVM车牌识别系统是一种基于计算机视…...

力扣第72题 编辑距离 (增 删 改) C++ 动态规划 附Java代码

题目 72. 编辑距离 中等 相关标签 字符串 动态规划 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例 1: 输入&a…...

工业相机基本知识理解:工业相机IO接口,功耗和供电方式

I-input 相机接收外部信号,可用于触发相机(硬触发),也可用于定制不同的 功能,例如使用不同信号宽度来改变相机的曝光时间。主要用于现场设 备控制相机使用,常常配合各种传感器使用 O-output 相机输出信号&a…...

数据库设计

数据库设计特点 数据库建设的基本规律:三分技术,七分管理,十二分基础数据结构(数据)设计和行为(处理)设计相结合:数据库设计应该和应用系统设计相结合 数据库设计方法 新奥尔良方…...

【react.js + hooks】使用 useLoading 控制加载

在页面上 loading(加载)的效果十分常见,在某些场景下,一个页面上甚至可能有特别多的 loading 存在,此时为每一个 loading 专门创建一个 state 显然太过繁琐,不如试试写一个 useLoading 来集中管理&#xff…...

Cordova系列之化繁为简:打造全场景适用的Cordova组件

前言 在我之前的文章 Cordova初探 的开篇中说到了Cordova在Android应用开发中的一个显著的局限性就是我们的Activity必须继承其提供的CordovaActivity。这种设计对于那些追求个性化UI设计的项目而言,显得尤为受限。 其实也可以理解,Cordova主要旨在为前…...

Baiduwp-PHP:3分钟搭建百度网盘高速下载解析服务

Baiduwp-PHP:3分钟搭建百度网盘高速下载解析服务 【免费下载链接】baiduwp-php A tool to get the download link of the Baidu netdisk / 一个获取百度网盘分享链接下载地址的工具 项目地址: https://gitcode.com/gh_mirrors/ba/baiduwp-php 还在为百度网盘…...

编程未来发展趋势

编程未来发展趋势:技术变革与无限可能 在数字化浪潮席卷全球的今天,编程作为技术发展的核心驱动力,正以前所未有的速度重塑世界。从人工智能的崛起到量子计算的突破,编程的未来充满无限可能。本文将探讨编程领域的三大发展趋势&a…...

设计企业级SKILL的7个最佳实战原则

引言 2025 年,AI 编程助手从"问答工具"进化成了"执行者"。Claude Code 的 Skill 系统是这一演进的缩影——你可以把一套复杂的工作流封装成一个 Skill,让 AI 像调用函数一样执行它。 但写一个能用的 Skill 容易,写一个好用的 Skill 很难。 skill-cre…...

忍者像素绘卷开源可部署:支持国产统信UOS+海光DCU异构部署

忍者像素绘卷开源可部署:支持国产统信UOS海光DCU异构部署 1. 项目概述 忍者像素绘卷是一款基于Z-Image-Turbo深度优化的图像生成工作站,专为复古像素艺术创作而设计。这款工具将传统漫画创作与现代AI技术相结合,创造出独特的16-Bit复古游戏…...

终极游戏手柄映射指南:5分钟让任何手柄玩转PC游戏

终极游戏手柄映射指南:5分钟让任何手柄玩转PC游戏 【免费下载链接】antimicrox Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support. 项目地址: https://gitcode.com/GitHub_Tr…...

GLM-TTS效果实测:方言克隆、情感控制,音色还原度惊人

GLM-TTS效果实测:方言克隆、情感控制,音色还原度惊人 1. 开篇:重新定义语音合成的可能性 想象一下这样的场景:你只需要录制3秒钟的语音,就能让AI完美复刻你的声音,甚至可以用你的声音说出你从未说过的话。…...

万象视界灵坛实操手册:如何用8px硬边投影UI提升多模态分析沉浸感

万象视界灵坛实操手册:如何用8px硬边投影UI提升多模态分析沉浸感 1. 平台概述 万象视界灵坛是一款基于OpenAI CLIP技术的高级多模态智能感知平台。它将复杂的语义对齐过程转化为直观的像素风格交互体验,通过独特的16-Bit游戏美学设计,为用户…...

别再花钱买服务器了!用闲置云主机+frp 0.65.0搭建免费内网穿透服务(保姆级教程)

闲置云主机变身内网穿透神器:frp实战指南 手里有台快过期的学生优惠云服务器?别急着让它吃灰。今天我们就来聊聊如何把这类"鸡肋"资源变成实用的内网穿透工具。相比动辄几百元的商业穿透服务,用frp自建方案不仅零成本,还…...

前视声呐图像处理避坑指南:从像素坐标到真实距离/角度的转换原理与YOLO集成

前视声呐图像处理避坑指南:从像素坐标到真实距离/角度的转换原理与YOLO集成 水下机器人视觉系统的核心挑战之一,是如何准确解读前视声呐生成的二维图像。与光学相机不同,声呐图像中的每个像素点背后都隐藏着复杂的物理测量原理。许多工程师在…...

ReactNative for OpenHarmony项目鸿蒙化三方库:rn-placeholder — 骨架屏占位组件

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net 📌 开发环境声明:本文基于 React Native 0.72.90 版本进行开发适配 🚀 一、开篇引言 rn-placeholder 是一个优雅的占位符组件库,用于在内容加…...