资讯动态

一条命令拉起魔兽世界私服:AzerothCore-WoTLK Docker 容器化完整指南

发布时间:2026/9/19 12:52:13 来源:尧图企业网站定制
一条命令拉起魔兽世界私服AzerothCore-WoTLK Docker 容器化完整指南【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk敲下docker compose up -d回车魔兽世界私服 Docker 部署的服务栈就在你机器上跑起来了——数据库、账号认证、世界服全部就位。本文以 AzerothCore-WoTLK 为例给出一条 docker compose 私服一键搭建的完整路线从裸环境到能用管理员账号登录一共 5 个里程碑每步一条主命令。读完你能得到什么在一台装好 Docker 的机器上可重复地拉起 AzerothCore-WoTLK 完整服务端数据库、认证服、世界服、数据初始化。拿到 5 个可验证的里程碑构建镜像、拉起栈、建账号、健康检查、改端口每步都有怎么算成功的判断标准。带走一张运维速查卡和一份按现象组织的故障排查手册覆盖日常看状态、追日志、备份、端口冲突这些高频场景。适合本地试玩、小型私服、以及想搞清楚 MMO 服务端由哪些组件组成的读者。环境自检动手前对照这张表项目要求验证命令Docker Engine≥ 20.10docker --versionDocker Composev2docker compose子命令形式docker compose versionbuildxDocker Desktop 自带Linux 需随 Docker 安装docker buildx version源码已克隆到本地并进入根目录ls docker-compose.yml源码克隆命令仓库地址仅此一处出现git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk全部通过后就可以开始。以下命令都假设你当前就在仓库根目录所有服务编排都写在 docker-compose.yml 里。里程碑一构建镜像docker compose build 完成核心编译操作。执行docker compose build这条命令会按 apps/docker/Dockerfile 的多阶段流程把 authserver、worldserver、dbimport 等目标一次性编译进镜像。验证。构建输出以成功标签各镜像收尾形如Successfully tagged acore/ac-wotlk-worldserver:master或者docker images | grep acore能看到 authserver、worldserver、db-import 等镜像即成功。原因。首次构建要下载依赖并编译整个 C 核心约 30–60 分钟取决于网络和 CPU后续构建命中缓存会快很多。把编译这件事一次性做完后面所有操作就只剩编排不再碰编译。里程碑二服务栈一键拉起命令与五个容器的职责操作。构建完成后启动整个栈docker compose up -d各容器分工与依赖关系如下与 docker-compose.yml 实际定义一致容器职责依赖ac-databaseMySQL 8.4存放账号/角色/世界三套数据库无ac-client-data-init处理客户端数据产出数据卷无ac-db-import导入并初始化数据库ac-database健康ac-authserver账号认证服务3724 端口数据库健康 db-import 完成ac-worldserver游戏世界逻辑8085、7878 端口数据库健康 db-import 完成 客户端数据完成验证。等几分钟再执行docker compose psac-db-import与ac-client-data-init是跑完即退出的任务型容器状态为 Exit 0 即成功ac-database、ac-authserver、ac-worldserver显示 Up 即栈已就绪。原因。compose 文件里写的是依赖条件健康检查通过、前置任务退出码为 0而不是简单的启动顺序容器会自己排队不需要你手动一个个拉起。里程碑三attach 控制台创建管理员账号含安全退出方式操作。attach 控制台 钻进容器里直接跟进程对话。执行docker compose attach ac-worldserver进入控制台后输入AC account create admin password 3 -1退出时先按CtrlP再按CtrlQ回到宿主机。不要用CtrlC那会直接把容器里的进程杀掉。验证。命令执行后控制台返回成功提示此后用 admin / password 即可登录游戏。原因。账号写入数据库是一次性操作做完就可以随时离开控制台不影响服务运行。更多安装细节可参考仓库自带的 apps/docker/README.md。里程碑四健康检查ps 与 logs 两个证据命令操作。两个命令交叉验证docker compose ps docker compose logs -f ac-worldserver-f表示持续跟踪输出随时CtrlC停止跟踪即可跟踪日志按CtrlC是安全的它只退出查看不杀容器。验证。跑通了的标准ps中核心服务全部 Upworldserver日志滚动到加载地图、监听端口且没有成片的 ERROR。满足这两点可以判定栈已正常工作。原因。状态表证明活着日志证明活着且在正常工作两者缺一不可这也是以后每次重启后该做的第一件事。里程碑五端口占用与启动缓慢的快速应对操作。端口冲突是最常见的第一道坎。所有对外端口都由环境变量控制不需要改 compose 文件。比如 MySQL 的 3306 被占DOCKER_DB_EXTERNAL_PORT3307 docker compose up -d同理还有DOCKER_AUTH_EXTERNAL_PORT默认 3724和DOCKER_WORLD_EXTERNAL_PORT默认 8085。想固定下来也可以写进根目录的.env文件每次启动自动生效echo DOCKER_DB_EXTERNAL_PORT3307 .env docker compose up -d验证。docker compose ps里对应容器的端口列显示为新值如3307-3306即改端口成功。原因。compose 里所有端口和卷名都带默认值占位符改行为靠注入变量而不是改文件。首次启动看起来卡住时也别急数据库导入和客户端数据下载本来就慢先用docker compose ps确认是哪个容器在干活再决定是否干预。运维速查卡日常操作一张表场景命令查看全部服务状态docker compose ps实时跟踪世界服日志docker compose logs -f ac-worldserver实时跟踪认证服日志docker compose logs -f ac-authserver备份游戏数据的单行命令docker compose exec ac-database mysqldump -u root -ppassword acore_world world_backup.sql改 MySQL 对外端口DOCKER_DB_EXTERNAL_PORT3307 docker compose up -d停止 / 重新启动docker compose stop/docker compose up -dexec表示进容器里临时执行一条命令这里用来跑mysqldump导出世界库密码password是 compose 文件的默认 root 密码。故障排查按现象对号入座现象容器反复 Restarting日志提示端口被占用原因宿主机 3306 / 3724 / 8085 已有其他程序监听。命令用对应变量换端口后重拉如DOCKER_WORLD_EXTERNAL_PORT8086 docker compose up -d。现象ac-worldserver 起不来日志报连不上数据库原因ac-db-import还没跑完世界库尚未导入。命令docker compose logs ac-db-import看导入进度等它 Exit 0 后 worldserver 会自动接上。现象首次启动长时间停在下载或导入阶段原因第一次运行要下载客户端数据并导入完整数据库耗时属正常现象。命令docker compose ps确认对应容器仍在运行没有异常报错就继续等。现象误按 CtrlC 后服务停了原因attach 状态下CtrlC会终止容器内进程退出应使用CtrlPCtrlQ。命令docker compose up -d重新拉起即可。进阶用 --profile dev 开启开发环境与热更新准备改代码比如写自定义脚本时仓库内置了开发环境docker compose --profile dev up -d它会启动ac-dev-server把仓库源码目录直接挂进容器配合 Dockerfile.dev-server 里的 ccache 与构建缓存。改完代码后增量重建docker compose exec ac-dev-server cmake --build /azerothcore/var/build验证信号构建输出成功且/azerothcore/var/build下产物时间戳更新。为什么这么做dev 环境复用缓存做增量编译比每次重新docker compose build镜像快得多适合高频迭代。注意它要求 Linux / WSL2 或兼容 ext 的文件系统否则挂载性能差。结语从裸环境到管理员可登录本质就是一条主线build 出镜像up 起服务栈attach 建账号ps 加 logs 收证据剩下的交给环境变量。下一步把你的客户端指向本机 3724 端口用 admin / password 登录——你的 AzerothCore-WoTLK 私服此刻已经在线。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价