ARTICLE DETAIL

资讯详情

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

魔兽世界 3.3.5 私服完整上手:AzerothCore-WoTLK 用 Docker 两条命令零编译跑起来

魔兽世界 3.3.5 私服完整上手:AzerothCore-WoTLK 用 Docker 两条命令零编译跑起来 魔兽世界 3.3.5 私服完整上手AzerothCore-WoTLK 用 Docker 两条命令零编译跑起来【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlkAzerothCore-WoTLK 是一个开源、模块化的 MMO 服务器框架专为魔兽世界 3.3.5a 打造。用 Docker 部署它只需2 条命令、约10 分钟你得到的是一套可直接登录的完整私服——含认证、世界、数据库等常驻服务全程零编译、零手动导库。这篇文章写给三类人想给朋友开一个魔兽私服的运营者、想读懂 MMO 服务器内部协作的开发者、以及第一次碰 Docker 的新手。你不需要会 C也不用装 MySQL 或编译工具链照着命令执行就能走到登录界面。下文所有端口、容器名、路径均已与仓库当前内容核对一致。你的目标对应命令启动整套服务器docker compose build然后docker compose up -d创建私服管理员账号AC account create admin password 3 -1实时查看全部日志docker compose logs -f全库备份docker compose exec ac-database mysqldump -u root -p --all-databases backup.sql生成一个新模块骨架cd modules ./create_module.sh 魔兽世界 3.3.5 私服成品预览5 个容器分工与关键端口这一节你先看到目标状态——启动成功后系统长什么样再动手。docker compose up -d完成后docker compose ps会列出 5 个各司其职的容器容器名职责对外端口ac-databaseMySQL 8.4存账号、角色、物品等全部数据3306ac-db-import一次性任务导入基础数据后自动退出—ac-client-data-init一次性任务初始化客户端数据卷后退出—ac-authserver认证服务器处理登录与权限校验3724ac-worldserver世界服务器运行核心逻辑、管理世界状态8085核心两条命令就是本文反复出现的docker compose build docker compose up -dbuild首次会编译镜像、耗时偏长属正常现象up -d将整套服务放到后台。当你在ps里看到ac-worldserver处于 running即代表认证3724与世界8085均已就绪可以进入下一步。 魔兽私服 Docker 部署首次点火从克隆到登录四步这一节是最短路径每个小节的代码都不超过 4 行跟着做即可。前置自检先确认本机只有 Docker 与 Compose v2不需要任何游戏相关依赖docker --version docker compose version执行后应各自打印出版本号只要docker compose能返回版本说明 v2 插件已就位。构建与启动克隆仓库并启动整套服务git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk docker compose build docker compose up -d首次构建输出会持续较久up -d后终端会列出各容器创建日志此时世界服通常仍在等待导库属预期现象。创建管理员账号接入世界服控制台并建号admin为账号名、password为密码、3为 GM 等级、-1表示该账号可用于所有服务器docker compose attach ac-worldserver AC account create admin password 3 -1命令回车后控制台会回显账号创建成功随后按CtrlP再按CtrlQ退出控制台detach容器不会停。客户端接入用魔兽世界 3.3.5a 客户端把客户端根目录Data/zhCN/realmlist.wtf中文客户端路径中的服务器地址改为set realmlist 你的服务器IP:3724保存后启动游戏、输入刚建的账号登录即可进入游戏。 AzerothCore-WoTLK 容器依赖链图解五个容器如何协作这一节解释为什么顺序不会乱看懂它你就理解了这套编排的骨架。ac-database (MySQL, healthcheck 健康检查通过后放行) │ service_healthy ▼ ac-db-import (导完基础数据退出) ac-client-data-init (初始化客户端数据卷后退出) └──────────── 两者均成功 ────────────┘ │ service_completed_successfully ▼ ac-authserver (3724 登录) ac-worldserver (8085 世界)三个关键设计每个用它做什么 / 它防住什么说明设计它做什么它防住什么健康检查驱动顺序每 5 秒探测 MySQL 是否可连后续容器等服务健康而非已启动库没真正就绪就导数据、登录服务连不上库一次性任务容器两个 init 容器跑完即退出世界服以service_completed_successfully为门槛数据没导完世界服抢跑导库成功只靠人盯日志命名卷持久化数据库与客户端数据分别落到ac-database、ac-client-data两个命名卷容器重建或升级时数据丢失这是一键重启的底气⚙️ 私服端口、密码与配置策略按需定制这一节覆盖三类常见改动改端口密码、调配置严格度、挂自己的模块。端口与密码环境变量通过环境变量即可改无需改任何文件。变量名以DOCKER_开头完整清单见 conf/dist/env.dockerexport DOCKER_WORLD_EXTERNAL_PORT8086 export DOCKER_AUTH_EXTERNAL_PORT3725 export DOCKER_DB_ROOT_PASSWORDyour_secure_password docker compose up -d再次up -d后docker compose ps的端口列会显示为你设定的新外部端口官方建议不要直接改docker-compose.yml而是用 conf/dist/docker-compose.override.yml 提供注释模板做持久覆盖。配置策略三档配置策略机制决定配置文件缺失、配置项未知或取值非法时核心是跳过、警告还是直接报错由AC_CONFIG_POLICY环境变量控制说明见 doc/ConfigPolicy.md策略行为适用场景PRESET_DEFAULT缺文件报错、缺项警告、关键项致命新手默认PRESET_ZERO_CONF非关键缺口一律跳过用默认值启动Docker 快速启动PRESET_STRICT一切异常升级为错误/致命生产环境严格审计export AC_CONFIG_POLICY$AC_CONFIG_POLICY_PRESET_ZERO_CONF docker compose up -d启动日志中会打印当前生效的策略行据此可确认档位已切换。模块化扩展游戏逻辑被拆为核心src/server/game与脚本src/server/scripts任何新功能都可做成独立模块挂载不污染核心代码。进入modules/运行 modules/create_module.sh按提示输入模块名它基于官方骨架模板克隆出一个可编译的新模块目录并初始化好 Git 仓库cd modules ./create_module.sh执行完会看到Ready to code提示模块目录已生成之后参照modules/how_to_make_a_module.md往里填逻辑编译时通过conf/dist/config.sh的CMODULES变量控制其参与编译方式。 魔兽私服长期运维日志、备份与常见坑速查表这一节给你日常要用的命令、排障对照表和上线前该做的加固。日志与状态docker compose logs -f docker compose logs --tail100 ac-worldserver | grep -i error docker compose pslogs -f会持续滚动全部服务日志ps可核对各容器状态与端口映射。数据库备份与恢复docker compose exec ac-database \ mysqldump -u root -ppassword --all-databases backup_$(date %Y%m%d).sql docker compose exec -T ac-database \ mysql -u root -ppassword backup.sql备份命令执行后当前目录会生成一个.sql文件恢复时把指向该文件即可。常见坑速查表现象原因解决worldserver 迟迟不启动正等数据库导入完成属正常docker compose logs -f ac-db-import看进度端口被占用默认 3306 / 3724 / 8085 被占用DOCKER_*_EXTERNAL_PORT改外部端口别改 compose 主文件旧客户端登录失败realmlist 指向 IP 或端口错核对认证端口 3724勿与世界端口 8085 混淆想从源码重新编译需要完整工具链用acore.sh仪表盘交互编译或参考conf/dist/config.sh的编译参数生产加固清单立刻改掉默认数据库密码DOCKER_DB_ROOT_PASSWORD。公网部署只开放 3724 / 8085数据库端口保持内网可达。把docker-compose.override.yml与conf/dist/下的自定义配置纳入 Git改动有迹可循。在 override 文件中给ac-worldserver设置deploy.resources.limits避免单人服被无上限占用资源。需要完整地图与寻路数据时可启用 tools profiledocker compose --profile tools ...配合客户端提取边改代码边调试则可用docker compose --profile dev up -d的ac-dev-server做增量编译。现在你手里已有一套能登录、能定制、能扩展的魔兽世界 3.3.5 私服平台。想继续深入有三个方向值得投入读src/server/下的 C 源码理解 MMO 的网络与状态管理沿doc/ConfigPolicy.md与modules/how_to_make_a_module.md把配置和模块吃透以及跟着acore.sh从源码编译一份完全定制的核心。挑一个开始改动的每一步都落在你看得见的文件里。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表