AzerothCore WotLK 服务端完整指南:如何搭建你的魔兽3.3.5a私有服务器
【免费下载链接】azerothcore-wotlk Complete Open Source and Modular solution for MMO 项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
AzerothCore 是一款面向魔兽争霸3 3.3.5a(WotLK 怀旧版)玩家与服务端开发者的开源 MMORPG 服务端模拟器,核心用 C++ 编写、依赖 MySQL 数据库。典型场景是:你克隆仓库、导入数据库、启动 authserver 和 worldserver,然后用旧版客户端连上自己的世界。
🎯 为什么选它
- 完整还原 WotLK 3.3.5a 版本,AGENTS.md 明确声明服务端目标版本
- 模块化设计:modules/ 下每个功能独立目录,可用 CMake 参数整体禁用
- 数据齐全:data/sql/ 内含 base 基线、updates 增量与 custom 自定义三类 SQL
- Docker 一键部署:apps/docker/ 提供完整镜像,免去手动装依赖
- 自带监控面板:apps/grafana/ 内置性能、地图、网络三组仪表盘
🗺️ 能力地图
按使用目标把功能分成两组,先看哪些能力对应你的需求。
服务端运行能力
| authserver(3724 端口) | 处理账号登录验证 | 客户端连接入口 |
| worldserver(8085 端口) | 承载角色、地图、战斗逻辑 | 游戏主进程 |
| 数据库初始化 | 导入 base/updates 建表 | 首次部署 |
| 启动脚本 | 由 apps/startup-scripts/ 管理双进程 | 长期挂机的私服 |
| Grafana 仪表盘 | 监控性能剖析与地图负载 | 多人在线运维 |
内容与工具开发能力
| 区域脚本 | src/server/scripts/ 按东部王国、诺森德等分区组织 | 修改副本与任务逻辑 |
| 模块开发 | 独立子项目可编译进服务端 | 开发自定义玩法 |
| SQL 增量更新 | 新改动写入 pending 目录后合入 | 内容热更新 |
| e2e 测试 | e2e/ 用 Go 写真实客户端测试 | 验证战斗、任务改动 |
| 依赖内置 | deps/ 内置 zlib、openssl 等第三方库 | 离线构建 |
🏗️ 从零跑通
环境要求
| 操作系统 | Linux / macOS | Ubuntu 22.04 LTS |
| CMake | 3.x | 3.20+ |
| 编译器 | 支持 C++17 的 GCC/Clang | GCC 11 / Clang 14 |
| 数据库 | MySQL 或 MariaDB | MariaDB 10.6 |
| 内存 | 4GB | 8GB |
| 磁盘 | 10GB 可用 | 20GB SSD |
构建步骤
git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
cd azerothcore-wotlk
bash ./acore.sh
docker compose build
docker compose up -d
AC> account create admin password 3 -1
生效验证
- 终端看到 worldserver 完成地图加载、无 FATAL 日志,即启动成功
- ss -lntp 能看到 3724 与 8085 两个端口在监听
- 用 3.3.5a 客户端输入新账号密码能进入游戏并看到角色名
🎮 场景实战
搭建私人测试服
适合想验证客户端连接、体验原版世界的玩家。
- 先用 Docker 路线减少环境坑,首次建库耗时较长属正常现象
- 账号等级参数 -1 表示满级,方便直接体验后期内容
- worldserver 启动日志出现地图(Map)加载列表后再连客户端,否则连接会被拒绝
- 客户端必须是 3.3.5a 版本,高版本进不了这个服务端
接入 Grafana 监控
适合多人在线后关心性能瓶颈的服主。
- 复制 apps/grafana/ 下的 JSON 模板到 Grafana 创建仪表盘
- 优先看 4_Performance_profiling.json,先定位 CPU 热点
- 2_Maps.json 按地图聚合负载,判断是否需要拆分副本
- 面板数据依赖服务端指标输出,先在 doc/Logging.md 中确认日志级别够用
跑 e2e 端到端测试
适合修改过战斗或任务代码的开发者。
- 测试代码在 e2e/ 下,按 combat、quests、social 等目录分组
- 先阅读 e2e/README.md 了解 Go 测试框架的启动方式
- 测试会真实连接运行中的服务端,确保数据库与 worldserver 已启动
- 单个用例失败先看服务端日志,再怀疑测试脚本本身
⚠️ 避坑速查
编译报错且提示 C++ 版本过低? 服务端需要 C++17,升级编译器或在 CMake 中确认标准。
3724 或 8085 端口被占用? 先停掉其他进程,或在 worldserver.conf 中改用其他端口。
登录报账号不存在? 确认执行过 account create,且数据库用户权限覆盖三个库(auth、characters、world)。
首次启动特别慢? 数据库导入与地图 vmap 加载耗时正常,第二次启动会快很多。
Docker 构建一直失败? 检查是否装了 docker buildx,构建命令是 docker compose build 而非 docker build。
🔍 深入仓库
- src/server/game/:核心玩法逻辑,编译进 worldserver
- src/server/scripts/:按区域与职业划分的内容脚本
- data/sql/updates/:已合入与待合入(pending)的 SQL 更新
- deps/:内置的第三方依赖源码
文档入口:doc/Logging.md 讲解日志系统,doc/ConfigPolicy.md 说明配置策略。
Docker 部署细节见 apps/docker/ 目录中的说明文件。
整体来看,AzerothCore 把 WotLK 私有服所需的代码、数据和工具放在同一仓库,搭建门槛主要在数据库与编译环境两处。 本文基于仓库公开资料整理,仅供学习交流,使用请遵守当地法律法规与软件许可协议。
【免费下载链接】azerothcore-wotlk Complete Open Source and Modular solution for MMO 项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






