AzerothCore Docker 部署:15 分钟跑通 WoTLK 服务端
2026/9/19 21:51:54 网站建设 项目流程

AzerothCore Docker 部署:15 分钟跑通 WoTLK 服务端

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

手动编译三小时,卡在链接错误;换台机器,依赖又不一致。AzerothCore Docker 部署把这些差异封进容器,15 分钟后你就能用 WoTLK 客户端登录自建服务器。

前置准备:环境与资源清单

AzerothCore 容器化搭建对宿主机的要求集中在 Docker 本身,逐项确认即可:

  • Docker Engine ≥ 20.x,已安装docker compose v2插件与 buildx 构建器(Docker Desktop 自带,Linux 需自行安装)
  • 可用磁盘 ≥ 4GB:镜像、数据库卷与客户端数据卷都会落盘
  • 内存 ≥ 8GB(建议值):构建阶段会下载依赖并编译完整服务端源码
  • 可正常访问仓库:https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk

安装是否就位,两条命令可以验证:

docker --version # 查看 Docker 引擎版本 docker compose version # 确认 compose v2 与 buildx 就绪

磁盘与内存给宽裕一些更稳妥:构建与数据库导入两个阶段都会持续大量读写文件,仓库克隆后本身占用有限,真正吃磁盘的是镜像与数据卷。

Docker Compose 部署流程

以下流程对应 docker compose 部署魔兽世界服务端的标准路径,compose 文件已内置配置生成与服务依赖编排,全程不需要手工准备任何配置文件。

获取源码

git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk

后续所有命令都在仓库根目录执行,docker-compose.yml与镜像定义文件apps/docker/Dockerfile都从这里被引用。

一键构建容器镜像

docker compose build

首次构建约30-60 分钟,时间主要花在下载依赖与容器内编译服务端源码上。每个构建层都会进入 Docker 缓存,之后只修改少量代码再构建,耗时通常只有几分钟。

启动服务集群

docker compose up -d

-d参数让所有服务在后台运行,终端立即返回。启动顺序由 compose 文件约束:数据库健康检查通过后,先由一次性容器完成数据库导入,导入成功 worldserver 与 authserver 才会拉起,所以首次up需要多等几分钟。想跳过单独的构建步骤,也可以用docker compose up -d --build一条命令完成构建与启动。

💡 如果3306 端口被占用,在启动命令前内联环境变量即可,例如DOCKER_DB_EXTERNAL_PORT=3307 docker compose up -d,不用改动仓库里的任何文件。

服务拓扑与端口速查

数据库、认证、世界三个服务长期运行,另有两个一次性容器负责初始化,核心端口如下:

服务端口映射职责
ac-database3306:3306MySQL 8.4,存储 auth、world、characters 三个库
ac-authserver3724:3724账号认证,客户端登录的第一道入口
ac-worldserver8085:8085(另映射 7878)游戏世界逻辑,承载玩家在线会话

客户端连接时只需要 3724 与 8085 两个端口,三个常驻服务全部就位就是一台可登录的 WoTLK 私服。另外两个一次性容器是ac-db-import(首次导入 SQL)与ac-client-data-init(初始化客户端数据卷),执行完成后自动退出。如果端口被占用,compose 文件已为每个对外端口预留了环境变量,在启动命令前内联传入即可:

DOCKER_DB_EXTERNAL_PORT=3307 DOCKER_AUTH_EXTERNAL_PORT=3725 docker compose up -d

首次登录:管理员账号初始化

服务全部就绪后,还需要一个管理员账号才能用客户端登录世界。用 attach 直接进入 worldserver 的交互式控制台:

docker compose attach ac-worldserver

AC>控制台是所有管理指令的入口,后续调整 GM、重置角色也都从这里执行。提示符出现后运行:

AC> account create admin password 3 -1

参数依次为账号名 admin、密码 password、GM 等级 3(管理员),-1 表示不启用经验倍率。

⚠️注意:退出控制台请按Ctrl+P 再按 Ctrl+Q,不要按 Ctrl+C——后者会向 worldserver 发送终止信号,进程退出后容器随即结束。

回到终端后,拉取最近日志确认服务加载完成:

docker compose logs ac-worldserver --tail 20

日常运维命令集

监控

docker compose ps # 查看所有服务运行状态 docker compose logs -f ac-worldserver # 实时跟踪 worldserver 日志 docker compose logs -f ac-authserver # 实时跟踪认证服务日志

状态列应全部为running,两个一次性容器显示exited (0)属正常。-f参数让日志持续跟随,按 Ctrl+C 退出的只是日志流,不会停止服务。

启停

docker compose down # 停止并移除容器,数据卷保留 docker compose up -d # 重新启动全部服务 docker compose down -v # 连数据卷一起删除,数据库将被清空

down -v等价于一次完整的环境重置,反复测试时很方便;正式环境执行前请先备份数据库。

备份

docker compose exec ac-database mysqldump -u root -ppassword acore_world > backup.sql

root 密码取 compose 文件中的默认值password,world 库包含角色、公会等核心数据,建议每周定期执行一次,并保留最近两份副本。

进阶:开发模式

docker compose --profile dev up -d

devprofile 启动的是开发用容器:它把宿主机上的仓库源码直接挂载进容器并就地编译,修改代码后重新编译即可生效。建议搭配 Linux 或 WSL2 等 ext 兼容文件系统,避免网络文件系统拖慢编译。更多说明见 apps/docker/README.md。

至此,你的 WoTLK 服务端已在容器内稳定运行。下一步可以从自定义模块开发或性能调优入手。

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

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

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

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

立即咨询