魔兽世界单机版巫妖王之怒WLK3.3.5(12340)最新TDB335.22101TrinityCore端编译安装文档

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.环境配置

  1. Boost

    1. 选择对应版本下载安装: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

    2. 添加环境变量BOOST_ROOT到系统变量,值为Boost安装路径。

    3. 手动选择版本安装配置

  2. MySQL
    下载安装msi:https://dev.mysql.com/downloads/installer/(推荐安装最新版本 8.0)
    下载安装zip:https://dev.mysql.com/downloads/mysql/(推荐安装最新版本 8.0)

    1. MySQL -V 只能在安装 MySQL 的服务器上执行

    2. status (\s)指令最为简便,但也只能在 MySQL 的命令行客户端(MySQL Command Line Client)中执行

    3. show variables like ‘%version%’ 和 select version() 最为通用,可以在 MySQL 的命令行客户端和各种图形客户端(如 MySQL Query Browser, SQLyog, EMS SQL Manager)中执行。

    4. 下载 Windows MSI 安装程序。

    5. 向下滚动到底部,然后单击“不,谢谢,带我去下载!

    6. 运行安装程序,选择custom模式,这样才可以选择安装路径

    7. 选择移动所有项目到待安装列表。

    8. 点击下方 advanced options 高级选项 设置安装路径,每一项都需要设置。

    9. 安装快完成时,确保选中“启动MySQL实例配置向导”,然后单击“完成”。

    10. 当MySQL实例配置向导启动时,大多数默认选项都可以,但请记住您使用的用户名和密码(root//随便什么,默认使用:wower)。您将需要它们登录到您选择的数据库管理工具(如下),以便稍后导入SQL文件。

    11. 要测试MySQL是否正确设置,进入任务管理器,然后选择“服务”选项卡。在服务列表中,您应该看到状态为“正在运行”的“MySQL”。

    12. 检查版本:

  3. 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

  4. CMake
    下载安装:https://github.com/Kitware/CMake/releases(推荐安装最新版本 windows-x86_64.msi)
    检查版本:

    cmake -version

  5. MS Visual Studio

    1. 下载安装:https://visualstudio.microsoft.com/zh-hans/

    2. 安装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

  1. 下载源码

    先创建一个目录作为根目录,我这里创建在J盘J:\Wower\TrinityCore,注意目录路径中不能包含有空格或中文

    1. 在目录J:\Wower\TrinityCore中运行命令克隆分支源码:

      这里选择3.3.5分支对应客户端版本3.3.5a.12340 wlk 巫妖王之怒

      git clone https://github.com/TrinityCore/TrinityCore.git -b 3.3.5

    2. 或手动下载https://github.com/TrinityCore/TrinityCore/archive/refs/heads/3.3.5.zip分支源码压缩包解压到目录

  2. 使用 CMake 配置和生成MS Visual Studio 项目文件

    1. 先在源码同级目录创建Build目录

    2. 运行CMake GUI

    3. 单击浏览源… -> 选择源目录 (J:\Wower\TrinityCore)

    4. 单击浏览构建… -> 选择构建目录 (J:\Wower\TrinityCore\Build)

    5. 单击“配置”

    6. 在弹出选项窗口中,确保选中“使用默认本机编译器”(默认情况下应选中)

    7. 在下拉菜单中,选择您在“所需软件”部分中下载的编译器版本。如果您处理 64 位编译,请务必选择Win64 版本

    8. 单击“完成”。

    9. 等等配置结束。

    10. 确保已选中工具tools。这将编译稍后设置中所需的地图提取器

    11. 检查输出日志确保没有error相关消息,如果有则按错误对应处理

    12. 单击“生成”创建MS Visual Studio 项目文件。

    13. 生成成功后在Build目录内应有TrinityCore.sln文件

  3. 双击打开Build目录TrinityCore.sln文件,或直接从CMake GUI点击打开打开项目。

  4. 在MS Visual Studio中确保选择了Releasex64。(Release版拥有更快的运行速度,在稍后的提取客户端数据操作中可以减少提取时间)

  5. 单击 生成 -> 生成解决方案 开始编译TrinityCore,预计需要 5 到 30 分钟

  6. 编译完成后生成的程序文件在J:\Wower\TrinityCore\Build\bin\Release目录中

  7. 拷贝三个DLL文件到J:\Wower\TrinityCore\Build\bin\Release

    1. libmysql.dll -> MySQL安装目录 MySQL Server x.x\lib\

    2. libssl-1_1-x64.dlllibcrypto-1_1-x64.dll -> openssl安装目录 OpenSSL-Win64\bin\

如果安装有vcpkg ,并且vcpkg 安装了 openssl 包,即使在vs项目设置中禁用vcpkg,编译时依旧会使用vcpkg中的dll,错误版本的dll将导致worldserver程序崩溃!。

3.提取客户端数据

  1. 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文件

  2. 运行extractor.bat,选择4,把所有数据提取出来。这里可能需要几个小时具体和电脑配置有关(我这里用了1个小时)

  3. 提取完成后把生成的目录dbc,maps,vmaps,mmaps,cameras拷贝到J:\Wower\TrinityCore\Build\bin\Release目录,也就是worldserver所在的目录

4.服务端配置

  1. 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

    1. LoginDatabaseInfo = “127.0.0.1;3306;trinity;trinity;auth”

    2. LoginDatabaseInfo = “127.0.0.1;3306;trinity;trinity;auth”

    3. WorldDatabaseInfo = “127.0.0.1;3306;trinity;trinity;world”

    4. CharacterDatabaseInfo = “127.0.0.1;3306;trinity;trinity;characters”

    5. worldserver.conf

    6. authserver.conf

  2. 主分支

    1. worldserver.conf

    2. bnetserver.conf for master

5.数据库配置和更新

  1. 下载数据库:https://github.com/TrinityCore/TrinityCore/releases(选择最新的335开头版本)

  2. 创建数据库

    1. 打开mysql workbench 连接到数据库

    2. 先删除mysql自带的world

    3. 打开目录中 TrinityCore\sql\create\create_mysql.sql 脚本

    4. 点击黄色箭头执行,脚本将创建默认账号和3个数据表

  3. 解压下载好的数据库 SQL 文件 到J:\Wower\TrinityCore\Build\bin\Release目录,也就是worldserver所在的目录

  4. 运行worldserver(worldserver.exe)以自动更新数据库,如果它询问你是否要创建数据库则按回车键。(更新数据库需要一些时间)除非显示完成,否则不要启动你的身份验证服务器/网络服务器(authserver.exe)。

worldserver先会执行几个源码目录中的sql脚本创建数据库,然后它将查找dbc文件,映射,mmaps和vmaps,如果没有找到,它将退出。

6.启动服务器与创建账号

  1. 运行 Authserver\Bnetserver(authserver.exe) 身份验证服务器\网络服务器 

  1. 运行 worldserver(worldserver.exe) 世界服务器 

  1. 创建登录帐户,在worldserver窗口中键入(master在bnetaccount)来创建您的登录帐户。

    1. 创建帐户:

      TC> account create test test

      命令详解 account create $name $password 其中name是帐户名,name是帐户名,password是帐户密码

    2. 设置帐户级别:

      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.3.5

      非常重要:要创建您的帐户,不要在帐户名称上使用 @,这将会导致客户端更新。

      在数据库管理工具中打开世界world数据库并找到命令表command。此表显示了 GM 命令的完整列表、其描述以及使用它们所需的安全性(GM 级别)。您将无法在其他任何地方找到更准确的当前 GM 命令列表(假设您保持数据库最新)。给定命令的安全级别标识该 GM 级别可以使用该命令以及该命令之上的所有 GM 级别。例如,如果命令的安全性为 2,则 GM 级别为 2、3 和 4 的所有帐户都可以使用它。更多详细信息可以在GM命令页面找到。

7.客户端配置

  1. 3.3.5

    1. 打开335客户端\Data\zhCN\realmlist.wtf文件修改其中内容:

      set realmlist 127.0.0.1

      (可选)如果您希望使用WoW启动器.exe运行客户端,则必须将设置的补丁列表更改为与领域列表相同的IP / DNS名称。 (启动器在哪?)

  2. 登录帐户

    非常重要,不要在帐户名称上输入带有@的邮箱,这将会导致客户端更新。

    1. 运行wow.exe启动游戏,输入账号密码登录

  1.  E-mail\Username: test

  1. Password: test

X.bug记录

更多bug欢迎留言反馈

  1. 任务自动接受bug,测试发现角色出生地区域的任务npc会在点击对话框中任务项后就自动接受点选的任务,这时任务文本刚刚显示,玩家还未点击接受按钮。

资源下载: