TrinityCore和客户端在不同机器的部署要点

发布时间 2023-11-26 19:02:24作者: 剑过不留痕残月分断魂

简要

TrinityCore是一个完整的开源游戏服务程序,主要包含2部分,鉴权服务器和世界服务器,
前者主要用于管理账号和世界服务器,后者就是游戏本身服务器。
支持最新WOW客户端版本(23.11.26)。
本次主要是在2台Windows设备上分别安装服务器(master分支)和WOW(10.2 巨龙崛起),按TC官方文档,针对服务器和客户端在不同设备情况的一些配置调整进行记录。

安装TC服务器(默认64位)

基础编译环境

服务器所在Windows设备安装最新VS2022社区版,Git,Cmake,MySQL8.2,OpenSSL3,Boot1.83,HeidiSQL
MySQL基础安装,配置过程大部分保持默认即可,记好管理员账户,密码
客户端所在Windows设备安装10.2版WOW客户端

设置环境变量

名字MYSQL_ROOT,值C:/Program Files/MySQL/MySQL Server 8.2
名字BOOST_ROOT,值C:/local/boost_1_83_0

编译

Cmake打开TC代码,Source路径如D:/Code/TrinityCore,后续简称TC目录
Binaries路径如D:/Code/TrinityCore/MSVCBuild
顺序执行confige,generate和open project
在打开的VS2022中右键ALL_Build执行build
等待编译程序即可

复制dll

复制下面文件到D:/Code/TrinityCore/MSVCBuild/bin/Debug/目录,后续简称bin/Debug目录
C:/Program Files/MySQL/MySQL Server 8.2/lib/libmysql.dll
C:\Program Files\OpenSSL-Win64\bin\legacy.dll
C:\Program Files\OpenSSL-Win64\bin\libcrypto-3-x64.dll
C:\Program Files\OpenSSL-Win64\bin\libssl-3-x64.dll

配置服务器

服务器游戏数据

由于TC项目仅仅包含服务器代码部分,没有任何资源,因此需要自行从WOW客户端提取相关资源给服务器程序使用,
官方提到转换过程十分漫长,故本次直接使用其他人预先转换好的文件,地址:https://tc.arctium.io
下载10.2版本的全部6个zip文件,解压到TC/bin/Debug目录即可,
注意要保留cameras,dbc等录目录结构

把bin/Debug目录下worldserver.conf.dist, bnetserver.conf.dist复制一份,去掉dist后缀

安装数据库

打开Heidi SQL程序,登录MySQL,执行TC/sql/create/create_mysql.sql
从https://github.com/TrinityCore/TrinityCore/releases下载数据库,并解压到bin/Debug目录

自定义IP地址

由于TC默认服务器和客户端在同一台设备,IP默认都是127.0.0.1,需要改成局域网IP
在HeidiSQL中
1.打开auth数据库,找到realmlist表,将address字段由默认的127.0.0.1改成局域网IP,一般是192.168.x.y的形式
这里的realmlist是服务器列表,客户端登录时鉴权服务器会把服务器列表返回给客户端,客户端通过address字段给的IP去链接世界服务器

2.修改bnetserver.conf文件中的LoginREST.LocalAddress字段,由127.0.0.1改成服务器Windows设备的局域网IP,一般是192.168.x.y的形式

3.修改worldserver.conf文件中的DBC.Locale字段,改为4,这样客户端可以使用简体中文语言

在bin/Debug目录打开Terminal(或Powershell),执行./worldserver.exe 耐心等待即可
直到出现TC>行为止
同一目录,再打开一个Terminal,执行./bnetserver.exe 耐心等待即可
运行成功日志会打印这样的日志Added realm "Trinity" at 192.168.x.y:8085.

创建战网账号

在第一个terminal中的TC栏执行命令bnetaccount create test@test test即可创建账号test@test,密码为test

WOW客户端配置

下载自定义启动器Arctium WoW Launcher.exe,放到WOW根目录
修改客户端配置文件WOW/retail/WTF/Config.wtf
找到SET portal行,把原值CN(也可能是其他的)修改成服务器windows设备的局域网IP,一般是192.168.x.y的形式
找到textLocale和audioLocale,把原值enUS修改成zhCN

运行Arctium WoW Launcher

使用上述账号和密码登录游戏,会看到唯一的Trinity服务器,然后就可以正常游戏了

GM命令

参考 https://trinitycore.atlassian.net/wiki/spaces/tc/pages/2130065/GM+Commands