對於不同語言版本的用戶端,MaNGOS的安裝上略有區別,本文將針對魔獸世界2.3.3簡體中文版,詳細講述安裝步驟。
一、必備工具
- WoW用戶端。可從官網下載,也可購買DVD安裝盤(如果版本低於2.3.3,需下載補丁升級)。
- 編譯好的MaNGOS。使用Subversion從https://mangos.svn.sourceforge.net/svnroot/mangos/trunkcheckout原始碼,在win子目錄下選擇相應的vs解決方案版本開啟項目,編譯後bin中就是MaNGOS的運行檔案。也可以直接從http://www.mangosproject.org/forum/index.php?showtopic=4088下載編譯好的版本。
- 地圖提取工具“ad.exe”。為了支援中文版,必須從https://mangos.svn.sourceforge.net/svnroot/mangos/trunk/contrib/map_extractorcheckout原始碼,修改system.cpp中的語言代碼為:char* langs[]={"zhCN", "enCN", "enUS", "frFR", "esES"},然後重新編譯得到ad.exe。
- dbc提取工具mpqe.exe。該工具由C#編寫,運行需要.Net Framework。可從http://www.mangosproject.org/forum/index.php?showtopic=7456下載可執行檔,也可從https://mangoscms.svn.sourceforge.net/svnroot/mangoscms/trunk/tools/MPQEcheckout原始碼,自行編譯。
- MySQL社區版
- MySQL GUI用戶端工具,如免費且好用的SQLyog。
二、安裝MySQL並建立資料庫
- 安裝MySQL社區版,並配置SQL伺服器。
- 安裝SQLyog。利用其登入,建立realmd、characters、mangos、scriptdev2資料庫。
三、建立MaNGOS目錄
- 建立MaNGOS目錄,如:"D:/MaNGOS"。(如果直接下載編譯檔案,可省略以下步驟)
- 拷貝原始碼目錄下/bin/release中的所有exe和dll檔案到MaNGOS目錄。
- 拷貝/src/mangosd和/src/realmd中的mangosd.conf.in和realmd.conf.in,去掉“.in”尾碼。
- 確保“libeay32.dll”和"libmySQL.dll"在MaNGOS目錄下。
四、提取用戶端map檔案
- 將ad.exe放在用戶端安裝目錄下,如:"D:/Word of Warcraft"。
- 建立"maps"子目錄,如:"D:/World of Warcraft/maps"。
- 運行ad.exe(大概會提取至少3400個map檔案)。
- 當ad.exe運行完成後,拷貝maps子目錄到MaNGOS目錄下。
五、提取用戶端dbc檔案
- 在MaNGOS下建立dbc子目錄。
- 將mpqe(包括:mpqe.exe和sfmpq.dll)拷貝到用戶端安裝目錄/data/zhCN下。
- 在命令列介面中運行: mpqe /p local-zhCN.mpq DBFilesClient/*.dbc。
- 當mpqe運行完成後,拷貝../zhCN/MPQOUT|DBFilesClient下的所有dbc檔案到MaNGOS的dbc子目錄下,應該有176個檔案。
六、構建Vmap檔案
- vmap用於處理“視線”問題。
- 找到MaNGOS原始碼或者編譯版本中的makevmaps_SIMPLE.bat,運行之。
- 將組建目錄vmaps/下的所有vmap檔案拷貝到MaNGOS目錄下的vmaps子目錄中。
七、安裝及更新資料庫
- 用SQLyog串連MySQL資料庫。
- 右鍵點擊realmd資料庫,選擇“Restore from SQL Dump”。
- 找到MaNGOS的sql目錄中的realmd.sql,執行。
- 使用相同方法匯入characters、mangos、scriptdev2資料。
- 需要說明的是,scriptdev2是針對WoW的遊戲指令碼,增加了額外的怪物及BOSS的AI,如果沒有該指令碼,你就只能進入一個索然無味的WoW世界。MaNGOS的編譯版本中一般會提供scriptdev2的dll和sql指令碼,如果你沒有它們,可以從https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/checkout來編譯,並將scriptdev2.dll拷入MaNGOS目錄。
- 在sql目錄下提供了各個資料表的更新指令碼,如果你在運行mangosd.exe時失敗,請查考記錄檔,為對應的資料表進行更新。
八、使用UDB資料豐富遊戲世界
如果使用MaNGOS內建的mangos.sql,你將只能得到一個相當簡單的遊戲世界。為了豐富遊戲世界,有另外一個小組著力於開發mangos資料指令碼,你可以從http://www.udbforums.org/得到更多關於udb的介紹。http://www.udbforums.org/index.php?showtopic=6629提供了目前最新的mangos資料指令碼下載,通過使用第七步所講述的方法,將sql指令碼匯入mangos資料庫。
九、配置MaNGOS和用戶端
- 在用戶端的wtf子目錄下建立realmlist.wtf檔案(如果沒有的話),並寫入“set realmlist 127.0.0.1”。
- 開啟MaNGOS的realmd.conf檔案,找到“LoginDatabaseInfo =" 將其修改為 "LoginDatabaseInfo = "127.0.0.1;3306;root;[password];realmd"。
- 開啟mangosd.conf檔案,找到"[list]"項,修改:
- DataDir = "."
- WorldDatabaseInfo = "127.0.0.1;3306;root;[password];mangos"
- LoginDatabaseInfo = "127.0.0.1;3306;root;[password];realmd"
- CharacterDatabaseInfo = "127.0.0.1;3306;root;[password];characters"
十、運行伺服器端和用戶端
- 先後啟動realmd.exe和mangosd.exe,也可以寫個批處理來運行,內容如下:
@echo off
start realmd.exe
start mangosd.exe
@echo on
- 對於用戶端,不要直接點擊捷徑,因為其指向Launcher.exe。應該運行Wow.exe。
- 如果用戶端啟動有問題(多數問題集中在mangosd.exe),請查看log檔案,用sql/update中的資料指令碼更新出現問題的資料表。
下面貼幾張:
P.S. 由於UDB沒有漢化,所以在遊戲中某些地方會出現英文。