最近研究了一下魔獸世界模擬器MangosZero,花了兩天時間終於編譯成功!如今把編譯的過程作個完整的記錄,以便讓想要學習編譯的同窗們少走彎路!mysql
服務器端運行界面:git
客戶端運行界面:github
一:下載源程序sql
所需軟件Git-1.7.9-preview20120201和TortoiseGit-1.7.7.0-64bit,這裏把下載地址提供給你們,百度網盤連接:http://pan.baidu.com/s/1pLbhfyb 密碼:dwb5數據庫
新建一個目錄Mangos,右鍵Git Clone 輸入 http://github.com/mangoszero/database.git,要勾選Recursive服務器
這裏是下載數據庫,下載完成之後,再右鍵選擇Git Clone,輸入https://github.com/mangoszero/server.git,一樣也要勾選Recursive學習
這是服務器源碼。ui
下載完成後,在win目錄有些程序要先進行安裝spa
可選擇32位或64的進行安裝,安裝完成以後,運行MaNGOS_EasyBuild.exe.net
箭頭所示表示可編譯32位或者64位程序,有一個打勾便可,如今能夠運行CMake生成解決方案
創建一個空目錄,用來放置生成的解決方案,好比 Server_VS
點擊configure
點擊Finish,完成後點擊Generate開始生成解決方案,而後就能夠編譯了
二:導入數據庫
> cd Mangos > cd database > InstallDatabases.bat
起始就是運行database文件夾下的InstallDatabases.bat腳本。跟着提示一路配置下去。幾點要注意:
1. 第一步輸入N進行下一步
2. MySQL的密碼就是上面安裝MySQL設置的密碼
3. 沒有其餘什麼要求,剩下的配置都使用默認就好,下面的教程將根據默認配置來
若是一切順利,你會在MySQL裏面看到三個新的數據庫,以下
它們分別是character0 mangos0 realmd
三:生成地圖文件
1. 將server_build/bin/Debug/下的文件都拷貝到你的WoW客戶端的根目錄(也就是WoW.exe所在的目錄)
2. 再將server_build/bin/Debug/tools/下的文件都拷貝到你的WoW客戶端的根目錄
3. 在WoW客戶端目錄下,運行ExtractResources.sh,跟着指引一步一步配置,當運行完後,會生成三個目錄 dbc maps vmaps。
4. 在Mangos目錄下新建名爲Data的文件夾,將上面的三個目錄拷貝到Data文件夾下
進入Mangos/server_build/bin/Debug/文件夾下,將mangosd.conf.dist文件重命名爲mangosd.conf,並修改裏面的內容
DataDir = "."
修改成
DataDir = "C:\Mangos\Data"
假設你的Mangos新建在C盤根目錄下。
LoginDatabaseInfo "127.0.0.1;3306;mangos;mangos;realmd" WorldDatabaseInfo = "127.0.0.1;3306;mangos;mangos;mangos" ScriptDev2DatabaseInfo = "127.0.0.1;3306;mangos;mangos;mangos" CharacterDatabaseInfo = "127.0.0.1;3306;mangos;mangos;character0"
修改成:
LoginDatabaseInfo = "127.0.0.1;3306;root;123456;realmd" WorldDatabaseInfo = "127.0.0.1;3306;root;123456;mangos0" ScriptDev2DatabaseInfo = "127.0.0.1;3306;root;123456;mangos0" CharacterDatabaseInfo = "127.0.0.1;3306;root;123456;characters"
假設你的MySQL密碼爲123456.
2. 將realmd.conf.dist文件重命名爲realmd.conf
LoginDatabaseInfo = "127.0.0.1;3306;mangos;mangos;realmd"
改成:
LoginDatabaseInfo = "127.0.0.1;3306;root;123456;realmd"
五:建立賬號
客戶端後登陸會發現沒有帳號可用,註冊帳號的辦法有兩種:
第一種方法是經過SQL語句直接在數據庫裏面加
INSERT INTO account (username, sha_pass_hash, email) VALUES ('用戶名',SHA1(CONCAT(UPPER('用戶名'),':',UPPER('密碼'))), '郵件地址')
替換命令中的 用戶名、密碼、郵件地址 便可。
第二種方法最簡單,後面啓動遊戲服務器worldserver以後,在這個命令窗口能夠輸入GM命令:
create account 用戶名 密碼
六:下載客戶端及登錄器
連接:http://pan.baidu.com/s/1kVDiZt1 密碼:lp1d
連接:http://pan.baidu.com/s/1pKTF7ej 密碼:0uaj