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命令大全

日誌配置

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