一、環境准備
Git For Windows
VS2010/2012
CMake
Open SSL
MySQL
二、編譯步驟
使用Git從github上下載最新的TrinityCore源代碼
打開CMake,選擇源碼目錄(where is the source code)和工程目錄(where to build the binaries)
點擊Configure,選擇工程類型以及目標平台(Specify the generator for this project),確保選中使用本地默認的編譯器(Use default native compilers)
點擊Finish,CMake將會開始配置
確保在CMake配置過程中沒有任何錯誤提示出現,如果有,解決后重新配置
配置完成后大概是這個樣子
確保僅選中一下幾項:
SCRIPTS
SERVERS
TOOLS
USE_COREPCH
USE_SCRIPTPCH
點擊Generate,開始生成
生成完成后,到工程目錄中雙擊TrinityCore.sln打開項目
在VS中右鍵點擊解決方案,選擇“清理解決方案”,然后選擇“生成解決方案”
生成完成后你可以才工程目錄下的bin\Debug\中看到編譯后的文件
三、生成數據庫
數據庫腳本在TrinityCore\sql目錄下
在mysql中依次執行以下幾個腳本:
sql\create\create_mysql.sql
sql\base\auth_database.sql (執行此腳本前先選中auth數據庫)
sql\base\characters_database.sql (執行此腳本前先選中characters數據庫)
TDB_full_xxx.sql (執行此腳本前先選中world數據庫)
四、生成地圖數據
將bin\Debug目錄下的mapextractor.exe、vmap4extractor.exe、vmap4assembler.exe這幾個文件拷貝到魔獸世界的安裝目錄下(就是wow.exe所在的目錄)
在魔獸世界安裝目錄下新建一個cmd文件,寫入以下代碼
@echo off
cls
:extract_maps
ECHO.
ECHO Extracting DBCs and Maps...
mapextractor.exe
:extract_vmaps
echo.
Echo Extracting VMAPs
vmap4extractor.exe
:build_vmaps
echo.
echo Building VMAPs
md vmaps
vmap4assembler.exe Buildings vmaps
:batch_exit
echo.
echo Press any key to exit
pause > NUL
保存后運行該cmd文件就會開始生成地圖數據,根據機器性能可能需要20-50分鍾不等。
生成完成后你會在魔獸世界安裝目錄下找到vmaps,maps,dbc,Buildings幾個文件夾,Buildings這個沒什么用,可以刪除,其他的幾個文件夾剪切到bin\Debug目錄下。
五、配置服務端
首先確認bin\Debug目錄中有沒有libmysql.dll、libeay32.dll、ssleay32.dll 這幾個動態鏈接庫,如果沒有,從mysql安裝目錄中復制libmysql.dll,openssl安裝目錄中復制libeay32.dll、ssleay32.dll 到bin\Debug目錄下。
復制bin\Debug目錄下的worldserver.conf.dist文件並重命名為worldserver.conf,用記事本打開worldserver.conf文件,找到以下幾行:
LoginDatabaseInfo = "127.0.0.1;3306;root;trinity;auth" WorldDatabaseInfo = "127.0.0.1;3306;root;trinity;world" CharacterDatabaseInfo = "127.0.0.1;3306;root;trinity;characters"
修改為
LoginDatabaseInfo = "你的mysql地址;你的mysql端口;你的mysql帳號;你的mysql密碼;auth" WorldDatabaseInfo = "你的mysql地址;你的mysql端口;你的mysql帳號;你的mysql密碼;world"
CharacterDatabaseInfo = "你的mysql地址;你的mysql端口;你的mysql帳號;你的mysql密碼;characters"
然后保存
復制bin\Debug目錄下的authserver.conf.dist文件並重命名為authserver.conf,用記事本打開authserver.conf文件,找到以下幾行:
LoginDatabaseInfo = "127.0.0.1;3306;root;trinity;auth"
修改為
LoginDatabaseInfo = "你的mysql地址;你的mysql端口;你的mysql帳號;你的mysql密碼;auth"
然后保存
檢查auth數據庫中realmlist表中的port是否與worldserver.conf文件中的WorldServerPort的值一致(默認均為8085),如果不一致修改成一致的。
檢查auth數據庫中realmlist表中的gamebuild值是否與你客戶端版本的最后一項一致,如果不一致,修改成一致的。
六、配置客戶端
將魔獸世界安裝目錄下的Data\zhCN\realmlist.wtf文件中的內容替換為
set realmlist 127.0.0.1:3724
保存該文件
刪除魔獸世界客戶端緩存目錄Cache、WTF
七、啟動服務端
啟動bin\Debug\authserver.exe
啟動bin\Debug\worldserver.exe
八、創建帳號
在worldserver.exe中執行如下命令可以創建帳號
account create 用戶名 密碼
九、啟動客戶端
雙擊魔獸世界安裝目錄下的wow.exe,即可使用剛創建的帳號登錄游戲(如果沒有意外的話)