TrinityCore 魔獸世界私服11159 完整配置


  1. 為什么要研究TrinityCore ?   
  2. (1)它是一個完整成熟的可運行調試的網游服務器框架。  
  3. (2)它是一個跨平台的標准C++編寫的項目,在Windows、Linux、MacOSX上都可編譯運行。  
  4. (3)它使用了ACE、OpenSSL、Socket Library等開源庫。  
  5. (4)代碼質量高,適合於進階C++高級程序員學習。  

引言: 在2005年魔獸世界正流行時,有一批牛人基於官方WOW客戶端生造一個模擬的服務器,這個開源項目叫Mangos,在於幫助人們了解網游服務器開發。 在2008年后,在Mangos的基礎上又衍生了一個新的項目TrinityCore,經過多年的積累,魔獸私服TrinityCore已經相當穩定,可以正常的用官方客戶端登錄私服,體驗魔獸世界。  

但是由於魔獸版本過多,每更新一次WOW客戶端就得對服務器進行調整,因為一旦客戶端修改了網絡包以及數據庫結構,服務器也得同步更新,因此一個服務器版本只能對應一個指定的客戶端版本。 這也導致想配置一個完整的私服環境是困難的,但本人經過兩個月的不懈努力,終於成功搭建整個環境(需要各種文件資源的請QQ ME)。 

 

客戶端使用官方的3.3.0 11159台服版本,客戶端目錄如下所示:

 

主要的資源文件為Data目錄下的MPQ文件,打包存儲了所有的資源文件。因為服務器端也需要部分資源文件,需要從客戶端的MPQ文件里提取資源。

 

在11159服務器端包中,找到地圖解壓工具,如下圖

 

將“TC2-3.3.0-V1.0.0.exe”文件放到WOW目錄下,執行,得到dbc和maps兩個文件夾,將兩文件夾放到Trinity_Core_2目錄下,作為服務器端資源文件。

 

 

 

從網上下載的源碼包如下:

 

win文件夾下存放sln解決方案文件,如下圖:

 

src文件夾下存放源代碼文件。

sql文件夾下存放數據庫sql文件,如下圖:

 

正常執行順序依次是:create_mysql.sql –》 realmd.sql –》 characters.sql–》 world.sql。

realmd數據庫存放帳號和服務器列表信息,characters數據庫存放玩家數據,world存放游戲信息。 在navicat formysql里執行sql文件(“運行批次處理文件”)

 

 

其中realmd和characters數據庫只需要執行以上兩個sql文件即可,里面可以沒數據。但world數據庫必須要有正式的數據,執行下面這個非常大的sql文件,該sql負責重建表,並插入大量數據(估計需要三四個小時)。

 

 

 

用Visual Studio 2005打開TrinityCore&Script VC80.sln文件,如下圖:

 

 

主要有TrinityRealm和TrinityCore兩個exe項目,其中zlib項目由於不知道什么原因,每次調試都重新編譯,生成成功后將其卸載,由於只有shared項目直接依賴zlib庫,右擊shared屬性,選擇“管理員”-》“常規”-》“附加依賴項”,添加一條,如下圖:

 

.\zlib__$(PlatformName)_$(ConfigurationName)\zlib.lib

 

由於要調試程序,要生成調試信息,並阻止VS對代碼進行優化,因為一旦優化后就無法正常調試程序了,會出現查看不到變量信息,以及斷點和代碼不匹配的情況出現,設置如下(每個項目都要設置):

 

設置“調試信息格式”為“程序數據庫Zi”

 

設置“優化”為“禁用”

 

exe項目還需要專門設置一項

設置“生成調試信息”為“是”

 

設置調試類型為“Release”,如下圖

 

執行“重新生成解決方案”,在bin文件夾下生成dll和exe文件,如下圖

 

 

 

轉自:http://blog.csdn.net/lgh1700/article/details/7692394


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM