最完整AzerothCore-WoTLK搭建指南:从源码到运行全流程
你还在为复杂的MMO服务器搭建而烦恼吗?本文将带你从零开始,使用AzerothCore-WoTLK项目搭建属于自己的魔兽世界服务器。读完本文后,你将掌握从源码获取、环境配置、编译到最终运行服务器的全部流程。
准备工作
在开始搭建之前,请确保你的系统满足以下要求:
- Linux、macOS或Windows操作系统
- Git工具
- 足够的存储空间(至少20GB)
- 稳定的网络连接
获取源码
首先,我们需要从Git仓库克隆项目源码:
git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk.git
cd azerothcore-wotlk
安装依赖
AzerothCore-WoTLK项目提供了便捷的安装脚本,可以帮助我们快速配置系统依赖。
运行安装脚本
项目根目录下的install.sh是整个安装过程的入口点。该脚本会自动检测你的操作系统类型,并安装相应的依赖包。
chmod +x install.sh
./install.sh
运行脚本后,你将看到AzerothCore的仪表盘界面,其中包含各种功能选项:
ACORE DASHBOARD
1) init First Installation
2) install-deps Configure OS dep
3) pull Update Repository
4) reset Reset & Clean Repository
5) setup-db Install db only
6) compiler Run compiler tool
7) module Module manager (search/install/update/remove)
8) client-data download client data from github repository (beta)
9) run-worldserver execute a simple restarter for worldserver
10) run-authserver execute a simple restarter for authserver
11) test Run test framework
12) docker Run docker tools
13) version Show AzerothCore version
14) service-manager Run service manager to run authserver and worldserver in background
15) quit Exit from this menu
安装系统依赖
在仪表盘菜单中选择"2) install-deps"或直接运行以下命令来安装系统依赖:
./install.sh install-deps
该命令会调用apps/installer/includes/functions.sh中的inst_configureOS函数,根据你的操作系统类型安装相应的依赖包。
对于Linux系统,脚本会自动检测你的发行版(如Ubuntu、Debian等),并使用相应的包管理器安装依赖。例如,对于Ubuntu系统,会安装build-essential、cmake、mysql-server等必要的软件包。
编译源码
配置编译选项
在安装完依赖后,我们需要配置编译选项。在AzerothCore仪表盘中选择"6) compiler"或直接运行:
./install.sh compiler
这将调用apps/compiler/compiler.sh脚本,该脚本提供了多种编译选项,如配置、编译、清理等。
执行编译
选择"configure"选项来配置编译参数,然后选择"build"开始编译过程。整个编译过程可能需要较长时间,具体取决于你的硬件配置。
# 配置编译参数
./install.sh compiler configure
# 开始编译
./install.sh compiler build
数据库设置
AzerothCore需要MySQL数据库来存储游戏数据。项目提供了自动化的数据库设置脚本,可以轻松完成数据库的初始化。
创建数据库
在AzerothCore仪表盘中选择"5) setup-db"或运行以下命令:
./install.sh setup-db
该命令会调用apps/installer/includes/functions.sh中的inst_dbCreate函数,执行data/sql/create/create_mysql.sql脚本,创建必要的数据库和用户。
导入游戏数据
数据库创建完成后,系统会自动导入游戏数据。这些数据包括角色信息、物品数据、任务数据等,是服务器运行所必需的。
下载客户端数据
AzerothCore需要魔兽世界客户端的部分数据文件才能正常运行。项目提供了一个便捷的脚本,可以自动下载这些必要的数据。
在AzerothCore仪表盘中选择"8) client-data"或运行:
./install.sh client-data
该命令会调用apps/installer/includes/functions.sh中的inst_download_client_data函数,从官方仓库下载客户端数据,并解压到指定目录。
运行服务器
完成以上所有步骤后,我们就可以启动AzerothCore服务器了。AzerothCore包含两个主要的服务:认证服务器(authserver)和世界服务器(worldserver)。
启动认证服务器
认证服务器负责处理用户登录验证。在AzerothCore仪表盘中选择"10) run-authserver"或运行:
./install.sh run-authserver
启动世界服务器
世界服务器是游戏的核心,负责处理游戏世界的各种逻辑。在AzerothCore仪表盘中选择"9) run-worldserver"或运行:
./install.sh run-worldserver
这两个命令都会调用apps/startup-scripts/src/simple-restarter脚本,启动相应的服务器进程。
后台运行服务器
如果希望服务器在后台运行,可以使用服务管理器功能。在AzerothCore仪表盘中选择"14) service-manager"或运行:
./install.sh service-manager
该命令会调用apps/startup-scripts/src/service-manager.sh脚本,可以帮助你管理服务器进程,实现后台运行、自动重启等功能。
模块管理
AzerothCore支持模块化开发,你可以通过模块系统扩展服务器功能。在AzerothCore仪表盘中选择"7) module"或运行:
./install.sh module
该命令会调用apps/installer/includes/modules-manager/module-main.sh脚本,提供模块的搜索、安装、更新和移除等功能。
总结
通过本文的指南,你已经成功搭建了一个完整的AzerothCore-WoTLK服务器。从获取源码到运行服务器,每个步骤都有详细的说明和对应的脚本支持。如果你在搭建过程中遇到任何问题,可以查阅项目的官方文档或寻求社区支持。
现在,你可以邀请朋友连接到你的服务器,一起体验魔兽世界的乐趣了!
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0213
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03