ARTICLE DETAIL

资讯详情

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

AzerothCore 私服部署:30 分钟搭出可登录的 3.3.5 容器服

AzerothCore 私服部署:30 分钟搭出可登录的 3.3.5 容器服 AzerothCore 私服部署30 分钟搭出可登录的 3.3.5 容器服【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk这是一份 AzerothCore 私服部署的完整实操AzerothCore 是跑魔兽世界 3.3.5WoTLK的开源 MMO 服务器支持模块化二开。全程 Docker不用手动装 MySQL 和编译工具链走完你能得到一个能真正登录的 3.3.5 私服——客户端填个地址就能进游戏。架构速览三个容器各管什么这套部署本质上是个迷你微服务集群⚔️三个容器挂在同一张容器网络里数据库管持久化auth 和 world 分别管验证和玩法。动手前先把这张图装进脑子容器职责对外端口ac-databaseMySQL 8.4持久化账号、角色、世界三套数据root 默认密码 password3306ac-authserver客户端第一个连接对象完成账号验证后把客户端引向 world3724ac-worldserver加载世界数据、处理全部游戏逻辑另挂 7878 对外提供 SOAP 接口8085、7878连接方向是单向链路客户端 → 3724 验号 → 8085 进世界两个服务再各自读同一个库。登录界面能刷出 realm说明这条链路全通了。部署前 3 分钟自检敲第一条命令前对照清单过一遍系统 Linux / macOS / WindowsWSL2 Docker Desktop均可Docker 已装好带 Compose v2 插件Docker Desktop 默认自带宿主机 3306、3724、8085、7878 四个端口空闲——3724/8085 是客户端入口7878 给 SOAP 接口3306 留给你本地连库磁盘至少留 30 GB首次构建要在容器里完整编一遍源码手头有个 3.3.5 客户端收尾验证要用。跑这条命令自检两行都能正常输出即可继续docker compose version docker ps一条命令编译出全套镜像先拉源码进目录git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk跑完当前目录下会多出azerothcore-wotlk仓库。然后构建镜像docker compose build这条命令在 Ubuntu 24.04 容器里用 CMake clang 把源码从头编一遍产出 authserver、worldserver 和数据库导入工具三件套外加 MySQL 与客户端数据初始化等配套镜像。首次会慢属于正常放它跑 30~60 分钟构建层有缓存之后改代码再 build 会快很多。跑完docker images里能看到acore/ac-wotlk-worldserver等镜像。启动后先别急数据库在搬砖docker compose up -d这条命令把全部容器拉起启动链路在 docker-compose.yml 里写死了ac-database 先通过 MySQL 健康检查每 5 秒执行一次SHOW DATABASESac-db-import 才开始把 data/sql 的基础数据和升级脚本灌进 acore_auth、acore_world、acore_characters 三个库db-import 跑完 authserver 和 worldserver 才会被拉起。日志里刷过一条条 SQL 导入记录就是在搬砖这一环节首启要跑 5~15 分钟中途别停。配置文件也不用手写镜像里的*.conf.dist只是模板entrypoint 首次启动会自己把它们落成env/dist/etc/下的正式配置。从终端到出生点三步验收当ps里三个容器都 Up 了先翻一眼 worldserver 日志docker compose ps docker compose logs ac-worldserver | tail -n 20尾部能搜到 Server ready 字样说明世界服在等客户端上门。然后接进 worldserver 控制台建第一个管理员账号——3是管理员安全等级-1不限地图docker compose attach ac-worldserver接上后你会看到AC提示符输入建号命令account create admin password 3 -1看到创建成功的输出后按CtrlP再按CtrlQ脱离控制台别直接 CtrlC 把服务带走。最后打开 3.3.5 客户端登录界面地址填127.0.0.1客户端在别的机器上就填宿主机局域网 IP服务器列表里找到 realm用 admin / password 登录建角——角色出现在出生点场景验收通过 ✅。服务起不来五类高频问题对号入座worldserver 反复重启目录属主不对你看到docker compose ps里 ac-worldserver 状态反复跳entrypoint 打印了配置目录不可写的 WARNING。 查源码以 root 克隆时env/dist属主是 root容器内非 root 用户写不进去配置和日志。 改宿主机执行sudo chown -R $(id -u):$(id -g) env/dist再重启容器。登录界面刷不出 realm两个端口逐个确认你看到服务器列表空着或一直转圈。 查宿主机跑ss -tlnp | grep -E 3724|8085确认两个端口都在监听再看客户端填的是不是宿主机 IP。 改客户端在别的机器却填了 localhost就换成宿主机局域网 IP端口没监听回到启动链路查是哪个容器没起来。等 15 分钟还没起来导入大概率没跑完你看到worldserver 迟迟没进 Up 状态。 查docker compose logs -f ac-db-import盯着进度条。 改首启导入 5~15 分钟属正常耐心等日志末尾报错了按报错里提到的 SQL 文件名到 data/sql 下定位别盲目重启。3306 端口冲突换个口子映射你看到docker compose up直接报端口绑定失败。 查本机 MySQL 或其他服务正占着 3306。 改项目根目录新建.env写入DOCKER_DB_EXTERNAL_PORT3307重启后数据库对外走 3307容器内部连接完全不受影响。配置改了没反应你改的是模板你看到改了某个文件、重启容器行为原样。 查entrypoint 只在目标文件不存在时才从*.conf.dist复制——只动模板第二次启动起就没用了。 改直接编辑env/dist/etc/下的正式文件再重启容器。进阶改端口、调参数、写第一个模块换对外端口.env里两行搞定容器内部端口不用动# .env项目根目录 DOCKER_WORLD_EXTERNAL_PORT8086 DOCKER_AUTH_EXTERNAL_PORT3725调关键参数日常基本只动env/dist/etc/worldserver.conf比如改PlayerLimit限制最大在线人数参数加载的严格程度和预设值可查 doc/ConfigPolicy.md。写第一个模块用仓库自带的骨架生成器 modules/create_module.sh再在模块配置里启用./modules/create_module.sh MyModule echo MyModule.Enabled 1 env/dist/etc/modules/MyModule.conf改完重新 build 镜像、docker compose up -d新模块随 worldserver 一起加载。三个容器 Up、客户端在城里闲逛的时候部署 → 二开的闭环就通了——下一步把模块骨架里实现一条自定义指令体验从 0 到 1 的完整流程。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表