2023-1-14 14:06:32 © ienlaw
-
TrinityCore 资料
-
编译配置详细参考资料配合食用更佳
-
环境要求
-
TrinityCore Windows 编译配置
-
1.环境配置
-
2.客户端下载
-
3.编译TrinityCore
-
4.提取客户端数据
-
5.服务端配置
-
6.数据库配置和更新
-
7.启动服务器与创建账号
-
8.客户端配置
-
X.bug记录
TrinityCore 资料
这里尝试编译的是比较成熟的3.3.5分支 WLK 巫妖王之怒 版本
-
官网:https://www.trinitycore.org
-
源码:https://github.com/TrinityCore
TrinityCore Windows 编译配置
编译配置详细参考资料配合食用更佳
-
[TrinityCore 安装指南(官方)]https://www.trinitycore.info/
-
[TrinityCore Windows配置文档(汉化)b站]
环境要求
-
处理器支持SSE2
-
Boost ≥ 1.73 (推荐最新的稳定版)
-
MySQL ≥ 5.7
-
OpenSSL = 1.1.x
-
CMake ≥ 3.18.4(推荐最新稳定版)
-
MS Visual Studio (Community) ≥ 17.4 (2022) (Desktop) (Not previews) MS Visual Studio(社区) ≥ 17.4 (2022) (桌面版) (非预览版)
我使用的 Visual Studio 2019 编译成功
1.环境配置
-
Boost
-
选择对应版本下载安装:https://sourceforge.net/projects/boost/files/boost-binaries/ 选择下载文件名boost_1_80_0-msvc-14.2-64
提示:boost 1.80 需要 CMake 3.24.2
文件名详解: 1_80_0 对应boost版本, msvc-14.2 对应支持 Visual Studio 版本, 64 对应64位, Visual Studio 版本对应编号 2015 = v140,2017 = v141,2019 = v142,2022 = v143 -
添加环境变量
BOOST_ROOT
到系统变量,值为Boost安装路径。 -
手动选择版本安装配置
-
MySQL
下载安装msi:https://dev.mysql.com/downloads/installer/(推荐安装最新版本 8.0)
下载安装zip:https://dev.mysql.com/downloads/mysql/(推荐安装最新版本 8.0) -
MySQL -V 只能在安装 MySQL 的服务器上执行
-
status (\s)指令最为简便,但也只能在 MySQL 的命令行客户端(MySQL Command Line Client)中执行
-
show variables like ‘%version%’ 和 select version() 最为通用,可以在 MySQL 的命令行客户端和各种图形客户端(如 MySQL Query Browser, SQLyog, EMS SQL Manager)中执行。
-
下载 Windows MSI 安装程序。
-
向下滚动到底部,然后单击“不,谢谢,带我去下载!
-
运行安装程序,选择custom模式,这样才可以选择安装路径
-
选择移动所有项目到待安装列表。
-
点击下方 advanced options 高级选项 设置安装路径,每一项都需要设置。
-
安装快完成时,确保选中“启动MySQL实例配置向导”,然后单击“完成”。
-
当MySQL实例配置向导启动时,大多数默认选项都可以,但请记住您使用的用户名和密码(root//随便什么,默认使用:wower)。您将需要它们登录到您选择的数据库管理工具(如下),以便稍后导入SQL文件。
-
要测试MySQL是否正确设置,进入任务管理器,然后选择“服务”选项卡。在服务列表中,您应该看到状态为“正在运行”的“MySQL”。
-
检查版本:
-
OpenSSL
下载安装:https://slproweb.com/products/Win32OpenSSL.html(查找最新的1.0.x或1.1.x64位版本,不是“轻量级”或3.x版本。NOT the “light” or 3.x version)安装 OpenSSL 时,如果可以选择将 OpenSSL DLL 复制到何处,请选择 OpenSSL 二进制文件 (/bin) 目录(The OpenSSL binaries (/bin) directory)而不是“Windows 系统目录”。
这些 DLL 需要易于定位以进行核心安装。 检查版本:openssl version -a
-
CMake
下载安装:https://github.com/Kitware/CMake/releases(推荐安装最新版本 windows-x86_64.msi)
检查版本:cmake -version
-
MS Visual Studio
-
下载安装:https://visualstudio.microsoft.com/zh-hans/
-
安装C++编译器,详细内容见官方文档https://www.trinitycore.info/install/requirements/windows
2.客户端下载
客户端文件较大先行下载
-
巫妖王之怒:https://www.wowdl.net/client/World-of-Warcraft-3.3.5a.12340-zhCN
-
其他版本:https://www.wowdl.net/fichiers/clients
-
百度网盘分卷压缩:https://pan.baidu.com/s/1B6XrwG3T_HtkZRTHmTliow?pwd=mml2
编译TrinityCore
-
下载源码
先创建一个目录作为根目录,我这里创建在
J盘
下J:\Wower\TrinityCore
,注意目录路径中不能包含有空格或中文 -
在目录
J:\Wower\TrinityCore
中运行命令克隆分支源码:这里选择3.3.5分支对应客户端版本3.3.5a.12340 wlk 巫妖王之怒
git clone https://github.com/TrinityCore/TrinityCore.git -b 3.3.5
-
或手动下载https://github.com/TrinityCore/TrinityCore/archive/refs/heads/3.3.5.zip分支源码压缩包解压到目录
-
使用 CMake 配置和生成MS Visual Studio 项目文件
-
先在源码同级目录创建Build目录
-
运行CMake GUI
-
单击浏览源… -> 选择源目录 (J:\Wower\TrinityCore)
-
单击浏览构建… -> 选择构建目录 (J:\Wower\TrinityCore\Build)
-
单击“配置”
-
在弹出选项窗口中,确保选中“使用默认本机编译器”(默认情况下应选中)
-
在下拉菜单中,选择您在“所需软件”部分中下载的编译器版本。如果您处理 64 位编译,请务必选择Win64 版本
-
单击“完成”。
-
等等配置结束。
-
确保已选中工具tools。这将编译稍后设置中所需的地图提取器
-
检查输出日志确保没有error相关消息,如果有则按错误对应处理
-
单击“生成”创建MS Visual Studio 项目文件。
-
生成成功后在Build目录内应有
TrinityCore.sln
文件 -
双击打开Build目录
TrinityCore.sln
文件,或直接从CMake GUI点击打开打开项目。 -
在MS Visual Studio中确保选择了
Release
和x64
。(Release
版拥有更快的运行速度,在稍后的提取客户端数据操作中可以减少提取时间) -
单击 生成 -> 生成解决方案 开始编译TrinityCore,预计需要 5 到 30 分钟
-
编译完成后生成的程序文件在
J:\Wower\TrinityCore\Build\bin\Release
目录中 -
拷贝三个DLL文件到
J:\Wower\TrinityCore\Build\bin\Release
-
libmysql.dll
-> MySQL安装目录 MySQL Server x.x\lib\ -
libssl-1_1-x64.dll
和libcrypto-1_1-x64.dll
-> openssl安装目录 OpenSSL-Win64\bin\
如果安装有vcpkg ,并且vcpkg 安装了 openssl 包,即使在vs项目设置中禁用vcpkg,编译时依旧会使用vcpkg中的dll,错误版本的dll将导致
worldserver
程序崩溃!。
3.提取客户端数据
-
把
J:\Wower\TrinityCore\Build\bin\Release
中以下5个文件拷贝到335客户端目录:
mapextractor.exe
mmaps_generator.exe
vmap4extractor.exe
vmap4assembler.exe
extractor.bat
前四个在二进制文件所在目录,第五个在源码\contrib
里如果在cmake配置中启用了动态脚本SCRIPTS=dynamic,还需要复制
common.dll
文件 -
运行extractor.bat,选择4,把所有数据提取出来。这里可能需要几个小时具体和电脑配置有关(我这里用了1个小时)
-
提取完成后把生成的目录dbc,maps,vmaps,mmaps,cameras拷贝到
J:\Wower\TrinityCore\Build\bin\Release
目录,也就是worldserver
所在的目录
4.服务端配置
-
3.3.5 分支配置文件:
在J:\Wower\TrinityCore\Build\bin\Release
目录,也就是worldserver
所在的目录中,删除配置文件authserver.conf.dist和worldserver.conf.dist后缀的.dist修改配置文件:
变量名称 =“MySQLIP;港口;用户名;密码;数据库”
按需修改,单机使用默认设置即可
详细联网配置见官方文档https://www.trinitycore.info/en/install/Networking -
LoginDatabaseInfo = “127.0.0.1;3306;trinity;trinity;auth”
-
LoginDatabaseInfo = “127.0.0.1;3306;trinity;trinity;auth”
-
WorldDatabaseInfo = “127.0.0.1;3306;trinity;trinity;world”
-
CharacterDatabaseInfo = “127.0.0.1;3306;trinity;trinity;characters”
-
worldserver.conf
-
authserver.conf
-
主分支
-
worldserver.conf
-
bnetserver.conf for master
5.数据库配置和更新
-
下载数据库:https://github.com/TrinityCore/TrinityCore/releases(选择最新的335开头版本)
-
创建数据库
-
打开mysql workbench 连接到数据库
-
先删除mysql自带的
world
表 -
打开目录中
TrinityCore\sql\create\create_mysql.sql
脚本 -
点击黄色箭头执行,脚本将创建默认账号和3个数据表
-
解压下载好的数据库 SQL 文件 到
J:\Wower\TrinityCore\Build\bin\Release
目录,也就是worldserver
所在的目录 -
运行
worldserver
(worldserver.exe)以自动更新数据库,如果它询问你是否要创建数据库则按回车键。(更新数据库需要一些时间)除非显示完成,否则不要启动你的身份验证服务器/网络服务器(authserver.exe)。
worldserver
先会执行几个源码目录中的sql脚本创建数据库,然后它将查找dbc文件,映射,mmaps和vmaps,如果没有找到,它将退出。
6.启动服务器与创建账号
-
运行 Authserver\Bnetserver(authserver.exe) 身份验证服务器\网络服务器
-
运行 worldserver(worldserver.exe) 世界服务器
-
创建登录帐户,在worldserver窗口中键入(master在bnetaccount)来创建您的登录帐户。
-
创建帐户:
TC> account create test test
命令详解
account create $name $password
其中name是帐户名,name是帐户名,password是帐户密码 -
设置帐户级别:
TC> account set gmlevel test 3 -1
命令详解
account set gmlevel $account #level #realmid
其中$account是要更改的帐户名,#level可以是 0-3,#realmid是领域 ID。 将#level设置为“3”是 GM 帐户级别(数字越高 = 访问权限越多), “-1”是代表“所有领域”的领域 ID。 -
3.3.5
非常重要:要创建您的帐户,不要在帐户名称上使用
@
,这将会导致客户端更新。在数据库管理工具中打开世界
world
数据库并找到命令表command
。此表显示了 GM 命令的完整列表、其描述以及使用它们所需的安全性(GM 级别)。您将无法在其他任何地方找到更准确的当前 GM 命令列表(假设您保持数据库最新)。给定命令的安全级别标识该 GM 级别可以使用该命令以及该命令之上的所有 GM 级别。例如,如果命令的安全性为 2,则 GM 级别为 2、3 和 4 的所有帐户都可以使用它。更多详细信息可以在GM命令页面找到。
7.客户端配置
-
3.3.5
-
打开
335客户端\Data\zhCN\realmlist.wtf
文件修改其中内容:set realmlist 127.0.0.1
(可选)如果您希望使用WoW启动器.exe运行客户端,则必须将设置的补丁列表更改为与领域列表相同的IP / DNS名称。 (启动器在哪?)
-
登录帐户
非常重要,不要在帐户名称上输入带有
@
的邮箱,这将会导致客户端更新。 -
运行wow.exe启动游戏,输入账号密码登录
-
E-mail\Username: test
-
Password: test
X.bug记录
更多bug欢迎留言反馈
-
任务自动接受bug,测试发现角色出生地区域的任务npc会在点击对话框中任务项后就自动接受点选的任务,这时任务文本刚刚显示,玩家还未点击接受按钮。