『壹』 魔獸世界用的什麼資料庫
引用自cnblogs@Zealic:
最近幾天重溫了一下WOW,結合最近學習的資料庫知識和自己的了解,對WOW的大概體系做了分析。當然,我僅僅只是窺豹見斑而已,希望對WOW有所了解的大俠能給我和向了解WOW的人指點;讓世人更加了解WOW,讓中國的游戲能夠學習(不是抄襲)並超越WOW。
不知道哪來的想法,就想到了WOW的資料庫的結構以及程序實現,那麼,就來了解一下吧。
首先想到:Game Server 使用的是什麼OS和Database
起初猜測為 : Unix/BSD ,資料庫為 Oracle
這樣比較適合WOW這樣的大型網路游戲,因為其存儲和數據量極大
網上查到的一些關鍵資料,可以證明我的猜想和實際相差不大
1.9C在一次伺服器故障中的說明,下面只列出關鍵部分
08:29 收到EVA存儲報警郵件,聯系數據中心工程師,聯系惠普工程師.
08:35 故障應急流程啟動,相關人員包括THE9/HP/Blizzard US .
15:33 Oracle專家加入故障應急流程
15:50 暴雪資料庫工程師開始與Oracle專家繼續分析故障情況.
17:15 暴雪表示暫時還未從他們的admin以及DBA處獲得任何有新的消息,他們仍然在研究此故障。
2.Blizzard的資料庫管理員招聘要求
Oracle Database Administrator
The World of Warcraft development team is looking for a self-motivated and knowledgeable IT professional to help administer the WoW databases. As the person responsible for handling the database-side of WoW pushes and patches, our Live Team Oracle DBA's job ties would include designing, configuring, maintaining, monitoring, benchmarking and troubleshooting Oracle databases.
Blizzard offers a fun, creative, and technically challenging environment with excellent compensation and a full range of benefits.
Responsibilities:
Provide proction on-call support.
Maintain and enhance existing databases.
Perform routine database maintenance.
Work with end users to ensure smooth proction rollouts and pushes.
Assist in training other employees.
Requirements:
3+ years professional Oracle DBA experience, including Oracle 9i.
Extensive experience with database performance tuning.
Experience working with large databases (>1TB).
Experience with Oracle RAC and Partitioning features.
Proficiency in Linux/Unix environments including shell scripting.
Plusses:
Strong knowledge of SQL & PL/SQL.
Familiarity with UNIX tools and shell scripting
Familiarity with HP EVA's and Data Protector.
Passion for video games, including MMORPG's
因此WOW的伺服器應該為 : HPUNIX + ORACLE
那麼我就對WOW的資料庫做一些猜想,至於正確與否或者符合程度集合,就無從而知了
主要分為以下幾塊
-游戲伺服器:
這里說的是游戲中的伺服器,而非上面提到的物理意義上的伺服器,比如,七區的惡魔之魂、黑鐵、加基森就是游戲伺服器。
-游戲區:
游戲大區,一個大區是由許多個游戲伺服器構成的。之所以分大區,我認為完全是因為物理原因,每個區都其物理構成應應該是一個伺服器群集,而在這群集上,有許多的資料庫實例,每一個資料庫實例都對應一個游戲伺服器。
-驗證系統:
游戲中的登錄、排隊、驗證身份應該都是又這一部分完成的。
-聊天頻道:
聊天頻道是一個獨立的伺服器,這一點可以從游戲中人物、地圖都很卡而聊天卻完全不受影響的情況分析出來,聊天不可以離線發送消息,因此我可以武斷的認為,聊天伺服器基本不操作資料庫,至多在當前無法處理或者玩家暫時接收不到的情況下,使用一些臨時的表來保存消息;或者伺服器將聊天數據全部保存到資料庫中,以方便對玩家的行為查詢。
另外,聊天伺服器是獨立於所有伺服器的,每個區的所有游戲伺服器都是使用對應於該區的聊天伺服器。這樣,可以專門針對聊天伺服器的特性,對伺服器的系統和資料庫進行專門的優化
-副本&戰場:
副本&戰場(以下簡稱副本)我覺得也應該和聊天伺服器相同,是個獨立的伺服器,不過他與普通游戲伺服器不同,並沒有保存其他的地圖數據,僅僅保存了副本地圖的數據。
至於如何實現跨服戰場,我以為,應該是將需要的角色數據做拷貝到副本伺服器中,並且鎖定原本伺服器中的數據(表或行),在退出戰場時,用副本伺服器的數據更新原來的數據。我們可以把戰場看做資料庫中的臨時表,做了處理以後更新到需要保存的地方。
通過上述解釋,也可以理解為什麼在進入戰場時需要載入畫面了,載入畫面並不僅僅是作為一個過渡畫面,它還承載了載入客戶端資源,與服務端通信進行處理;顯示載入畫面時,副本伺服器應該是如上所說游戲伺服器交換了角色數據。
大型副本與普通副本不同的地方,我覺得僅僅是重置時間和副本策略做了改變而已。
-地圖
地圖的定義是在客戶端的資源中的,為防止用戶篡改,BLZ對定義地圖的資源文件和DBC進行使用了混淆命名以及檢查校驗;之所以這么認為,是因為中國WOW公測的時候,出現一些加速外掛,可以讓角色直接穿越牆壁、地表等看起來不可能穿越的物體,這便驗證了BLZ為了減輕伺服器負擔,直接在客戶端進行了大部分的碰撞檢測。
WOW的的實際地圖結構和游戲中我們所見到的不一樣,他是把一塊大陸分成N個小塊的地圖數據,客戶端僅僅需要載入玩家角色所在位置附近的所有地圖塊就可以了。其技術細節就不做詳細分析了。
-東西大陸:
每個大陸都應該是一個獨立的資料庫,之所以出現載入畫面,我認為是因為兩個大陸的地形材質大不相同,客戶端需要先釋放出發大陸的所有資源,載入目的大陸的必要資源,同時轉移角色的數據到目的大陸。
-角色:
游戲中的角色應該是被分離成數個表,包括玩家的屬性,任務,包裹,郵箱,銀行等。一些重要的,比如物品包裹、郵箱、銀行,伺服器會在很短(相對其他數據而言)的時間內將內存中的緩存數據寫入提交到資料庫中;而一些相較以上數據不是很重要的數據,則需要很長時間才會提交到資料庫。這也解釋了為什麼伺服器回檔時,角色的位置和任務等都回檔了,而物品卻沒有回檔,這也造成了傳說中的雙手痛擊。
-怪物:
世界中的怪物生成應該是使用了Prototype模式,那麼保存怪物的數據其實之需要保存其會變化的值就即可。
-其他:
游戲中總是有一些事件發生,比如:暗月馬戲團的來訪,萬聖節的活動,情人節的活動等等,這些東西應該都是具有伸縮性的,可以想像,為了方便BLZ自WOW的管理和擴展,在伺服器或伺服器群集管理中心中,應該有BLZ為自己和代理商提供的工具或者說腳本使用指南。至於WOW採用的腳本是什麼,這個我就猜不到了,可能是Perl\Python\SH吧,反正不會是LUA。
-行為與技能:
為什麼WOW玩起來感覺這么流暢,沒有其他網路游戲看起來或感覺起來反應遲鈍,WOW並沒有每時每刻都與客戶端進行通信;其主要工作原理是,客戶端首先處理用戶的輸入,並執行相應的開始動畫或處理,而實際顯示結果要等待服務端處理並返回後才會顯現出來,這就是為什麼在掉線後,玩家還做操作角色,但是卻無法獲得操作結果。
技能和行為差不多,其實很多游戲中的限制都是在客戶端進行的,這都是BLZ為了減輕服務端的負擔、減少通信量而造成的。那麼,我在這里大膽的猜測,只要分析出內存地址或相應代碼,WOW是有很多地方可以被篡改的;因為據我所知,目前WOW的所有外掛都是通過暴力修改客戶端的內存實現的,而非常見的修改網路封包,BLZ加密還是做的很不錯的 :)。
基本上就分析了這么多了,我試圖從自己的腦子里挖出更多的東西,可惜所了解的東西仍然太少,沒辦法,現這樣吧。
----------------------------------------------
PS:大芒果單機版WOW採用的MySQL
『貳』 魔獸世界資料庫哪兒有
http://db.owan.com/wow/
這個是多玩國服的魔獸世界資料庫
『叄』 魔獸世界客戶端內有地圖資料庫嗎
有。《魔獸世界》屬於大型多人在線角色扮演游戲,其客戶端內把一塊大陸分成N個小塊的地圖數據,有地圖資料庫。《魔獸世界》(WorldofWarcraft)是由著名游戲公司暴雪娛樂所製作的第一款網路游戲。
『肆』 誰能給個魔獸世界的資料庫啊,全點的
http://wow.gamespot.com.cn/Atlas/#SunwellPlateau
目前最好的中文資料庫,很全的,太陽井的東西都有,WLK的資料也很多
『伍』 魔獸世界的資料庫可以下載嗎
魔獸世界資料庫?....魔獸世界是網路游戲,他的資料庫中存的應該是所有玩家的角色資料,不可能給你下載的。
你說的是不是下載魔獸世界的伺服器程序?那個程序不是暴雪官方的伺服器程序,會有很多問題。
『陸』 魔獸世界資料庫哪兒有
http://db.178.com
『柒』 魔獸世界10.0資料庫在哪
魔獸世界10.0資料庫在Data里。
1、打開電腦中的魔獸安裝文件夾。
2、進入後可以看待兩個大文件夾,其他classic是懷舊服,retail是正式服。
3、最下面就是文件夾Data。
『捌』 問關於魔獸世界資料庫的問題 大哥大姐懂的速進 解決加分
MPQ文件魔獸裡面的 模型文件 等等一些,或者稱為 MoPaQ,是被譽為 Blizzard 公司的多人游戲引擎天才的 Mike O'Brien 發明的一種私有壓縮文件格式。1996年,該格式作為一種多用途壓縮文件
應用在游戲 Diablo 中,並以它的創始人命名「Mike O'Brien PaCK」。但是它的版權卻屬於 Blizzard 的父公司 Havas Interactive。盡管現在 Mike O'Brien 已
經離開了 Blizzard,這種格式仍然在使用。顯然,MPQ 格式壓縮文件在 Diablo中出色地扮演了它的角色,因為 Havas 公司一次又一次地在游戲中使用它:Starcraft, Warcraft 2: BNE, Diablo 2, Lords of Magic(Havas 的另一個子公司 Sierra 的作品),也許還有其他我不知道的游戲。壓縮文件是一種內部包含許多其它文件的文件,通常這些被包含的文件處於壓縮的狀態。Havas 公司將需要復
制到硬碟上的各種各樣的重要游戲數據都包裝在 MPQ 格式文件裡面。這些 MPQ 文件包含圖像、聲音、動畫、標准、字元串、數字數據,以及故事情節。
『玖』 大家來推薦幾個 魔獸世界 資料資料庫吧!
最正規有效的是艾澤拉斯國家地理魔獸世界資料庫
http://db.ngacn.com
其次就是新浪的魔獸世界資料庫
http://games.sina.com.cn/z/wow/indexpage.shtml
和17173的魔獸資料庫
http://wow.17173.com
其他的還有
魔獸世界中文資料庫系統
http://wowdb.game.mop.com
大眾游戲網的魔獸資料庫
http://wow.popsoft.com/index.aspx
等等
第一個由於訪問人數太多所以速度不大好,建議最好用第一個,如果由於人多速度影響厲害就用後面的2個,其他的沒有多大使用的必要。
『拾』 求一WOW較全的資料庫網址
多玩魔獸資料庫:
http://db.owan.com/wow/
178魔獸資料庫(NGA):
http://db.178.com/wow/
妖氣山的很久沒更新了。。。