ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

30 分钟跑通 AzerothCore-WoTLK:Docker 部署实战

30 分钟跑通 AzerothCore-WoTLK:Docker 部署实战 30 分钟跑通 AzerothCore-WoTLKDocker 部署实战【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlkAzerothCore-WoTLK 是完整开源的魔兽世界 WotLK3.3.5MMO 服务器核心用 Docker 部署 azerothcore-wotlk 时一条 docker compose 命令即可拉起数据库、认证与世界三组服务。适合需要快速搭建可登录私服环境、或计划二次开发 MMO 服务器逻辑的运维与开发者全程无需在本机安装任何编译依赖。整体架构速览根目录 docker-compose.yml 在 ac-network 网络中编排全部服务玩家侧的数据流只有一条客户端 → ac-authserver3724→ ac-worldserver8085→ 读写 ac-database3306服务容器名对外端口职责数据库ac-database3306MySQL 8.4存放 acore_auth / acore_world / acore_characters 三个库数据库导入ac-db-import—一次性服务导入全部基础数据后退出客户端数据ac-client-data-init—一次性服务抽取客户端数据到共享卷认证服务器ac-authserver3724处理玩家登录认证只依赖 acore_auth 库世界服务器ac-worldserver8085SOAP 7878运行世界逻辑只读挂载客户端数据卷两个一次性服务 db-import 与 client-data-init 先运行、完成后退出其余服务通过 depends_on 等待数据库健康检查与导入完成才启动。ac-tools地图提取与 ac-dev-server开发分别挂在 tools / dev profile 后默认不启动。部署流水线从拉取代码到管理员账号四步操作链拉代码 → 构建 → 启动 → 初始化账号。步骤一拉取代码git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk仓库根目录自带部署所需的 docker-compose.yml 与 apps/docker/Dockerfile无需改动。步骤二构建镜像docker compose build 首次构建会在容器内编译全部源码ccache 加速约 30–60 分钟后续构建走缓存会快很多。同一份 Dockerfile 按 target 产出 db-import、worldserver、authserver、client-data、tools 多张镜像一次 build 覆盖全部服务。步骤三启动服务docker compose up -d首次启动容器按依赖顺序依次运行ac-database 启动并执行健康检查每 5 秒探测一次 SHOW DATABASESac-db-import 在数据库健康后导入三个库完成后退出ac-client-data-init 下载并抽取客户端数据到 ac-client-data 卷ac-authserver 与 ac-worldserver 等待导入完成才启动worldserver 只读挂载客户端数据卷 首次启动含数据库导入过程耗时偏长用docker compose ps观察所有服务进入 running 即可。步骤四初始化管理员账号docker compose attach ac-worldserver AC account create admin password 3 -1 创建账号后用 CtrlP 再按 CtrlQ 退出控制台直接 CtrlC 会终止 worldserver 容器。服务端口与关键参数速查所有对外端口与凭据都走带默认值的环境变量不需要改任何配置文件环境变量默认值作用DOCKER_AUTH_EXTERNAL_PORT3724认证服务器对外映射端口DOCKER_WORLD_EXTERNAL_PORT8085世界服务器对外映射端口DOCKER_SOAP_EXTERNAL_PORT7878世界服务器 SOAP 端口DOCKER_DB_EXTERNAL_PORT3306数据库对外映射端口DOCKER_DB_ROOT_PASSWORDpasswordMySQL root 密码DOCKER_USER_ID / DOCKER_GROUP_ID1000容器内服务进程 UID/GID配置与日志由容器写入宿主机的 ./env/dist/etc 与 ./env/dist/logsDOCKER_VOL_ETC / DOCKER_VOL_LOGS 默认值在宿主机修改保存即可。日志监控与服务启停日志与状态docker compose logs -f ac-worldserver docker compose ps启停docker compose down docker compose down -vdown停止并删除容器保留 ac-database、ac-client-data 命名卷数据不丢down -v额外删除命名卷所有游戏数据清空用于完全重置只重启单个服务用docker compose restart ac-worldserver端口冲突与数据备份本机 3306 被占用时在 up 时用内联环境变量覆盖端口DOCKER_DB_EXTERNAL_PORT3307 docker compose up -d同样的手法适用于 DOCKER_AUTH_EXTERNAL_PORT 与 DOCKER_WORLD_EXTERNAL_PORT。备份单个库docker compose exec ac-database \ mysqldump -u root -p$DOCKER_DB_ROOT_PASSWORD acore_world backup.sql恢复时反向执行在容器内mysql -u root -p acore_world backup.sql。开发环境docker compose --profile dev up -d启动 ac-dev-server仓库被绑定挂载进容器源码改动后在容器内重新编译即可生效。建议使用 Linux / WSL2 等 ext 兼容文件系统。部署完成后的下一步至此 ac-database、ac-authserver、ac-worldserver 全部运行、admin 账号可用服务器已经就绪。下一步把客户端服务器地址指向本机 IP用 admin 登录验证世界加载需要调参时编辑宿主机 env/dist/etc/worldserver.conf重启服务后生效。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表