ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

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

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-wotlkAzerothCore 是开源的魔兽世界 3.3.5WoTLKMMO 服务器项目负责登录认证、世界逻辑与数据库全链路。本文带你用 Docker 完成一次 AzerothCore 容器化部署敲完 4 条核心命令后你会得到一个 3.3.5 客户端能用管理员账号直接登录进游戏的私服。开工前的三件事操作系统Linux、macOS 或 WindowsWSL2 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 -1attach把你接到 worldserver 的命令行控制台3是账号安全等级3 为管理员级-1表示不限定地图权限。创建成功后按CtrlP再按CtrlQ脱离控制台不要用CtrlC那会停掉服务。验证它真的能跑先看服务状态docker compose ps预期看到ac-database、ac-authserver、ac-worldserver都处于Up。再用客户端走一遍登录路径打开魔兽世界 3.3.5 客户端登录界面的服务器地址填127.0.0.1客户端不在同一台机器时填宿主机局域网 IP服务器列表里出现 realm即服务器条目用admin/password登录、建角、进入游戏能稳定看到角色和场景加载说明部署完成。AzerothCore 容器化部署架构速览五个容器同处一个 Docker 网络客户端经认证服校验账号后由世界服接管数据全部落在同一个 MySQL 里ac-databaseMySQL 8.4 实例监听 3306承载账号、角色、世界三套数据root 密码为password仅 3306 映射到宿主机ac-authserver监听 3724客户端先连它完成账号验证通过后引导去连世界服ac-worldserver监听 8085加载世界数据并处理全部游戏逻辑7878worldserver 附带供外部工具调用的 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_PORT3307容器内部连接不受影响改了配置不生效现象修改后重启容器行为没变定位确认改的是env/dist/etc/worldserver.conf而不是*.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写第一个模块运行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),仅供参考
返回列表