3 条命令跑起完整魔兽世界私服:AzerothCore-WoTLK Docker 部署实战
【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
3 条命令,一个完整的魔兽世界 3.3.5(WoTLK)服务器就能跑起来:MySQL 数据库、负责玩家登录的认证服务、承载游戏逻辑的世界服务器,全部就绪。这篇文章用项目自带的 docker-compose 配置完成 AzerothCore-WoTLK 的 Docker 部署——它是一个开源的 MMO 服务器框架,无需手动装依赖、手动编译、手动导库,容器会替你把这些全部做完。
动手前的准备清单
开始之前,对照下表自检,三项都满足即可开工:
| 项目 | 要求 | 说明 |
|---|---|---|
| Docker 环境 | Docker + compose v2 + buildx | Docker Desktop 已捆绑三者;Linux 可通过发行版包管理器安装 |
| 磁盘与网络 | 可容纳源码编译与镜像的可用空间 | 首次构建会从头编译整套源码,并拉取 MySQL 8.4 基础镜像 |
| 代码获取 | 仓库克隆到本地 | 克隆地址:https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk |
前置条件详见 apps/docker/README.md,遇到报错先回查这一节。
部署 3 步启动服务
第 1 步:克隆代码
git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk克隆完成后,部署所需的关键文件是根目录的docker-compose.yml和apps/docker/Dockerfile,剩下的工作交给 Docker。
第 2 步:构建镜像
docker compose build💡 首次构建约 30~60 分钟,需要拉取依赖并从头编译全部源码;后续构建走缓存,会明显更快。如果想跳过单独构建直接启动,用
docker compose up -d --build一步完成。
第 3 步:启动服务
docker compose up -d首次启动会触发数据库导入(ac-db-import容器),需要再多等几分钟。用docker compose ps查看状态,数据库健康、认证与世界的容器均处于运行状态,即部署完成。
服务构成速览
compose 文件中定义了 3 个长期运行的服务,其余是一次性容器,完成后自动退出:
| 服务名 | 职责 | 对外端口 | 特点 |
|---|---|---|---|
| ac-database | MySQL 8.4,存储 acore_auth / acore_world / acore_characters 三个库 | 3306 | 数据卷持久化,内置健康检查 |
| ac-authserver | 处理玩家登录认证 | 3724 | 只依赖数据库,最先就绪 |
| ac-worldserver | 运行游戏核心逻辑 | 8085 | 另开放 7878 供 SOAP 外部服务调用 |
三者均配置了restart: unless-stopped,宿主机重启后容器会自动拉起。
首次启动必做:创建管理员账号
服务器跑起来后还无法登录,需要进入世界服务器控制台创建账号:
docker compose attach ac-worldserver AC> account create admin password 3 -1其中admin是账号名,password是初始密码,3表示管理员安全等级,登录进游戏后应尽快修改。
⚠️ 退出控制台请先按 Ctrl+P,再按 Ctrl+Q。直接按 Ctrl+C 会终止服务而不是分离终端。
高频问题速查
- 端口冲突怎么办?用环境变量覆盖端口映射,例如
DOCKER_DB_EXTERNAL_PORT=3307 docker compose up -d,认证端口同理可用DOCKER_AUTH_EXTERNAL_PORT修改 - 怎么看日志?
docker compose logs -f ac-worldserver实时跟踪世界服务器输出 - 怎么备份数据?
docker compose exec ac-database mysqldump -u root -ppassword acore_world > backup.sql - 怎么重置环境?
docker compose down -v删除容器与数据卷;注意这会清空玩家数据,执行前请先备份
可覆盖的完整变量清单见 conf/dist/env.docker。官方建议把修改写进docker-compose.override.yml,不要直接改docker-compose.yml。
进阶选读:面向开发者的 dev profile
计划做二次开发时,可以启用项目内置的开发环境:
docker compose --profile dev up -d它会启动ac-dev-server,把本地源码目录挂载进容器,改完源码在容器内重新编译即可验证。官方文档建议配合 Linux 或 WSL2 使用,避免非扩展属性文件系统带来的性能损耗;纯运行环境无需启用。
小结
3 条命令、几十分钟的等待,一次可重置、可备份的 WoTLK 服务器搭建就完成了。想做扩展的话,可以从 modules/how_to_make_a_module.md 开始动手。
【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考