AzerothCore-WoTLK Docker 部署指南:三步搭起你的 WoTLK 私服
【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
本文以 AzerothCore-WoTLK 为例,完成魔兽世界 MMO 服务器的 Docker 容器化部署全流程:构建镜像、启动三服务、创建管理员账号,直到日常运维。读完你可以在自己机器上完整复现这套流程。
动手前——环境前置检查
先确认两件事:Docker 已安装且 Docker Compose(v2)与 buildx 可用,官方 Docker Desktop 全部自带,Linux 下用发行版包管理器装齐即可。其次是磁盘空间,构建缓存、编译产物和数据卷大约需要 10GB 起步,留足余量。
环境就绪后,拉取代码并进入目录:
git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk三步跑起来——构建镜像与启动服务
第一步构建镜像。这条命令会分层下载依赖、编译 C++ 源码,产出数据库、认证、世界等多张服务镜像。首次构建可能要 30 分钟到一小时,放着不管即可,后续构建有层缓存,速度会快很多。
docker compose build第二步后台启动。首次启动时,一次性的数据库导入容器会先把基础数据灌进 MySQL,待健康检查与导入都通过后,authserver 和 worldserver 才依次拉起。整套流程由依赖关系自动编排,不用你去记启动顺序。
docker compose up -d容器里到底在跑什么——三个服务一张表看清
| 服务名 | 职责 | 端口 | 关键特点 |
|---|---|---|---|
| ac-database | 存储认证、角色、世界三库 | 3306 | 命名卷持久化,自带健康检查 |
| ac-authserver | 处理玩家登录认证 | 3724 | 等数据库健康且导入完成后才启动 |
| ac-worldserver | 运行游戏核心逻辑 | 8085 | 多线程,可 attach 控制台交互 |
三者由docker-compose.yml编排在同一内网,启动依赖通过depends_on控制。要改端口或环境变量,别动主文件,统一写进conf/dist/docker-compose.override.yml。
首次登录——创建管理员账号进入游戏
服务全部健康后,attach 到 worldserver 控制台,再在AC>提示符下创建 3 级 GM 的管理员账号:
docker compose attach ac-worldserver AC> account create admin password 3 -1⚠️ 操作结束后用 Ctrl+P 再按 Ctrl+Q 退出控制台,不要直接 Ctrl+C,那会向进程发终止信号,把服务带崩。
日常运维速查——日志、备份、端口、一键重置
日常高频操作就这五条命令:
docker compose logs -f ac-worldserver docker compose ps docker compose down docker compose down -v docker compose exec ac-database mysqldump -u root -ppassword acore_world > backup.sql逐行说明:
- 第一条:实时盯 worldserver 日志,服务名换成 ac-authserver 即可看别的
- 第二条:查看所有容器健康状态
- 第三条:优雅停机,数据保留
- 第四条:完全重置,连数据卷一起删除
- 最后一条:备份世界库(密码默认 password,改过需同步修改)
端口和本地服务冲突时,启动前覆盖对应变量即可,例如DOCKER_DB_EXTERNAL_PORT=3307 docker compose up -d;认证与世界端口同理,由DOCKER_AUTH_EXTERNAL_PORT和DOCKER_WORLD_EXTERNAL_PORT控制。
开发者专属——热更新环境一条命令开启
docker compose --profile dev up -d这会启用 dev 画像,启动 ac-dev-server 容器,把宿主机代码目录挂载进去,ccache 与编译产物放在独立卷里。改完源码重新编译,直接在容器里验证,省掉整条镜像构建流程。对应构建定义见apps/docker/Dockerfile.dev-server,该模式在 Linux 或 WSL2 上体验最好,其他文件系统 IO 性能下降明显。
回头看整个过程:首构建完成之后,环境重置只剩一条 up 命令,数据重置只剩一条 down -v 命令。过去需要数小时手工部署的 WoTLK 服务器搭建,如今是一次分钟级的 AzerothCore 一键部署。这就是容器化给 MMO 服务器运维带来的实际变化。
【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考