Mooege源碼研究系列1

最近下載了mooege源碼閱讀,隨便寫寫

mooege是使用C#實現的Diablo3 服務器的模擬器,是GNU開源,爲學習交流所用,禁止用於商業用途。網址: http://wiki.mooege.org
下載了可運行版本,可是運行時出錯了。按照網上提示的步驟登錄就出錯。就下載了源碼下來隨便看看(最後發現錯誤的原因是Diablo3的patch5 mooege還不支持)。


下載的mooege-mooege-80468f4這個版本,所以一下內容只對應該版本,僅爲個人觀點,如果能作爲參考,不勝榮幸。

目錄結構
license及readme之類的文件

assets/: 保存account數據庫account.db,配置文件config.ini以及拷貝Diablo3的mpq文件的一個目錄

build/: 工程文件(*.sln,使用vs2010打開);包括項目總工程及一些tools的工程

contrib/: 該目錄個人認爲非常重要(不知道從什麼地方獲取的^_^),該目錄描述了Diablo 3的通信協議以及數據結構(protocompiler\definitions目錄)的protocol buffers(detail see: http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/overview.html)
首先通過該目錄能夠自動生成協議的C++, C#, java以及Python語言版的協議類
其次通過閱讀這些類就可以知道Diablo 3的通信協議和數據結構

比如Account.proto文件,這是描述賬戶相關的協議
首先定義了賬戶相關的BannerConfiguration(用戶旗幟配置)數據結構
然後是賬戶信息以及保存一個賬戶所以相關的內容。這些信息的重要性可見一斑

運行generate.bat(Linux使用generate.sh)來生成各種語言的類,下面的src\LibMooNet就是從CSharp目錄拷貝過去再修改的

src/: mooege源代碼目錄
包括
LibMooNet/: 上面提到從protocol buffers生成並修改的文件
Mooege/: mooege主要類
tools/: 一些工具的源代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章