TrinityCore 编译安装指南

简介

《魔兽世界:巫妖王之怒》模拟服务器TrinityCore在Windows下的安装指南,参考官方Wiki的Install Guide

一、Windows 环境需求

  • CPU 支持 SSE2 指令集
  • Boost ≥ 1.66(最新稳定推荐)
  • MySQL ≥ 5.6.0 以及 MySQL 5.7.x
  • OpenSSL ≥ 1.0.x
  • CMake ≥ 3.8.2(最新稳定推荐)
  • MicroSoft Visual Studio (Community) ≥ (2017)(Desktop)

1.安装 Git

  • 安装Git及图形界面TortoiseGit
  • 注意,安装Git时,在路径选择那里选择"RunGit from the Windows Command Prompt"

2.安装 IDE

  • 下载并安装Visual Studio 2019
  • 工作负载选择"使用C++的桌面开发"
  • 若需离线安装,参考VS官方指南:
    vs_community.exe --layout c:\vslayout --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --lang zh-CN

3.安装 MySQL Community

  • 下载5.7安装包 -> 进入官网 -> 点Download
  • 进入下载页面点最下方的蓝色小字"No thanks, just start my download."
  • 安装快完成时,确认"Launch the MySQL Instance Configuration Wizard"已选择,之后点"Finish"
  • 在Configuration配置时,保持默认设置即可,注意记住用户名和密码,建议注册为服务可随Windows开机启动

4.安装数据库管理软件

  • Navicat Premium
  • MySQL Workbench(MySQL官方出品,安装可选,使用不太友好,是唯一可以建立模型的软件)
  • 通过管理软件连接数据库(HOST/IP为"127.0.0.1"/“localhost”),输入设置的用户名和密码测试是否成功连接

5.安装 Boost

  • 下载Boost,点击下方连接"Prebuilt windows binaries"(当然也可自行编译,耗时稍长)
  • VS 2019 适配Boost的最小版本为1.70,选择msvc-14.2
  • 安装到默认路径(C:\local\boost_1_xx_0),然后将路径添加到名为"BOOST_ROOT"的环境变量中,比如"C:/local/boost_1_70_0".确保没有末尾斜杠,如下图所示:
    boost环境变量设置

6.安装 CMake

  • 下载并安装CMake ,只选择Latest Release版本,推荐使用64bit版本
  • 如有多个版本的MySQL server,使用特定版本需将cmake指向该目录.将MySQL安装目录添加到环境变量"MYSQL_ROOT",如"c:/wamp/bin/mysql/mysql5.7.19".注意使用"/“而非”\"

7.安装OpenSSL

  • 下载OpenSSL,推荐64bit,选择"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" -> 随意晃动鼠标直到跑完进度条 -> 点"Save private key"保存私钥(p) -> 复制Key下方文本框中的Public Key
    • 登录GitHub -> 点开用户头像下拉框选择"Settings" -> 点"SSH and GPG keys" -> 点"New SSH Key"
    • "Title"输入标题(p) -> "Key"将之前PuTTYgen中生成的Public Key复制进去 -> 点"Add SSH Key"完成
    • 开始菜单 -> 找到并打开"TortoiseGit\Settings" -> 点"NetWork" -> 点"SSH Client"的"Browse…" -> 进入"C:\Program Files\TortoiseGit\bin"目录,选"TortoiseGitPlink.exe"
  • 打开Trinity源码库 -> 点"Clone and download" -> 复制连接
  • 创建目录如"D:\Trinity" -> 进入后点击鼠标右键,选择"Git Clone…"
    • “Directory:“填入"D:\Trinity\Source” -> 选中"Load Putty Key"并点”…“选中步骤1中保存的私钥(p) -> 点"OK”
  • 等待下载完成后进入"Source"目录 -> 点右键选"TortoiseGit" -> “Switch/Checkout…” -> “Branch"选分支3.3.5 -> 点"OK” -> 切换到3.3.5a版本对应服务端源码

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.编译源码

  • 等待VS2019加载完成"D:/Trinity/Build/TrinityCore.sln"
  • 选择菜单中的"生成->配置管理器"打开编译配置界面 -> "活动解决方案配置"设为Release -> "活动解决方案平台"设为x64 (需确保之前安装的软件全部是64位的) -> “关闭”
  • 在 “解决方案资源管理器” 中右键单击 ALL_BUILD 选择 “清理” -> 完毕后再次右键单击 ALL_BUILD 选择 “生成”, 即开始编译源码了,约需3~30分钟,视电脑配置而定.
  • 编译成功后,可在"D:\Trinity\Build\bin\Release"中找到编译好的文件
  • 想要正常运行程序,需要如下文件:
    • libmySQL.dll – 从 “C:\Program Files\MySQL\MySQL Server 5.x\lib” 手动复制到目录
    • libeay32.dll ; ssleay32.dll – 从 “C:\OpenSSL-Win64\bin” 手动复制到目录
    • worldserver.conf.dist ; worldserver.exe ; authserver.conf.dist ; authserver.exe 由编译生成

4.保持源码更新

  • 在源码目录"D:\Trinity\Source"中点击右键 -> 选择"Git Sync" -> “Pull”
  • 打开CMake -> Configure -> Generate -> Open Project 重新编译
  • 运行 worldserver, 如果有sql脚本更新(可在命令行窗口看见)

三、提取资源文件 DBC Maps VMaps MMaps

  1. 将"D:\Trinity\Build\bin\Release"中下述4个可执行文件复制到"WOW客户端"(3.3.5)根目录中

    • mapextractor.exe 提取dbc和cameras文件
    • vmap4extractor.exe 提取maps文件
    • mmaps_generator.exe 提取mmaps文件
    • vmap4assembler.exe 提取vmaps文件
  2. 复制"D:\Trinity\Source\contrib\extractor.bat"批处理文件到客户端根目录中 -> 右键点击 extractor.bat -> 管理员模式运行

  3. 输入1后回车,提取dbc和maps -> 等待提取结束后输入2回车,提取vmaps文件 → 3提取mmaps(耗时超过1小时,不可中断)

  4. 提取结束后,将Cameras、dbc、maps、mmaps和vmaps 移动至服务端程序根目录"D:\Trinity\Build\bin\Release"中

四、安装数据库

  1. 打开"D:\Trinity\Source\sql\create\create_mysql.sql" -> 设定用户名和密码 -> 执行脚本,创建相关数据库:

    • Auth:帐户数据库 - 保存用户名,密码,GM访问权限,区服信息等
    • Characters:角色数据库 - 保存角色,揹包,银行物品,拍卖行信息等
    • World:世界数据库 - 保存游戏体验内容,如npc,任务,物品信息等
  2. 下载数据库脚本,从官方源码库下载sql

    • 注意不同的数据库脚本对应不同的分支,如 “TDB 335.xxxxx” 对应分支3.3.5
    • 下载后缀为 “.7z” 的文件, 需要 7zip 解压
    • 将解压后的SQL脚本复制到worldserver.exe相同根目录下"D:\Trinity\Build\bin\Release"
    • 注意: 不需手动导入任何数据库;如计划手动导入,则需禁用配置文件"worldserver.conf"上的Updates.AutoSetup
  3. 保持数据库更新

    • 更新源码后,每次启动"worldserver.exe"时,会自动执行最新的SQL升级脚本,无需人工干预.

五、Worldserver 和 Authserver配置

  1. 对于几乎所有的基本设置场景,localhost (127.0.0.1) IP设置 以及 bindip(0.0.0.0) 默认值都应保持不变

  2. 修改 authserver.conf 配置文件

    • 去掉authserver.conf.dist的".dist"后缀,用文本编辑器如Notepad++打开,语言设为YAML
    • 找到数据源"MYSQL SETTINGS"配置域,修改 LoginDatabaseInfo = “localhost;3306;trinity;trinity;auth”
  3. 修改 worldserve.conf 配置文件

    • 去掉worldserve.conf.dist的".dist"后缀 -> 打开 -> 找到"CONNECTIONS AND DIRECTORIES"配置域,修改:
      • LoginDatabaseInfo = “localhost;3306;trinity;trinity;auth”
      • WorldDatabaseInfo = “localhost;3306;trinity;trinity;world”
      • CharacterDatabaseInfo = “localhost;3306;trinity;trinity;characters”
    • 注意:如果你自己设定了用户名和密码,将斜体部分改为你的设定(用户名,密码).
  4. 修改服务器IP地址(本机测试可忽略该步骤)

    • 为Internet连接配置auth数据库的realmlist表,确保 authserver 将进入的客户端连接指向你实际的区服地址
    • 运行数据库管理工具 -> 打开auth数据库并 -> 打开realmlist表 -> 根据需要设置 address 字段
      • 局域网(192.168.x.x) - WoW与TrinityCore在同一网络(路由器)上的不同计算机上,改为服务器IP地址
      • 本地localhost(127.0.0.1) - WoW与TrinityCore在同一台计算机上且只有你在连接它,保持默认配置
      • 外部IP — 如需其他人能连接你的服务器,访问地址获得你的外部IP地址
  5. 将"auth.realmlist.gamebuild"字段设为你的WoW客户端版本号(国服为13930,台服为12340).

六、启动服务器

  1. 运行 authserver.exe - 登录与网关程序

    • 允许你输入用户名和密码来连接到区服选择界面
  2. 运行 worldserver.exe - 游戏主程序

    • 允许您连接到所选区服本身,一旦进入游戏,如果不希望其他人连接到服务器,则可以安全地关闭authserver
  3. 创建账号并授予GM权限,在worldserver.exe的DOS窗口中输入如下命令:

    • 创建账号: account create , 示例: account create test test
    • 授予GM权限: account set gmlevel 3 -1, 示例: account set gmlevel test 3 -1

七、配置WoW客户端

  1. 进入客户端"World of Warcraft\Data\zhCN"目录 -> 打开"realmlist.wtf"文件 -> 配置为五.4步骤中的IP

    • 将第一行更改为:set realmlist <realmlist表中的IP> 示例: realmlist 127.0.0.1
    • (可选)如果用 WoW launch.exe 运行客户端,必须将set patchlist更改为与realmlist相同的ip/dns名称
  2. 打开游戏,输入刚才创建的GM账号,在艾泽拉斯的世界中尽情遨游吧!

GM命令大全

日志配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章