ARTICLE DETAIL

资讯详情

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

30 分钟从零跑起来:AzerothCore-WoTLK 容器化部署完整指南

30 分钟从零跑起来:AzerothCore-WoTLK 容器化部署完整指南 30 分钟从零跑起来AzerothCore-WoTLK 容器化部署完整指南【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk想在自己的机器上拉起一个 WoTLK 世界却不想被一堆依赖折磨把 AzerothCore-WoTLK 的搭建交给 Docker整个流程基本就是三条命令的事。所谓容器化部署就是像海运集装箱那样把应用、依赖、运行环境一起装箱——箱子到哪都能开行为处处一致。本文带你用 docker compose 完成 AzerothCore-WoTLK 搭建从拉代码、构建镜像到启动集群、建管理员账号再到备份恢复与开发模式一次讲透。 开工前先认脸集群里有谁启动前把四个核心角色看一遍后面排查问题全靠这张表组件职责默认对外端口注意事项ac-databaseMySQL 8.4存放账号、角色、世界三大库所有持久化数据都在这3306数据写在ac-database卷里容器删了数据还在可用DOCKER_DB_EXTERNAL_PORT改端口ac-authserver认证服务器处理登录请求与身份验证3724密码加密存储端口可用DOCKER_AUTH_EXTERNAL_PORT改ac-worldserver世界服务器跑游戏世界逻辑与玩家交互8085多线程处理内存建议至少 4GB另有 SOAP 接口端口 7878ac-db-import一次性任务首次启动时把data/sql里的 SQL 导入数据库无跑完自动退出首次up会比较久属正常现象另外还有一个按需启用的ac-dev-server开发模式专用用到再说。 拉代码、造箱子这一步解决什么问题把源码拿下来并把三个服务端镜像编译出来——镜像就是装好货的箱子后续启动全部基于它。git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk docker compose build为什么执行docker compose build它会根据apps/docker/Dockerfile下载依赖、编译 authserver / worldserver / db-import 各镜像。首次构建大约 30–60 分钟去喝杯咖啡回来之后每次构建会快很多。预期看到什么构建日志一路滚到每个 image 构建成功即可。 把箱子拆开启动整个集群这一步解决什么问题让数据库、认证、世界服务按依赖顺序全部跑起来docker compose会先等ac-database健康、ac-db-import跑完才拉起服务端。# 后台启动全部服务 docker compose up -d # 想顺便跳过单独 build 步骤也可以一步到位 docker compose up -d --build预期看到什么docker compose ps里ac-database、ac-authserver、ac-worldserver均为Upac-db-import显示已正常退出Exited (0)这才是健康状态别被它停了吓到。首次up会等数据库导入耗时几分钟很正常。如果 3306 端口被占了在命令前加环境变量即可# 把数据库对外端口改成 3307 再启动 DOCKER_DB_EXTERNAL_PORT3307 docker compose up -d 建第一个管理员账号这一步解决什么问题服务端刚出生没有任何账号你得进世界服务器控制台亲手创建第一个 GM。docker compose attach ac-worldserver进入控制台后输入AC account create admin password 3 -1参数含义用户名admin、密码password、权限等级3GM、扩张包 ID-1不限扩张包。建完用客户端连 8085 端口试试登录。离开控制台有讲究按CtrlP松开后再按CtrlQ退出。直接关终端或CtrlC会把控制台连同服务一起带停前功尽弃。 跑起来之后看状态、翻日志、做备份日常运维其实就三件事# 1. 看谁在跑 docker compose ps # 2. 实时盯世界服务器日志 docker compose logs -f ac-worldserver3. 备份与恢复——把整个世界导出成 SQL再导回去# 备份 db_worldroot 密码默认就是 password docker compose exec ac-database mysqldump -u root -ppassword acore_world backup.sql # 恢复 cat backup.sql | docker compose exec -T ac-database mysql -u root -ppassword acore_world两条顺手的性能建议给ac-worldserver留足内存至少 4GB想加大数据库缓存可在 compose 环境里设置MYSQL_INNODB_BUFFER_POOL_SIZE。日志文件会慢慢膨胀定期清理env/dist/logs目录别让磁盘先于服务器倒下。️ 开发模式代码改了原地重编这一步解决什么问题你要改服务端源码而不是跑成品。dev profile 会把当前源码目录挂载进容器编译产物留在容器卷里。# 启动含开发服务端的集群ac-dev-server docker compose --profile dev up -d # 改完代码后重新编译世界服务器 docker compose exec ac-dev make -j 4 worldserver注意源码挂载对文件系统有要求Linux、WSL2 或 ext 系文件系统体验最好。❓ 端口被占了服务起不来端口冲突不用改配置文件启动时加环境变量覆盖# 认证改 3725、世界改 8086 一起调 DOCKER_AUTH_EXTERNAL_PORT3725 DOCKER_WORLD_EXTERNAL_PORT8086 docker compose up -d服务启动失败时按这个顺序查先看日志定位报错docker compose logs ac-worldserver | grep -i error再确认数据库数据卷是否正常挂载docker volume inspect azerothcore-wotlk_ac-database-data最后检查 Docker 引擎的 CPU/内存配额是否给够了。✅ 现在轮到你动手照着这份清单走一遍30 分钟内你应该能看到自己的 WoTLK 世界跑起来git clone仓库并进入目录docker compose build首次耐心等 30–60 分钟docker compose up -d用docker compose ps确认三个服务Updocker compose attach ac-worldserver创建 GM 账号CtrlPCtrlQ退出客户端连 3724 / 8085 端口登录养成习惯改配置前先跑一次mysqldump备份装好了之后下一步可以去data/sql/目录看看世界数据是怎么组织的或者用--profile dev给自己搭一个能热重编的开发环境——这个容器化部署的游戏服务端从私服到开发环境都能接得住。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表