
AzerothCore 部署指南用 Docker 40 分钟搭起可登录的魔兽世界 3.3.5 私服【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlkAzerothCore 是开源的 MMO 服务器项目完整实现魔兽世界 3.3.5WoTLK的服务端逻辑。这篇 AzerothCore 部署教程带你用 Docker 一次构建、一条命令启动跟完即可得到一个魔兽世界私服 Docker 环境用 3.3.5 客户端直接登录进图。三个服务如何分工AzerothCore 通过 docker-compose.yml 把整套服务端拆成协作的容器你日常只需要关心三个常驻角色服务容器名端口职责MySQL 8.4 数据库ac-database3306默认映射到宿主机承载 acore_auth、acore_world、acore_characters 三个库root 密码默认password认证服务ac-authserver3724客户端第一个连接点校验账号后引导客户端接入世界服世界服务ac-worldserver8085加载世界数据、处理全部游戏逻辑另外7878端口是 worldserver 暴露的 SOAP 接口供外部管理工具调用客户端登录不依赖它。三者跑在同一个容器网络ac-network里通信编排关系是MySQL 先通过健康检查 → ac-db-import 导入 data/sql 下的基础数据和升级脚本 → authserver 与 worldserver 才被拉起。开始前的自检清单开始前你不需要装 MySQL 或编译工具链这些都内置在镜像里。逐项确认操作系统Linux、macOS或 WindowsWSL2 Docker DesktopDocker 已安装且带 Compose v2 插件宿主机3306、3724、8085、7878端口空闲磁盘预留至少30GB首次构建要在容器内完整编译源码手头有一个魔兽世界3.3.5版本客户端两条命令自检都能正常输出就继续# 确认 Compose v2 插件与 Docker 守护进程正常 docker compose version docker ps三条命令跑完全程第 1 步拉取源码。耗时几分钟视网速而定。# 克隆仓库并进入项目目录 git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk第 2 步构建镜像。这一步在一个 Ubuntu 24.04 容器里用 CMake clang 完整编译 authserver、worldserver 和数据库导入工具并生成 MySQL、导入、客户端数据初始化等配套镜像。# 构建全部镜像首次 30~60 分钟属正常有缓存后重建会快很多 docker compose build构建成功后docker images里能看到acore/ac-wotlk-worldserver等镜像。第 3 步启动全部服务。首次启动预期 5~15 分钟。# 启动数据库、导入任务、认证服、世界服 docker compose up -d日志里会滚动出一条条 SQL 导入记录全部跑完后三个常驻容器进入运行状态。entrypoint 脚本apps/docker/entrypoint.sh会自动把镜像内的*.conf.dist模板复制成正式配置落到env/dist/etc/所以你不用手写任何配置文件。服务起来后顺手把首个管理员账号建了# 接入 worldserver 控制台创建管理员3 为管理员级安全等级-1 不限地图权限 docker compose attach ac-worldserver AC account create admin password 3 -1⚠️ 创建完按CtrlP 再 CtrlQ脱离控制台不要直接 CtrlC那会连容器一起停掉。验证是否成功两条判据都满足部署才算通过docker compose ps中ac-database、ac-authserver、ac-worldserver均为 Up且docker compose logs ac-worldserver | tail -n 20的日志尾部能搜到Server ready——说明世界服已准备好接收连接。打开魔兽世界 3.3.5 客户端登录界面服务器地址填127.0.0.1客户端在别的机器上则填宿主机局域网 IP能看到 realm 列表用admin / password登录、建角并进入地图。能稳定看到角色和场景加载整个流程就跑通了。常见问题速查表现象可能原因处理worldserver 反复重启源码以 root 克隆env/dist属主是 root容器内用户写不进去配置和日志entrypoint 会打印 WARNING宿主机执行sudo chown -R $(id -u):$(id -g) env/dist后重启容器客户端登录界面看不到 realm3724或8085没映射到宿主机或服务器在别的机器但地址填了 localhost宿主机执行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报端口绑定失败宿主机已有 MySQL 等服务占用3306项目根目录建.env写入DOCKER_DB_EXTERNAL_PORT3307重启后数据库改用 3307容器内部连接不受影响改了配置不生效只改了*.conf.dist模板而正式配置是首次启动时复制生成的模板只在目标文件不存在时起作用直接编辑env/dist/etc/worldserver.conf等正式文件再重启下一步改端口在项目根目录.env里写DOCKER_WORLD_EXTERNAL_PORT8086、DOCKER_AUTH_EXTERNAL_PORT3725即可容器内部端口不用动。调参数日常只动env/dist/etc/worldserver.conf里的关键项如PlayerLimit限制最大在线人数配置加载的严格程度和预设在 doc/ConfigPolicy.md 里可查。写模块仓库自带 modules/create_module.sh 生成模块骨架在env/dist/etc/modules/下启用对应配置再重新构建镜像即可。到这一步数据库、认证、世界服务已经在容器里稳定运行客户端正常登录。把模块骨架改成自定义指令或任务你就能体验从部署到二次开发的完整闭环了。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考