AzerothCore WoTLK Docker部署完整教程:如何用Docker Compose快速启动三服务集群
2026/9/19 12:32:53 网站建设 项目流程

AzerothCore WoTLK Docker部署完整教程:如何用Docker Compose快速启动三服务集群

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

本文教你用几条 Docker Compose 命令部署并启动一套完整的 AzerothCore WoTLK 服务器集群:数据库、认证、世界三个服务全部跑在容器里,之后即可创建管理员账号登录游戏。唯一前置条件是本地装好 Docker,服务组合与端口映射都定义在仓库的 docker-compose.yml 中。时间预期:首次构建镜像通常需要 30–60 分钟(要下载依赖并编译源码),之后的启动与重置只需几分钟。

先认识三个服务

如果直接在宿主机安装,需要自行处理 MySQL 版本与 C++ 编译环境;容器化的好处是三个服务都封装为现成镜像,版本固定,环境弄脏了用一条命令就能重置。三个服务及其验证方式如下:

容器名默认端口职责验证方式
ac-database3306MySQL 数据库,存储账号、角色与世界数据docker compose ps显示 running
ac-authserver3724账号认证,校验玩家登录日志无致命错误,3724 端口在监听
ac-worldserver8085世界服务,加载世界数据并运行游戏逻辑日志显示加载完成,8085 端口在监听

部署实操

1. 克隆代码

先克隆仓库并进入目录,确认目录里能看到docker-compose.yml

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

2. 构建镜像

首次构建会下载依赖并编译源码,通常 30–60 分钟;后续构建复用缓存,速度明显变快:

docker compose build

3. 启动服务

服务在后台启动,跑docker compose ps应看到三个容器均为 running:

docker compose up -d

验证服务并创建管理员账号

先执行docker compose ps确认三个服务都在运行,再用docker compose logs -f ac-worldserver观察世界服务器日志,确认没有报错、端口已开始监听。

然后进入世界服务器控制台:

docker compose attach ac-worldserver

在控制台输入下面这条命令创建管理员账号(等级 3):

AC> account create admin password 3 -1

⚠️ 退出控制台要按Ctrl+P 再按 Ctrl+Q;直接按 Ctrl+C 会终止整个服务。

日常运维

查看日志与状态

第一条实时跟踪世界服务器输出,便于排查问题;第二条随时确认容器状态:

docker compose logs -f ac-worldserver docker compose ps

停止服务与重置数据

down只停服务,数据保留在卷中;down -v会连带删除全部数据,且不可恢复:

docker compose down docker compose down -v

修改数据库外部端口

外部 3306 被占用时,用环境变量修改数据库对外端口,例如改为 3307:

DOCKER_DB_EXTERNAL_PORT=3307 docker compose up -d

备份世界数据库

把世界数据导出为本地 SQL 文件,方便存档或迁移到别的机器:

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

启动开发环境

开发环境支持热更新:修改源码并重新编译后立即生效,无需重建镜像。开发镜像的定义在 apps/docker/ 目录:

docker compose --profile dev up -d

常见问题

问:端口被占用了怎么办?答:通过环境变量改。数据库用DOCKER_DB_EXTERNAL_PORT=3307 docker compose up -d即可;认证与世界的端口同理,改完用docker compose ps确认新端口。

问:首次构建很慢,正常吗?答:正常。第一次要下载依赖并编译全部源码,通常 30–60 分钟;后续构建复用缓存,速度会明显变快。

问:什么情况下会丢数据?答:数据默认持久化。down只停服务,数据保留;只有执行down -v才会删除卷和全部数据。

问:按了 Ctrl+C 后服务就没了,怎么回事?答:控制台里的 Ctrl+C 会直接终止服务进程。正确做法是先按 Ctrl+P,再按 Ctrl+Q 退出控制台,这样不会影响服务。

这套部署方式适合想快速把 AzerothCore WoTLK 服务器跑起来、研究服务端逻辑或做二次开发的人;熟悉基本操作后,可以进一步接触自定义模块开发与性能调优。

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

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

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

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

立即咨询