ARTICLE DETAIL

资讯详情

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

AzerothCore魔兽世界私服Docker部署教程:4步跑通3.3.5完整服务器

AzerothCore魔兽世界私服Docker部署教程:4步跑通3.3.5完整服务器 AzerothCore魔兽世界私服Docker部署教程4步跑通3.3.5完整服务器【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlkAzerothCore 是一个完整的开源 MMO 服务器方案运行魔兽世界 3.3.5WoTLK版本的服务端逻辑。这篇 Docker 部署教程带你走四条主线环境自检、一键构建、启动服务、登录验证——全部完成后你的 3.3.5 客户端就能直接连进自己搭的魔兽世界私服。环境自检3条命令确认你能开工开工前不用急着装任何东西先把下面的清单过一遍。Docker 镜像里已经内置了 MySQL 8.4、clang 编译器、CMake 构建工具链和数据库导入工具你唯一需要自己准备的是 Docker 本身和一个客户端。你需要的检查项要求为什么重要操作系统Linux / macOS / Windows (WSL2)镜像基于 Ubuntu 24.04跨平台无差别Docker Compose v2已安装且插件可用整个部署全靠它编排端口 3306 / 3724 / 8085 / 7878宿主机空闲分别对应数据库、认证、游戏、SOAP 接口磁盘空间≥ 30GB首次构建要在容器里完整编译一遍源码客户端魔兽世界 3.3.5 版本最后登录验证用你完全不用手动装的MySQL、编译工具链、数据库导入脚本、客户端数据下载工具——这些都由 apps/docker/Dockerfile 里的多阶段构建自动完成。跑两条命令做最终自检都能正常输出就可以继续docker compose version # 能输出版本号说明 Compose v2 插件就绪 docker ps # 不报错说明 Docker 守护进程正常运行一条主线跑起来克隆、构建、启动接下来三步是连贯的每步都有明确的完成信号你可以随时对照确认进度。第 1 步拉取源码git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk第 2 步构建镜像docker compose build这一步会同时构建出 worldserver、authserver、数据库导入和客户端数据初始化等一整套镜像全部在 Ubuntu 24.04 容器里用 CMake Ninja clang 编译还启用了 ccache 加速。首次构建预计 30~60 分钟期间终端会滚动输出编译日志这属于正常现象别中断。构建完成后跑docker images能看到acore/ac-wotlk-worldserver、acore/ac-wotlk-authserver等镜像就说明成功了。得益于构建层缓存之后你改代码再构建会快很多。第 3 步启动全部服务docker compose up -d首次启动预计 5~15 分钟别以为没动静就是卡住了——编排文件里有严格的启动依赖链MySQL 先起来并通过健康检查然后ac-db-import容器把 data/sql 下的基础数据和升级脚本依次导入acore_auth、acore_world、acore_characters三个库worldserver 和 authserver 在这两步都完成后才会被拉起。观察进度的方式docker compose logs -f ac-db-import # 会看到一条条 SQL 导入记录滚过另外容器首次启动时 entrypoint 脚本 会自动把内置的*.conf.dist配置模板复制为正式配置落到宿主机的env/dist/etc/目录所以你不需要手写任何配置文件。30秒确认成功状态、账号、客户端三连验① 状态检查三个常驻容器都应该是Updocker compose ps② 成功标志worldserver 日志尾部出现 Server ready 字样代表它已准备好接收连接docker compose logs ac-worldserver | tail -n 20③ 创建管理员账号attach 会把你接进 worldserver 的命令行控制台3是管理员安全等级-1表示不限地图权限。创建成功后按CtrlP再按CtrlQ脱离别按 CtrlC那会把服务一起停掉docker compose attach ac-worldserver AC account create admin password 3 -1④ 客户端实战打开魔兽世界 3.3.5 客户端登录界面服务器地址填127.0.0.1客户端不在同一台机器就填宿主机局域网 IP。服务器列表里出现 realm 后用 admin / password 登录、建角、进图——能稳定加载角色和场景整个部署就闭环了。看清内部谁在监听哪个端口登录成功后你可能会好奇这些容器各管什么一张表说清楚容器监听端口职责数据存放位置ac-database3306映射到宿主机MySQL 8.4承载账号/角色/世界三套数据root 密码为passwordDocker 卷ac-database/var/lib/mysqlac-authserver3724客户端第一个连接它做账号验证通过后引导客户端连世界服配置在env/dist/etc/authserver.confac-worldserver8085游戏、7878SOAP 外部接口加载世界数据处理全部游戏逻辑配置在env/dist/etc/worldserver.conf客户端数据在 Docker 卷ac-client-dataac-db-import/ac-client-data-init无一次性任务容器导入数据库、初始化客户端数据完成后即退出—三者共享同一个容器网络通信只有 3306 默认映射到宿主机方便你本地连库查询。自救手册症状对照表症状可能原因处理办法worldserver 反复重启日志有 WARNING源码以 root 克隆挂载的env/dist目录属主是 root容器内用户写不进配置和日志宿主机执行sudo chown -R $(id -u):$(id -g) env/dist后重启容器客户端登录界面看不到 realm3724 或 8085 没映射到宿主机或客户端地址填错了机器宿主机执行ss -tlnp \| grep -E 3724\|8085确认监听客户端改填宿主机 IP等十几分钟 worldserver 还没起来ac-db-import仍在导入首次 5~15 分钟属正常或 MySQL 未通过健康检查docker compose logs -f ac-db-import看进度若失败按日志末尾报错指向的 SQL 文件排查docker compose up报端口绑定失败宿主机 3306 被已有 MySQL 等占用项目根目录建.env写入DOCKER_DB_EXTERNAL_PORT3307重启后改用 3307容器内部连接不受影响改了配置重启却不生效只改了*.conf.dist模板而正式配置是首次启动时复制生成的模板仅在目标文件不存在时生效直接编辑env/dist/etc/worldserver.conf等正式文件再重启再深入改端口、调配置、写第一个模块三个进阶入口每个都只动一两行改端口——在根目录.env里覆盖映射即可容器内部端口不用动# .env项目根目录按需写入 DOCKER_WORLD_EXTERNAL_PORT8086 DOCKER_AUTH_EXTERNAL_PORT3725调配置——日常只动env/dist/etc/worldserver.conf里的关键参数比如PlayerLimit默认 1000即最大在线人数模板见 worldserver.conf.dist。配置的加载策略和预设分级可以参考官方配置策略文档。写模块——用仓库自带脚本生成模块骨架启用后重新构建镜像即可./modules/create_module.sh MyModule # 交互式生成模块骨架 echo MyModule.Enabled 1 env/dist/etc/modules/MyModule.conf docker compose build docker compose up -d模块开发的完整思路见 how_to_make_a_module.md。收尾到这里数据库、认证、世界三件套已经在容器里稳定运转3.3.5 客户端也能正常登录——你的魔兽世界私服算是正式上线了。下一步建议挑modules/下生成的骨架改出一个实际功能比如一条自定义世界指令或一个任务体验从部署到二次开发的完整闭环想动手前也可以先用docker compose logs -f观察一段时间的世界服运行日志对服务端的日常状态有个直觉。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表