AzerothCore 私有服务器搭建:一条主线跑通全流程
【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
AzerothCore-WoTLK 是一套完整开源、模块化的魔兽世界(巫妖王之怒)服务端实现,核心能力是让你在自己机器上运行一个可登录、可玩、可扩展的私人服务器,目标读者是想从零搭一套能玩的 MMO 服务端的零基础玩家。
项目是什么 & 两个关键进程 🧩
动手前,先建立一个心智模型:
- authserver(认证服务):只管"你是谁"。它接收客户端的账号密码校验请求,把认证通过的玩家信息转交给世界服务。
- worldserver(世界服务):整个游戏的大脑。地图、怪物、技能、掉落、拍卖行、公会等全部游戏逻辑都跑在它里面,是资源消耗最大的进程。
- MySQL 数据库:角色的装备、背包、账号记录等持久化数据都存在它里面,服务器本身不直接存玩家数据。
- 客户端数据文件:DBC 静态数据、地图文件等,服务器启动时从本地目录加载,缺了它世界服务起不来。
- 两者是"先后"关系:authserver 先起来负责开门,worldserver 后起来负责开世界,客户端按这个顺序连接。
环境自检清单
开跑之前,确认以下各项都打勾:
| 检查项 | 要求 |
|---|---|
| 操作系统 | Linux / macOS / Windows(MSYS2 环境) |
| 必备工具 | Git、支持 CMake 的编译工具链 |
| 数据库 | 可访问的 MySQL 5.6+ 实例 |
| 磁盘 | 预留至少 20 GB 空间(源码 + 依赖 + 客户端数据) |
| 网络 | 能正常下载依赖包和客户端数据压缩包 |
以入口脚本为主线的搭建流程
整个仓库把"装依赖、编译、建库、下数据"全部收敛到了 install.sh 这一个入口脚本里。克隆仓库后:
git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk之后所有操作围绕它展开,你可以进交互式菜单,也可以直接传命令参数。
一键全流程:init
chmod +x install.sh ./install.sh init它按顺序完成系统依赖安装、源码编译、数据库创建和客户端数据下载四件事,中途会提示输入 MySQL 的 root 密码。看到"Database created successfully"和数据下载完成的提示,即代表环境就绪。
只想单独补一步时
如果init在某一环节中断,可以只重跑对应的那一项,无需从头再来:
./install.sh install-deps # 仅重装系统依赖 ./install.sh setup-db # 仅重建数据库 ./install.sh client-data # 仅重新下载客户端数据每一项跑完后都会给出明确的完成提示,失败则直接报错退出,方便你定位断点。
编译参数想自定义?
默认的init已使用合理的默认配置。若你希望调整编译选项(例如开启优化、选择编译器),再运行./install.sh compiler进入编译子菜单,先选 configure 修改参数,再选 build 重新编译,看到构建成功计数为 0 失败即完成。
首次启动与验证 ✅
启动顺序固定:先认证,后世界,分别在两个终端里执行。
./install.sh run-authserver认证服务启动后,控制台会打印初始化日志并停止滚动、保持等待连接状态,此时说明它已就绪。
另开一个终端执行:
./install.sh run-worldserver世界服务加载地图、VMap 碰撞数据和 DBC 文件需要几十秒,看到加载完成、控制台进入可输入命令的交互提示符后,服务器就算真正跑起来了。
卡住时第一眼看哪里:
- 停在数据库连接处 → 回查 MySQL 是否运行、
worldserver配置里的账号密码是否对得上; - 卡在数据文件加载处 → 说明客户端数据没下全,重跑
./install.sh client-data; - 进程秒退 → 启动器会自动重启并计数,连续多次快速崩溃会中止退出,此时直接看控制台末尾的错误堆栈。
进阶:让它跑得更久 & 让它更强
用 service-manager 托管后台
前台终端一关服务就没了,长期运行建议交给服务管理器:
./install.sh service-manager按提示选择启动、停止、查看状态等动作,两个服务将以后台进程方式运行,崩溃后可手动拉起,省去盯终端的麻烦。
用 module 命令扩展功能
服务器跑通后,功能扩展走模块系统。运行:
./install.sh module它会列出可用模块,支持搜索、安装、更新和移除。装完模块重新编译并重启世界服务即可生效;不建议一次装太多,先装一个、验证稳定再叠加。
下一步:打开 doc/ConfigPolicy.md 里的配置策略说明,挑几个你关心的服务器参数改一改,然后拉一位朋友用客户端连上来建个角色试试。
【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考