尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AzerothCore-WoTLK Docker部署:新手15分钟跑通魔兽世界3.3.5a私服完整流程

AzerothCore-WoTLK Docker部署:新手15分钟跑通魔兽世界3.3.5a私服完整流程 AzerothCore-WoTLK Docker部署新手15分钟跑通魔兽世界3.3.5a私服完整流程【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk想象这样一个画面你双击本地的魔兽世界客户端登录界面弹出输入自己刚建好的账号角色直接站在了艾尔文森林的草地上。这不是官方服务器而是跑在你自己电脑上的 AzerothCore-WoTLK——一个 C 编写的开源 MMO 服务器完整实现了 3.3.5a巫妖王之怒版本的登录认证与世界逻辑。本文带你走一遍它的 Docker 部署路径从装好环境到进游戏大约 15 分钟适合想搭一个本地调试环境或学习服务器架构的人。动手前5分钟把环境和仓库准备好你只需要做三件事全部在终端里完成安装 Docker DesktopWindows/macOS或发行版仓库里的 docker 与 docker composeLinux。它是在操作系统里跑虚拟环境的容器工具装了它就不用手动配 MySQL、编译 C 那一长串依赖。克隆项目仓库。Git 在这里的作用相当于下载并记住版本来源git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk验证环境就绪终端输入docker compose version能打印出版本号就说明 compose 插件v2可用。到这里你不需要安装 MySQL、CMake、编译工具链里的任何一样——后面构建过程会在容器里自己完成。点火启动15分钟让五个容器跑起来仓库根目录的 docker-compose.yml 把整套服务编排成了五个容器MySQL 数据库、数据导入器、客户端数据初始化、认证服务器、世界服务器。依赖关系已经写死——数据库没就绪其他容器不会抢跑。现在点火docker compose build docker compose up -d第一条命令编译构建镜像第二条按依赖顺序启动全部服务并挂到后台。首次执行会比较久要编译 C 代码、导入几千个 SQL 文件、下载客户端数据包耐心等待比反复取消更明智。用下面这条命令确认状态五个容器都应处于 running 状态docker compose ps如果 ac-worldserver 和 ac-authserver 都亮着绿字服务器已经可以接收连接了。跑起来之后进控制台开出第一个账号服务器没有现成账号需要连进世界服务器的交互式控制台创建一个——它是服务器自带的命令行能执行account create这类管理指令docker compose attach ac-worldserver AC account create admin password 3 -1命令里admin是账号名password是密码正式用请换掉3是游戏内 GM 权限等级-1表示不限制登录 IP。做完后按 CtrlP 再按 CtrlQ 断开控制台服务继续在后台运行不会中断。从此以后你常用的入口就三个docker compose logs -f看实时日志docker compose ps看状态docker compose down优雅关闭全部服务。端口被占用怎么改现象docker compose up -d后某个容器报端口绑定失败或你本机已经跑着 MySQL3306 端口被占。原因Docker 把容器端口映射到你电脑的端口。数据库、认证服务器、世界服务器的默认对外端口分别是 3306、3724、8085撞车就起不来。一条命令解决docker-compose.yml 的端口映射全部支持环境变量而环境变量会写进项目的 conf/dist/ 配置模板。不要动 compose 文件本身仓库注释明确要求改动放 override 文件在终端先导出变量再启动export DOCKER_DB_EXTERNAL_PORT3307 DOCKER_AUTH_EXTERNAL_PORT3725 DOCKER_WORLD_EXTERNAL_PORT8086 docker compose up -d数据库密码同理DOCKER_DB_ROOT_PASSWORD。这些变量只在当前终端生效长期生效写进你的 shell 配置文件即可。记住只改冒号前的对外端口冒号后的 3306/3724/8085 是容器内部端口改了服务之间就断联了。容器启动失败怎么排查现象docker compose ps里某个容器反复重启或者一直卡在 starting。原因服务之间存在严格依赖链——数据库健康 → 数据导入成功 → 客户端数据就绪 → 认证/世界服务器才能启动链条上任何一环断掉后面全不动。排查动作按顺序来docker compose logs ac-database docker compose logs ac-db-import先确认数据库健康检查通过再确认导入日志没有报错。日志里出现权限类错误目录拒绝写入多半是容器用户和宿主机目录属主不匹配在启动前加一行export DOCKER_USER_ID$(id -u)再重新 build。都不行时彻底重来docker compose down然后docker compose build --no-cache强制重建最后再up -d。跑通之后3件具体事想给服务器加自定义内容运行 modules/ 目录下的 create_module.sh 脚本在 modules/ 下执行./create_module.sh 模块名它会生成带完整目录骨架的模块编译进服务器后就能挂新逻辑参考文档在 modules/how_to_make_a_module.md。想查服务器配置项容器内的 etc 目录挂载在宿主机 env/dist/etc 下改完重启对应容器即生效端口这类环境变量级的改动按上一节的流程处理。想做数据备份数据库就在 ac-database 容器里一条 mysqldump 命令加--all-databases参数导出到本地文件出问题时再导回去。部署完成自检docker compose ps显示五个容器全部 running通过account create成功建出账号且能在控制台看到提示客户端填入对应端口后能进入登录界面用docker compose logs -f ac-worldserver确认无持续报错确认端口与默认值不同时环境变量已写入 shell 配置【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表