如何部署 AzerothCore:从克隆仓库到开启 3.3.5a 服务器的完整指南
【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
AzerothCore 是开源的《魔兽世界》3.3.5a(巫妖王之怒)服务端模拟器。本教程带你按环境、编译、数据库、启动四步完成 AzerothCore 部署,适合具备基础命令行经验、想自建 MMO 服务器的新手。
核心能力一览
- 复刻 3.3.5a 玩法,省去自建游戏系统的成本
- 一键安装脚本,自动检测并装好系统依赖
- 模块化架构,扩展功能不必改核心代码
- 内置 SQL 升级机制,数据库更新有章可循
部署前准备清单
| 依赖 | 用途 | 推荐版本 |
|---|---|---|
| 操作系统 | 运行环境 | Ubuntu 20.04+ / Debian 11+ / Windows |
| CMake(跨平台构建工具) | 配置与驱动编译 | 3.16 – 3.22 |
| 编译器 | 编译 C++ 源码 | GCC 9+ 或 Clang 9+ |
| MySQL(关系数据库) | 存储角色与世界观数据 | 5.7 / 8.0 |
| Git | 代码获取与模块管理 | 2.x |
部署流程:五步完成 AzerothCore 部署
第一步:克隆 AzerothCore 仓库
目标:把源码拉到本地。
git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk验证:目录中能看到acore.sh与CMakeLists.txt,说明源码完整。
第二步:一键安装系统依赖
目标:让脚本替你装好编译器配套库和 MySQL 开发包。
./install.sh验证:脚本正常跑完、无报错退出,即依赖就绪。
第三步:编译服务端程序
目标:产出 authserver 与 worldserver 两个可执行程序。
./acore.sh compiler build✅ 验证:构建成功后,输出目录中同时存在authserver和worldserver。
第四步:一键导入数据库
目标:在 MySQL 中建库并灌入基础数据。
./acore.sh setup-db✅ 验证:MySQL 中出现 authserver、characters、world 三个库,且各库表数量不为 0。
第五步:启动服务并验证就绪
目标:把双进程跑起来,进入可连接状态。
./acore.sh service-manager✅ 验证:authserver 监听 3724 端口、worldserver 监听 8085 端口。⚠️ 首次启动前,先确认conf/下生成的配置文件里数据库地址与密码正确。
进阶玩法
开发属于自己的模块
在仓库根目录执行modules/create_module.sh,脚本会为你生成一个带独立 Git 历史的模块骨架,放到modules/下即可被 CMake 自动识别并参与编译。模块之间互不干扰,不需要时可在配置阶段用-DDISABLED_AC_MODULES="模块名"跳过。完整写法见 modules/how_to_make_a_module.md。如果你要改的是玩法逻辑而非扩展新能力,内容脚本位于src/server/scripts/,按区域和职业分类存放。
数据定制与性能调优
自定义数据放data/sql/custom/(该目录已被 git 忽略,不会污染仓库),正式升级则提交到data/sql/updates/由升级器按序执行。配置项的取舍规则参考 doc/ConfigPolicy.md,日志级别调整看 doc/Logging.md。性能方面,apps/grafana/自带四套现成监控面板(通用、地图、网络、性能剖析),导入 Grafana 即可观测;若卡顿发生在寻路阶段,可用src/tools/mmaps_generator重新生成碰撞网格数据。
生态工具箱
- Keira3:跨平台图形化数据库编辑器,可视化修改任务、物品、NPC,适合不想手写 SQL 的内容策划。
- mod-transmog:为 3.3.5a 补上幻化(换装备外观)功能的社区模块,适合想提升玩家留存的服务端。
- AzerothCore 官方 Wiki:部署教程与开发规范的汇总入口,遇到问题先查它。
常见问题
- 现象:配置阶段 CMake 直接报版本错误。原因:系统 CMake 低于 3.16。解法:用包管理器升级到 3.16–3.22 区间后重新配置。
- 现象:执行
setup-db时连接数据库失败。原因:MySQL 服务未启动,或配置文件里地址、密码写错。解法:先确认数据库服务在运行,再核对conf/下的连接参数。 - 现象:编译中途报"找不到头文件"。原因:缺少操作系统级开发依赖(如 MySQL 开发库)。解法:补跑一次
./install.sh,让脚本自动检测安装。
想继续深入,可以从 doc/changelog/master.md 了解最近改了什么,或阅读e2e/下的端到端测试套件,用它验证你本地的服务端行为是否符合预期;遇到更具体的问题,官方 Wiki 与社区论坛是第一站。
【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考