AzerothCore WoTLK 私服地图数据提取(map/vmap/mmaps)完整实操指南
2026/9/19 19:37:32 网站建设 项目流程

AzerothCore WoTLK 私服地图数据提取(map/vmap/mmaps)完整实操指南

【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk

在 AzerothCore 搭建 WoTLK 私服的过程中,地图数据提取是最容易卡住新手的环节。服务器本体不自带地形与碰撞数据,你需要从一份魔兽世界客户端里提取出 maps、vmaps、mmaps 三组文件:缺了 maps,世界无法载入;缺了 vmaps,建筑和山体会变成"透明"的;缺了 mmaps,怪物会直接穿墙乱撞。本文带你用官方工具链把这条流水线完整走一遍。

🧾 准备清单:3.3.5a 客户端与 20GB 空闲空间

开始之前核对四项内容:

  • 客户端版本:魔兽世界 3.3.5a(Build 12340),其他版本的数据不匹配
  • MPQ 文件位置:客户端目录下的Data文件夹,提取器从这里读取全部资源包
  • 磁盘空间:至少预留 20GB 空闲,源数据本身超过 20GB,生成产物还要再占一块
  • 内存:推荐 16GB 以上,mmaps 阶段的几何计算吃内存,内存不足会明显变慢

四个提取工具都随源码提供,位于 src/tools/ 目录:map_extractor、vmap4_extractor、vmap4_assembler、mmaps_generator。编译一次项目后就能得到四个独立可执行文件。

🗺️ 工具速览:四个二进制各自负责什么

不需要记每个工具的参数,只要理解这条"谁产出、谁接手"的链条:

工具干什么产出目录
map_extractor读取 ADT 文件(ADT 是地形块,存高度、纹理和物件摆放)maps/dbc/Cameras/
vmap4_extractor把 WMO(World Model Object,世界建筑模型)转成简化碰撞几何Buildings/(临时目录)
vmap4_assembler把 Buildings 里的原始数据汇编成服务器可加载的 vmapvmaps/
mmaps_generator基于 maps+vmaps 计算导航网格(NPC 寻路用的可行走区域图)mmaps/

注意顺序:每一步都依赖上一步的产出,不能打乱。

✅ 完整提取流程:按菜单顺序跑一遍 extractor.sh

不用逐个记命令行参数,项目提供了统一脚本 apps/extractor/extractor.sh。

检查点 1:把工具放进客户端目录。把四个可执行文件拷到WoW.exe所在文件夹(也就是含Data的目录)。脚本启动时会先检查这四个文件和./Data是否存在,缺了会直接提示你把它们放进 WoW 目录。

cd 含Data目录的客户端文件夹 ./extractor.sh

检查点 2:选选项 1,提取基础数据。跑完得到maps/(如 0000_0000.adt 的地形块)、dbc/(游戏对象定义表)、Cameras/(镜头路径)三个目录。这一步最快,通常几分钟内结束。若中途刷出 "No such file",别慌,这是正常现象,菜单页也专门注明了这类输出 "intended and not an error"。

检查点 3:选选项 2,提取 vmaps。脚本先跑vmap4_extractor产出Buildings/,紧接着自动执行vmap4_assembler Buildings vmaps,汇编成含 .vmtree 和 .vmtile 的vmaps/目录,Buildings随后自动删除。过程中看到Couldn't open RootWmo!!!一行?同样是正常提示,只是工具试探了某些不存在的 WMO 组文件没打开,不代表提取失败。

检查点 4:选选项 3,生成 mmaps。mmaps_generator会基于maps/vmaps/重新读取地形与碰撞数据,用 Recast/Detour 算法逐块计算导航网格,向mmaps/写入 .mmtile 文件。这是最耗时的一步,全量生成需要数小时,脚本自己都会提醒 "This may take a few hours",挂机等待即可。想手动控制的话,可以单独运行它并加--threads 8(或你的 CPU 核数);网格参数的默认值在 src/tools/mmaps_generator/mmaps-config.yaml 里。

检查点 5:或者直接选选项 4。首次提取不想操心顺序,选 4 即可,脚本会按 1→2→3 的顺序一次跑完,预留好时间就行。

🩹 常见失败排查:文件找不到、变慢、生成中断

  • 脚本报缺文件,或 map_extractor 找不到 MPQ:九成是位置问题。确认你停在含WoW.exe的目录里,Data目录与它在同级,且客户端确为 3.3.5a。
  • vmap 提取变慢:先清空残留的Buildings/再重跑选项 2;关掉吃内存的后台程序,8GB 内存跑全程基本会卡。
  • mmaps 生成失败:依次检查——选项 1、2 是否已产出完整的maps/vmaps/(选项 3 依赖它们);磁盘剩余是否还有 10GB;终端尾部是否提示内存不足,是的话调低--threads再跑。

📦 数据放到服务器:DataDir 配置与验证

提取完成后,客户端目录下应有maps/vmaps/mmaps/三个目录(还有dbc/Cameras/)。把它们原样拷到 worldserver 程序所在目录,保持同级结构。

再改worldserver.conf(模板见 src/server/apps/worldserver/worldserver.conf.dist):

DataDir = "."

"." 表示数据就放在程序所在目录;数据若放在别处,换成实际路径,例如DataDir = "/home/you/azerothcore/data",值必须用引号包起来。重启 worldserver 即生效。

验证方式很直接:建角色进世界。地形正常显示、建筑有墙体碰撞、野外怪物走位合理不卡石头,说明三组数据都到位了。

【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询