ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Docker 部署 AzerothCore-WoTLK

Docker 部署 AzerothCore-WoTLK Docker 部署 AzerothCore-WoTLK【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk装好 Docker 后你最终会得到一套完整运行的 AzerothCore 魔兽世界 3.3.5 服务端容器集群数据库、认证、世界服务全部就绪客户端连上localhost:8085就能登录游戏。三步跑通 AzerothCore Docker 服务端# 克隆项目代码 git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk # 构建镜像并启动所有容器首次构建会编译源码耗时较长耐心等 docker compose up -d --build首次启动时ac-db-import容器会自动把 data/sql/ 下的基础数据导入 MySQL这个过程本身也需要几分钟。等docker compose ps里所有服务都变成 running 状态服务端就算活着了。容器集群架构拆解整套服务由 docker-compose.yml 定义各容器职责如下容器职责外部端口依赖ac-databaseMySQL 8.4存账号、角色、世界观数据3306无ac-db-import一次性任务把 SQL 脚本导入数据库无database 健康检查通过ac-client-data-init一次性任务解压客户端地图等静态数据无无ac-authserver认证服务authserver校验玩家登录信息3724database db-importac-worldserver世界服务worldserver运行游戏核心逻辑战斗、地图、副本都在它里面8085database db-import client-dataac-tools可选从客户端文件提取地图profiletools控制无无理解这组依赖关系的关键在于worldserver 不会抢跑。它通过depends_on声明等数据库健康检查通过、数据导入完成后才启动所以你在宿主机上不需要手动按顺序敲任何命令编排文件把启动顺序全管了。这也解释了为什么两个一次性容器存在——把数据导入和客户端数据初始化拆出去worldserver 启动时直接面对一个可用的数据库。创建管理员账号的正确姿势容器都起来后第一次必须手动建管理员账号否则没有任何角色能进游戏# 挂接 worldserver 的交互式控制台 docker compose attach ac-worldserver进入控制台提示符变为AC后执行AC account create admin password 3 -1参数含义admin是用户名password是登录密码3是安全等级3 为 GM 可使用的最高权限等级-1指定扩展版本为 3.3.5WoTLK。这里最容易踩的坑是退出方式控制台退出请用CtrlP然后CtrlQdocker attach 的标准断开键序。直接按CtrlC会把信号传给 worldserver 进程本身导致服务被异常终止。日常运维场景速查看世界服务实时日志docker compose logs -f ac-worldserver排查报错、看玩家进出世界都靠它。检查各服务状态docker compose ps健康检查和退出码一目了然。优雅停机保留数据docker compose down容器没了但数据卷还在下次 up 直接恢复。彻底重置环境docker compose down -v连数据库卷一起删回到出厂状态。数据库 3306 被本机服务占用DOCKER_DB_EXTERNAL_PORT3307 docker compose up -d环境变量只改宿主侧映射容器内端口不变认证端口同理用DOCKER_AUTH_EXTERNAL_PORT世界端口用DOCKER_WORLD_EXTERNAL_PORT。备份数据库docker compose exec ac-database mysqldump -u root -ppassword acore_world acore_characters acore_auth backup.sql三个库都要导账号在 acore_auth、角色在 acore_characters、游戏世界观数据在 acore_world。开发环境启用 dev profile想边改代码边调试项目提供了 dev profile把整个代码目录挂载进容器# 以开发模式启动Linux/WSL2 下文件系统性能更好 docker compose --profile dev up -d这个模式下源码是宿主机 bind mount 进去的配合 ccache 构建缓存重新编译只需要增量时间。官方文档里也说明过它主要面向 devcontainer 场景不提供一线支持生产用途还是走标准镜像。客户端配置好后填入localhost、认证端口3724、游戏端口8085用刚建的 admin 账号登录你的第一局就可以开始了。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表