news 2026/9/30 6:44:46

AzerothCore 魔兽世界3.3.5私服容器化部署:4条命令从源码到可登录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AzerothCore 魔兽世界3.3.5私服容器化部署:4条命令从源码到可登录

AzerothCore 魔兽世界3.3.5私服容器化部署:4条命令从源码到可登录

【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk

AzerothCore 是开源的魔兽世界 3.3.5(WoTLK)MMO 服务器项目,负责登录认证、世界逻辑与数据库全链路。本文带你用 Docker 完成一次 AzerothCore 容器化部署,敲完 4 条核心命令后,你会得到一个 3.3.5 客户端能用管理员账号直接登录进游戏的私服。

开工前的三件事

  • 操作系统:Linux、macOS 或 Windows(WSL2 + Docker Desktop),执行uname -a能正常输出即符合
  • Docker 已安装且带 Compose v2 插件:执行docker compose version,应输出Docker Compose version v2.x
  • 宿主机 3306、3724、8085、7878 端口空闲(3724 是认证端口、8085 是游戏端口、7878 是供外部工具调用的 SOAP 接口):执行ss -tln | grep -E '3306|3724|8085|7878',无输出即空闲
  • 磁盘预留至少 30GB,首次构建要在容器内完整编译一遍源码:执行df -h .确认可用空间
  • 准备一个魔兽世界 3.3.5 客户端,最后登录验证要用

构建并启动 AzerothCore 容器化部署

拉取仓库并切到项目目录

git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk

耗时取决于网速;ls能看到docker-compose.yml即拉取完整。

📦构建全部镜像

docker compose build

这一步在 Ubuntu 24.04 容器里用 CMake(跨平台编译构建工具)+ clang 编译器编译 authserver、worldserver 和数据库导入工具,并顺带生成 MySQL、数据库导入、客户端数据初始化等配套镜像。首次约 30~60 分钟;docker images里出现acore/ac-wotlk-worldserver等镜像即成功,构建层有缓存,之后改代码再构建会快很多。

启动全部服务并等待数据库导入

docker compose up -d

首次启动约 5~15 分钟:MySQL 先通过健康检查,ac-db-import 容器把data/sql下的基础数据和升级脚本依次导入acore_auth、acore_world、acore_characters三个库,全部跑完后 authserver 和 worldserver 才会被拉起。启动时 entrypoint 脚本会把镜像内自带的*.conf.dist模板自动复制成env/dist/etc/下的正式配置,你不需要手写任何配置文件。

🔑创建第一个管理员账号

docker compose attach ac-worldserver AC> account create admin password 3 -1

attach把你接到 worldserver 的命令行控制台,3是账号安全等级(3 为管理员级),-1表示不限定地图权限。创建成功后按Ctrl+P再按Ctrl+Q脱离控制台,不要用Ctrl+C,那会停掉服务。

验证它真的能跑

先看服务状态:

docker compose ps

预期看到ac-database、ac-authserver、ac-worldserver都处于Up。再用客户端走一遍登录路径:

  1. 打开魔兽世界 3.3.5 客户端,登录界面的服务器地址填127.0.0.1(客户端不在同一台机器时填宿主机局域网 IP)
  2. 服务器列表里出现 realm(即服务器条目)
  3. 用admin/password登录、建角、进入游戏

能稳定看到角色和场景加载,说明部署完成。

AzerothCore 容器化部署架构速览

五个容器同处一个 Docker 网络,客户端经认证服校验账号后由世界服接管,数据全部落在同一个 MySQL 里:

  • ac-database:MySQL 8.4 实例,监听 3306,承载账号、角色、世界三套数据,root 密码为password,仅 3306 映射到宿主机
  • ac-authserver:监听 3724,客户端先连它完成账号验证,通过后引导去连世界服
  • ac-worldserver:监听 8085,加载世界数据并处理全部游戏逻辑
  • 7878(worldserver 附带):供外部工具调用的 SOAP 接口

卡住了?按顺序排查

worldserver 反复重启

  • 现象:docker compose ps里 ac-worldserver 状态反复变化
  • 定位:docker compose logs ac-worldserver搜WARNING,看到写权限告警说明挂载的env/dist目录属主是 root
  • 处理:宿主机执行sudo chown -R $(id -u):$(id -g) env/dist后重启容器

登录界面看不到 realm

  • 现象:服务器列表为空或一直转圈
  • 定位:宿主机执行ss -tlnp | grep -E '3724|8085',确认两条监听是否都在
  • 处理:客户端地址改为宿主机局域网 IP;仍不行则检查两个服务是否都Up

数据库导入迟迟不结束

  • 现象:等十几分钟 worldserver 还没起来
  • 定位:docker compose logs -f ac-db-import末尾是否停在某个 SQL 文件的报错
  • 处理:首次导入约 5~15 分钟属正常,勿中途停容器;有报错时按文件名到data/sql下核对

3306 端口被占用

  • 现象:docker compose up报端口绑定失败
  • 定位:ss -tln | grep 3306确认宿主机已有服务占用
  • 处理:项目根目录建.env写入DOCKER_DB_EXTERNAL_PORT=3307,容器内部连接不受影响

改了配置不生效

  • 现象:修改后重启容器行为没变
  • 定位:确认改的是env/dist/etc/worldserver.conf而不是*.conf.dist模板(模板只在正式文件不存在时起作用)
  • 处理:直接编辑env/dist/etc/worldserver.conf再重启

往后再走一步

  • 改端口:根目录.env里设DOCKER_WORLD_EXTERNAL_PORT=8086、DOCKER_AUTH_EXTERNAL_PORT=3725,容器内部端口不用动
  • 调配置:日常只需动env/dist/etc/worldserver.conf里的PlayerLimit等参数,配置加载严格程度见 doc/ConfigPolicy.md
  • 写第一个模块:运行bash modules/create_module.sh按提示输入模块名生成骨架,参考 modules/how_to_make_a_module.md 在env/dist/etc/modules/下启用并重新构建镜像

【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 6:42:48

【ArcGIS】ArcGIS SceneView视图下浏览器环境设置

摘要:本文针对 ArcGIS Scene View 3D 视图在浏览器中无法加载、显示空白的问题,系统梳理了三种常见原因及对应解决方案:一是检测并确认浏览器已启用 WebGL;二是通过浏览器设置开启硬件加速渲染;三是当显卡被加入黑名单…

作者头像 李华
网站建设 2026/9/30 6:38:32

半导体晶圆图谱缺陷检测数据集VOC+YOLO格式11720张8类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):11720 标注数量(xml文件个数):11720 标注数量(txt文件个数):1172…

作者头像 李华
网站建设 2026/9/30 6:34:19

零代码开发软件恐象 AI,让业务想法快速变成可用系统

数字化转型浪潮下,各类零代码开发软件层出不穷,越来越多小微企业、个体经营者以及业务岗位人员,都开始借助零代码工具搭建专属业务管理系统。传统软件开发依赖专业程序员,项目周期漫长、定制成本高昂,后期修改功能还要…

作者头像 李华