在sourceforge上開發的mangos(Massive Network Game Object Server)項目是基于GPL協議的。據說是和魔獸世界獨立無關的網絡游戲服務器引擎程序。游戲的內容部分(數據庫內容)又是由獨立的小組開發的,這樣也許避免了很多法律上的問題。但是大多數魔獸世界的盈利的私服都是基于這個開源的項目的,為此開發小組表示這樣盈利性質的服務器和對他們項目的使用是違背協議和非法的。

  本文對mangos作一個粗略的介紹,并且使用了魔獸世界的客戶端對mangos作了一些測試。

  開源社區常常有很多出人意表的項目,讓人往往擊節嘆賞。例如當年在普通PC電腦上虛擬運行蘋果機系統的pearpc。把微軟游戲機xbox改裝成家庭影音中心的xbox-media-center,以及在ipod上安裝linux的ipodlinux等項目。在電腦游戲方面當然也有很多出色的開源項目。

  暴雪公司的游戲歷來都是精品。網絡游戲大熱以后,它推出的基于10年游戲歷史的網游:《魔獸世界》也更是名聲在外(當然有好有壞,壞名聲在于它太吸引人以致于很多人沉湎其中)。網絡游戲的盈利模式和傳統電腦游戲不同,月費和其他的周邊產品使得其贏利空間遠遠大于傳統電腦游戲。對于網游運營商來說很大的一個問題是私服的問題。很多私服的軟件是從網游開發公司或者運營公司內部非法的流出來的,比如說網游《仙境傳說》的私服。

  而現在大多數魔獸世界的“私服”實際上是服務端軟件的模擬器。是在對客戶端游戲軟件和與服務端的進行通信的數據進行分析解密以后,開發出來的模擬原游戲服務器功能的軟件,這樣的模擬器軟件大都也是開源軟件。比如像現在大部分魔獸私服使用的Mangos服務端軟件,mangos項目是一個開源的自由軟件(如同linux或者 firefox),并且遵守其中最為嚴格的GPL協議。

  MaNGOS 是(Massive Network Game Object Server)的縮寫。由于暴雪公司對類似的開發小組采取過一些法律行動。為了避免麻煩,如同它的名字,mangos強調自己并非一個魔獸服務器模擬器,而是一個開源的多人在線游戲服務器的軟件。說到底是個網游的游戲引擎。Mangos開發小組強調其軟件是用c++和C#編程語言,實現的一個支持大型多人在線角色扮演游戲服務器的程序框架,在這個框架下,它理論上應該支持任何客戶端的網絡游戲,由于現在很多人使用魔獸世界來對它進行測試,所以針對魔獸世界的腳本和數據庫文件比較完善,很多人就利用這個開源項目來實現魔獸私服。而游戲的內容,例如故事情節,任務場景的腳本等都是由別的小組獨立開發的。

  開發小組一再強調,這是個研究,教育性質的對怎樣開發大型網游的服務器端有好處的項目,是一個技術細節毫無保留向公眾開放的軟件,是一件很有意義的事情,如果你使用它作為盈利目的,那你本身就違反了軟件的協議。所以任何利用mangos項目進行私服活動的組織和個人都違反了mangos的宗旨,mangos項目也不會對它們負責。

  mangos的技術細節上是這樣的,核心部分是個和特定游戲沒有關系的核心框架程序,主要是進行進程調度,創造世界,建立心跳機制,處理網絡接入等。數據庫可以使用的開源數據庫軟件MySQL。至于游戲內容數據庫,游戲人物,時間,世界腳本,都是由這個核心程序所支持的擴展腳本來實現,所以有一些獨立出來的項目專門模擬魔獸世界來開發支持mangos的核心程序。現在mangos的核心程序已經放到著名的協同開發網站 sourceforge上開發了,使用的開發工具是subversion。大家都可以從sourceforge的subversion數據庫中下載最新的源代碼程序。

ps:

    MaNGOS是WoW的模擬服務器端工程,架設在sourceforge上,使用C++,開放源碼,代碼寫的很清楚,架構清晰,質量很高.個人看重的,是其對3D游戲服務端編程的通用流程和問題的處理手法和經驗.研究消息包結構,一般就能推斷WoW采取哪種邏輯方案來解決一些棘手的通用問題,而服務端編程質量在很大程度上取決于程序員的經驗.由于采用大量優雅的模板技法,MaNGOS的編譯速度很成問題,調試變得有點困難.