ARTICLE DETAIL

资讯详情

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

45分钟免安装部署 AzerothCore:用 Docker 从零跑起一个可登录的魔兽世界 3.3.5 私服

45分钟免安装部署 AzerothCore:用 Docker 从零跑起一个可登录的魔兽世界 3.3.5 私服 45分钟免安装部署 AzerothCore用 Docker 从零跑起一个可登录的魔兽世界 3.3.5 私服【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlkAzerothCore 是开源的 MMO 服务端引擎完整承载魔兽世界 3.3.5WoTLK的服务器逻辑账号、战斗、副本、社交全部可玩。照这篇做完你会拿到一个 3.3.5 客户端直接登录的私服全程不手动装 MySQL、不装编译工具链——镜像里都有。开始前一张清单 ⚡项要求系统Linux / macOS / WindowsWSL2 Docker Desktop依赖Docker Compose v2 插件Docker Desktop 自带端口3306库、3724认证、8085游戏、7878SOAP空闲磁盘预留 30GB首次构建在容器内完整编译源码还会下载世界数据客户端一个魔兽世界 3.3.5 客户端最后登录验证用自检一条命令docker compose version docker ps预期两行输出无报错即通过。通过标准能打印出 Compose 版本号且docker ps不提示守护进程未运行。MySQL、编译工具、导入脚本都不用你操心apps/docker/Dockerfile 基于 Ubuntu 24.04 用 CMake clang 一次性编出全部服务。第 1 步拉取源码2 分钟git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk预期下载数分钟视网速而定。通过标准目录里有docker-compose.yml和apps/docker/即完整。第 2 步一次构建全部镜像30~60 分钟耐心docker compose build这一步会在容器里编译出 authserver、worldserver、dbimport、地图工具等全部组件并打出 MySQL 导入、客户端数据初始化两个配套镜像。预期首次构建 30~60 分钟终端持续滚编译日志构建层有缓存之后改代码再构建快很多。通过标准docker images出现acore/ac-wotlk-worldserver、acore/ac-wotlk-authserver等镜像名命令无ERROR退出。第 3 步启动服务等数据库导入跑完5~15 分钟docker compose up -d编排已写好启动顺序MySQL 先起来并通过健康检查 →ac-db-import把 data/sql 下的基础库和升级脚本依次导入acore_auth、acore_world、acore_characters三个库 → 认证服与世界服才被拉起。预期导入阶段docker compose logs -f ac-db-import里滚动出一条条 SQL 文件名期间 worldserver 尚未启动属正常。通过标准docker compose ps中 ac-database、ac-authserver、ac-worldserver 三个常驻容器为 Up而 ac-db-import 显示 Completed。另外 entrypoint 会自动把镜像内的*.conf.dist模板复制成正式配置落到env/dist/etc/你不需要手写任何配置文件。第 4 步建第一个管理员账号1 分钟docker compose attach ac-worldserver接入世界服控制台后输入3为管理员安全等级-1不限地图AC account create admin password 3 -1创建成功后按CtrlP再按CtrlQ脱离别按CtrlC那会把服务一起停掉。预期即时完成。通过标准控制台无报错且回到 shell 后docker compose ps里 ac-worldserver 仍为 Up。验证3.3.5 客户端进游戏 ✅最小验证路径四步走完即宣告部署成功打开魔兽世界 3.3.5 客户端登录界面服务器地址填127.0.0.1客户端不在本机则填宿主机局域网 IP。服务器列表出现 realm 条目——说明 3724 认证通了。用admin/password登录建角。角色进图、场景正常加载——部署完成。组件心智模型5 个容器各干什么ac-databaseMySQL 8.4root 密码默认password只有 3306 映射到宿主机方便你本地连库。ac-db-import一次性任务容器导完三个库即退出不常驻。ac-client-data-init一次性任务下载 WoTLK 世界数据mmaps/vmaps/dbc 等到共享卷世界服只读挂载它。ac-authserver监听 3724先于世界服完成账号验证再引导客户端连世界服。ac-worldserver监听 8085 处理全部游戏逻辑7878 是 SOAP 接口供外部工具调用。依赖链一句话database 健康 → db-import 完成、client-data 完成 → authserver / worldserver 启动。排错手册按症状查 1. entrypoint 打印权限 WARNINGworldserver 反复重启症状docker compose ps里 ac-worldserver 状态来回跳日志有 doesnt have write permissions。成因源码以 root 克隆挂载的env/dist属主是 uid 0容器内用户写不进配置和日志。处置宿主机执行sudo chown -R $(id -u):$(id -g) env/dist再docker compose up -d。2. 登录界面看不到服务器或一直转圈症状服务器列表为空或点击后无响应。成因3724 / 8085 没映射到宿主机或客户端地址填错。处置ss -tlnp | grep -E 3724|8085确认两个端口都在监听客户端地址改宿主机 IP。3. 等十几分钟 worldserver 仍没起症状ac-worldserver一直 Pending。成因db-import 还在导入首次 5~15 分钟正常或 MySQL 没通过健康检查。处置docker compose logs -f ac-db-import看进度失败时按日志末尾报的 SQL 文件排查别中途down。4.docker compose up报端口分配失败症状port is already allocated一类报错。成因宿主机已有 MySQL 占了 3306。处置项目根目录建.env写DOCKER_DB_EXTERNAL_PORT3307重新docker compose up -d容器内连接不受影响。5. 改了*.conf.dist却完全不生效症状重启后行为与改动前一模一样。成因正式配置是首次启动时从模板复制的模板只在目标文件不存在时才会被使用。处置直接编辑env/dist/etc/worldserver.conf再重启容器。进阶端口、参数、模块改端口根目录.env里写外部映射即可容器内部端口不用动可用变量清单见 conf/dist/env.dockerecho DOCKER_WORLD_EXTERNAL_PORT8086 .env docker compose up -d调参数日常只动env/dist/etc/worldserver.conf比如PlayerLimit默认 1000见 worldserver.conf.dist加载严格程度查 配置策略说明sed -i s/^PlayerLimit .*/PlayerLimit 50/ env/dist/etc/worldserver.conf docker compose up -d写第一个模块用自带脚本生成骨架启用后再重新构建镜像./modules/create_module.sh MyModule echo MyModule.Enabled 1 env/dist/etc/modules/MyModule.conf docker compose build把modules/MyModule骨架里的指令或任务逻辑填实docker compose build重打镜像即可上线——这就是从部署走向二次开发的完整闭环。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表