TrinityCore 编译安装指南
简介
《魔兽世界:巫妖王之怒》的虚拟服务器TrinityCore在Windows下的安装说明,参考官方Wiki的Install Guide
一、Windows 环境需求
- CPU型支持SSE2指令集
- 建议使用Boost≥1.66版本及以上
- MySQL支持≥5.6及5.7系列版本
- 该库要求OpenSSL≥1.0.x版本
- CMake版本建议选用3.8及以上
- 微软Visual Studio社区版及以上的安装要求为Windows系统
1.安装 Git
- 设置 Git 和 图形界面 Tortoise Git
- 注意:在运行 Git 时,在路径选择部分,请选择 "从 Windows 命令提示符运行 Git"
2.安装 IDE
- 获取并安装Visual Studio 2019官方版本:访问https://visualstudio.microsoft.com/zh-hans/。
- 设置工作负载为“基于C++的桌面开发”。
- 若需离线安装,请参考VS官方指南:运行vs_community.exe -l C:\vslayout -a Microsoft.VisualStudio.Workload.NativeDesktop -i Microsoft.VisualStudio.Workload.Platform独立 -c zh-CN。
3.安装 MySQL Community
- 获取MySQL 5.7 安装包,请访问 官网,点击下载按钮。
- 访问下载页面后,请点击最底部的蓝色提示 "No thanks, just start my download."。
- 当安装接近完成时,请确保已选择了 "Launch the MySQL Instance Configuration Wizard" 选项后点击 "Finish"。
- 在配置过程中,默认设置通常足够使用。建议用户记住登录名和密码,并考虑注册为服务以实现自动启动。
4.安装数据库管理软件
- Navicat Premium
- MySQL Workbench(该款软件)(安装选项丰富)(操作界面较为复杂)(其特色在于能够建立数据库模型)
- 在管理软件中建立数据库连接(输入指定的用户名和密码以完成测试)
5.安装 Boost
- 获取Boost,访问链接"Prebuilt windows binaries"(当然也可以自行编译,请注意时间可能稍长)
- VS 2019 支持Boost最小版本为[1.70](可参考源forge)
- 配置到标准位置[C:\local\boost_1_xx_0]后创建环境变量BOOST_ROOT"C:/local/boost_1_70_0"(请确保路径无尾部斜杠如图所示)

6.安装 CMake
安装程序用于下载并执行CMake ,请指定最新版本,并建议选用64位版本。
如果存在多个MySQL服务器版本,请根据需求选择合适的 MySQL 版本进行配置。
您需要将CMake工作目录设置为选定 MySQL 版本的安装路径,并将 MySQL 的安装路径加入环境变量 MYSQL_ROOT。
请注意,在路径中应使用斜杠而非反斜杠。
7.安装OpenSSL
- 获取OpenSSL,建议选择64位版本,并安装"Win64 OpenSSL v1.1.x"版本软件,请不建议选择"Light"版本。
- 当安装程序提示缺少Visual C++库时,请自行从官网下载安装。
8.可选
- 若在不同的PC设备上进行编译/运行Trinity,则必须先安装Visual C++ 2017开发环境。
- 特别提示:TrinityCore无法在Windows XP或Windows 2003系统版本上运行。
二、源码拉取和编译
1.从GIT拉取源码
-
设置TortoiseGit,如有其他问题请参考Git教程
-
在任务栏菜单中找到并打开"TortoiseGit\PuTTYgen"应用程序,选择"RSA",然后点击"Generate"
-
在进度条完成后轻晃鼠标以便保存私钥(p)
-
将从Puttygen复制到下方文本框中的公钥粘贴到密钥位置(p)
-
打开GitHub账户设置界面
-
添加新的SSH密钥
-
在项目配置中输入标题(p),在密钥字段中粘贴之前生成的公钥(p)
-
设置SSH客户端参数:打开"TortoiseGit\Settings",进入"Network",选择"SSH Client",点击"Browse..."打开"TortoiseGitPlink.exe"文件夹
-
访问Trinity源码库,然后单击“Clone and download”,最后获取复制连接信息。
-
创建一个名为"D:\Trinity"的目录。
- 进入该目录后进行如下操作:
- 首先右键点击以调出菜单。
- 选择并激活包含‘Load Putty Key’选项。
- 将光标移至该选项上以激活它。
- 单击‘…’按钮时会弹出保存该私钥的位置对话框。
- 进入该目录后进行如下操作:
- 在‘Directory:’字段中输入'D:\Trinity\Source’。
- 选择包含‘Load Putty Key’选项,并将光标移至该选项上以激活它。
- 单击‘…’按钮时会弹出保存该私钥的位置对话框。
- 完成所有设置后点击OK完成操作。
在下载完成后进入源码根目录->单击右键选择TortoiseGit选项->→ 'Switch/Checkout...'->从下拉菜单中选择分支'3.3.5'>点击"OK">切换到版本...
2.使用CMake配置和生成Visual C++解决方案
- 编译前先建立编译文件目录,比如"D:/Trinity/Build".
- 运行CMake -> 点击 Browse Source… -> 选择源码目录"D:/Trinity/Source"
- 点击 Browse Build… -> 选择编译目录"D:/Trinity/Build"
- 点击 Configure -> 确保"Use default native compilers"被选中 -> 选"Visual Studio 16 2019" -> 选"x64" -> 点Finish
- 确保"Tools"被选中(用于解包生成服务器所需资源),之后更新源码重新编译源码时可不选
- 再次点击Configure -> 点击Generate,生成VS解决方案所需的相关文件到"D:/Trinity/Build"中
- 点击 Open Project, 打开VS2019并打开项目源码
3.编译源码
生成
请稍等片刻后重新启动计算机以确保系统稳定运行
单击菜单栏中的【生成
将活动解决方案的配置设为Releases状态
将活动解决方案平台属性设为x64,并确认所有已安装软件均为64位版本
然后点击关闭按钮退出设置界面
在解决方案资源管理器窗口中对ALL_BUILD项目执行右键清理操作
随后单击右键再次选择ALL_BUILD项目以启动编译过程
当编译成功时,在D:\Trinity\Build\bin\Release目录下会找到生成的可执行文件
4.保持源码更新
- 在源码目录"D:\Trinity\Source"中进行右键点击操作后依次选择"Git Sync"选项并提交
- 启动CMake后按照指引依次配置生成并重新启动项目
- 启动世界服务器 并留意命令行窗口显示的SQL脚本更新信息
三、提取资源文件 DBC Maps VMaps MMaps
为了将'D:\Trinity\Build\bin\Release'中的指定4个可执行文件移动至WOW客户端(3.3.5)的根目录中
-
map extractor 程序提取 db 和 cam 数据库项目
-
vmap4 extractor 解析相应的地图数据
-
mipmap generator 生成各类型的游戏模块
-
vmap4 assembler 组装各个部分的组件
将'D:\Trinity\Source\contrib\extractor.bat'批处理文件移动至客户端主目录下 → 以右键点击方式打开 extractor.bat → 以 elevated 命令方式运行该程序
按住Enter键执行命令,并进行DBC与MAPS文件的提取。在提取DBC与MAPS完成后,请再次按住Enter键执行命令以获取VMAPS文件。随后,在耗时超过一小时的情况下无法中断,请继续执行命令以完成M MAPS文件的提取。
在提取完成后,并将其迁移至服务端程序根目录D:\Trinity\Build\bin\Release中的指定位置
四、安装数据库
启动指定的MySQL数据文件D:\Trinity\Source\sql\create\create_mysql.sql -> 配置账号信息 -> 运行脚本以建立所需数据库表结构:
-
Auth:账号存储库 - 包含账号名称、口令、管理员权限以及服务器信息等
-
Characters:角色存储库 - 包括各种角色数据、背包物品以及拍卖行记录
-
World:世界存储库 - 包含游戏体验相关内容如NPC行为、任务列表以及物品清单
获取数据库脚本,源自官方源码库下载sql
-
请记住每个数据库脚本独立于其所属的分支,请确认'TDB 335.xxxxx'对应的主分支是第3.3.5版本。
-
请下载带有'.7z'后缀的压缩文件,并使用7zip进行解压。
-
将解压完成后的SQL脚本文件放置在与worldserver.exe处于同一目录结构下的'D:\Trinity\Build\bin\Release'路径中。
*请注意无需自行管理数据库配置。若您的设置要求手动导入数据库,请务必禁用worldserver.conf中的Updates.AutoSetup选项。
保持数据库更新
- 安装完成后,每次启动"worldserver.exe"时,将自动运行最新的SQL升级脚本,无需人工操作.
五、Worldserver 和 Authserver配置
在绝大多数基本配置情境下,在本地主机地址(127.0.0.1)的IP配置以及默认绑定IP地址(IPv4全量)都应予以保留。
修改 authserver.conf 配置文件
删除authserver.conf.dist文件中的".dist"扩展名,并通过文本编辑器Notepad++打开该文件。定位至MySQL SETTINGS配置区域,并将LoginDatabaseInfo字段设置为localhost, 3306, trinity, trinity, auth。
修改 worldserve.conf 配置文件
- 首先跳过worldserve.conf.dist中的’.dist’扩展项并打开该配置文件中的'CONNECTIONS AND DIRECTORIES'部分。
- 将LoginDatabaseInfo字段设置为localhost, 3306, trinity, trinity, 并指定身份验证参数auth。
- WorldDatabaseInfo字段被配置为localhost, 3306, trinity, trinity, 并指定世界参数world。
- CharacterDatabaseInfo字段则被设置为localhost, 3306, trinary(tr), trinary(auth), 并指定角色参数characters。
请将斜体文字设置为您的用户名和密码
修改服务器IP地址(本机测试可忽略该步骤)
-
请确保将将进入的实际区服地址分配给Internet连接,请配置auth数据库中的realmlist表。
-
按以下步骤操作:首先打开数据库管理工具;接着依次打开auth数据库和realmlist表;最后根据需求设置address字段。
-
对于同一路由器下的不同计算机(通常位于同一局域网内),建议使用服务器IP地址。
-
当WoW和TrinityCore运行在同一台计算机上且仅由你进行连接时,请保留默认配置。
-
如果希望其他用户也能访问您的服务器,请访问链接获取外部IP地址。
请指定字段'auth.realmlist.gamebuild'的值为您的魔兽世界客户端版本号(中国大陆地区对应13930, 台湾地区对应12340)。
六、启动服务器
运行 authserver.exe - 登录与网关程序
* 允许你输入用户名和密码来连接到区服选择界面
运行 worldserver.exe - 游戏主程序
您可以将自己登录至所选区服本身;一进入游戏后,请确保不再让他人也能登录至该服务器。
创建账号并授予GM权限,在worldserver.exe的DOS窗口中输入如下命令:
- 注册一个新的账号:account.create();示例:account.create(test.test)
- 属性值设置为true时才允许访问游戏世界:player.level >= 2 && player.cash >= 500
- 授予用户GM权限:account.set(user, gmLevel, 3, -1);示例:account.set(gmUser, gmLevel, 3, -1)
七、配置WoW客户端
登录到客户端"World of Warcraft\Data\zhCN"目录 -> 访问"realmist.wtf"文件 -> 设置为 五.4 步骤中的IP
-
将第一条命令更改为指定realmlist变量,并根据表格中的IP地址设置其值(例如:realmlist = 127.0.0.1)
- (可选)当运行WoW Launch.exe时,在客户端配置中应将patchlist设置为与realmlist相同的IP地址和DNS名称
打开游戏,输入刚才创建的GM账号,在艾泽拉斯的世界中尽情遨游吧!
