2012年3月8日 星期四

暗黑破壞神3 Diablo3 Beta 8610 patch 13 整合 mooege 程式完整說明


聲明:本人所介紹的程式及流程僅為學術研究用,絕不支持任何盜版及危害Blizzard公司版權之行為,請玩家測試完畢於24小時內刪除。 以下所有資料都是網路上擷取,本人絕不提供任何侵害版權之程式檔案之下載。

除了上述聲明以外,我還是強烈建議大家體驗過了之後,就乖乖等正版吧!除非你真的很討厭B社對遊戲環境一改再改,想要所謂「真正的自由」,不然還是有好的伺服器速度及大家都擠在同一個地方比較好玩吧?我發現這年代已經快要不是單機遊戲的世代,當然會發展到這樣也不是沒有道理的。大家也都知道太過高調可能FBI&B社員工會來我家找我喝茶,這不是開玩笑的,D2時代有個傢伙就是這樣被抄掉。以下有些關鍵字我就低調一點,大家自行意會吧!如果要留言或轉載的話,也麻煩請盡量避開類似「破X」,「盜X」,「私X」的關鍵字,感謝大家。







測試心得大家都寫得很好,我就不多說了。以往我都是練野蠻人,這次我要跳槽了。僧侶有太陽拳還有爆熱神威掌,石破天驚拳,北斗百裂拳,真是太強大了!


元件


當大家還在等序號的時候,很神奇的是已經有人自行開發了新的玩具。除非B社的協定一直都沒改過,mpq的讀取方法也沒改,或者是D3拖太久了導致一下子被人摸透,不然為啥可以這樣迅速呢?

要能正確進行遊戲必須有三個元件,版本都要能夠對應,缺一不可。所以如果你發現有許多錯誤訊息跳了出來,那肯定就是三個元件的其中一個版本錯誤或是狀況不對,那就要重新檢查然後重新執行。這三樣東西分別是:

  • D3的Beta Client程式,目前(3/8) D3 Beta Client的版本為8610 patch 13,也就是下載到Beta Client Launcher後,讓本文章開頭圖片的這隻程式自動下載及更新到100%。大家可以看一看patch 13有哪些改進: http://wowbox.tw/bbs/viewtopic.php?f=114&t=24254
  • mooege程式,在github上的Egris Branch最新版(3/8為3e59daf632)。mooege是文字介面程式,需要有一隻"MadCow"前端程式來輔助(好像很多diablo geek都很愛用牛...)。這邊要說明的是版本問題,mooege可以利用MadCow來進行更新的,將來如果Beta Client更新了,或MPQ更新了,勢必mooege也要更新。反之你沒事也不要去點Beta Client Launcher來更新,或是去更新mooege。兩邊的版本必須根據兩邊的網站上釋出的資訊來判斷,並且決定要不要更新,任一個錯了都不可!這個Blog將來也會盡量轉載最新的更新訊息讓大家知道。
  • 某個版本的MPQ資料檔(d3-pod 20FB5BE9),幾個重要的mpq檔必須以這裡( http://wiki.mooege.org/Compiling)下載到的為主,而非官方的。之後會詳述。這邊做個解釋,MPQ就是B社一直以來使用的資料包,裡面有很多必須的資料或是更新。也就是說Beta Client的MPQ目錄裡某些的MPQ檔,必須跟mooege的MPQ目錄裡某些的MPQ檔一樣,想想看哪有兩邊的資料不一樣你還能玩呢?很多人卡在一些問題上,都是因為沒好好檢查兩邊檔案差異。後面我們會使用Hash 1.04這個程式來檢查每個MPQ檔的CRC32檢查碼是否相同。 


那這三樣東西要怎樣取得呢?,以下有一些「指引」:

Beta Client
  • http://d.163.com/special/sp/betasetup.html   很多有名的網站都有提供
  • 對岸遊戲論壇的懶人包,例如年度測試版,這些懶人包都會將MadCow+mooege包好,所以只要更新Beta Client及mooege就好
某些與官方提供不同的MPQ檔,及CRC32檢查碼的產生器
mooege & MadCow
接著你必須檢查幾樣事情
  • 你的CPU夠不夠快,記憶體夠不夠大,有沒有還算可以的顯卡。對岸一堆玩家天天坑爹,實在是因為他們的配備都太差了...。以我自己來說Intel i5 4G RAM同時執行D3及mooege偶而會lag,我已經打算將mooege放在另一台電腦來跑了。
  • 你的硬碟夠不夠大,只有Act1就要8G了,又因為mooege必須複製部分的MPQ檔,多占個1G。我自己也會建議將整個Beta Client目錄備份一次。加上為了正式版要出,你最好先準備個30G吧。
  • 你有沒有最新版的顯示驅動程式
  • 你有沒有熱情,時間來去解決一些莫名其妙的問題。沒有的話,建議你不要浪費時間跟那些人一樣玩不到又生氣,等正式版吧!
以下我會用使用這幾個路徑定義,大家不要弄混了。
  • 假設你將Beta Client裝在C:\Program Files\Diablo III Beta,這就是你的「Beta Client目錄」,而底下的Data_D3\PC\MPQs就是你的「Beta Client資料目錄」。裡面應該會看到base,enUS,Win等等的目錄。
  • 假設你將MadCow解壓縮在C:\MadCow,那這就是你的「MadCow目錄」,而C:\MadCow\Repositories\mooege-{version}就是你的「mooege目錄」,應該會發現assets, dep 等目錄。C:\MadCow\MPQ是「MadCow資料目錄」是空的。而C:\MadCow\Repositories\mooege-{version}\assets\MPQ就是你的「mooege資料目錄」,應該會發現一個IMPORTANT檔案。

完整流程

接下來要做的事情大致上是這樣:安裝並且更新Beta Client,備份Beta Client的所有資料,複製上述下載的五個MPQ檔並且覆蓋{Beta Client資料目錄}\MPQ\base下的MPQ檔。開啟MadCow,更新並編譯mooege,點Copy MPQ來同步mooege所需要的MPQ檔,複製{Beta Client資料目錄}\MPQ下的所有MPQ檔,不包含目錄,到{MadCow資料目錄}。啟動mooege,然後利用MadCow啟動D3 Client並且告訴他要連到localhost的server,利用帳號test@密碼12345678登入,玩你的遊戲!

流程細節

  1. 安裝並且更新Beta Client,執行Diablo III Beta Launcher並且等到更新至100%。
  2. 完整備份一次Beta Client目錄到其他地方,免得出了問題還要耗時下載。
  3. 安裝必要系統元件,參考 http://wiki.mooege.org/Compiling 的Requirement小節,並安裝.Net Framework 4及Sqlite for .Net 4
  4. http://wiki.mooege.org/Compiling 下載8101, 8296, 8350, 8392, 8610五個MPQ檔,先存在某個目錄備份起來。複製一份到你的{Beta Client資料目錄}\MPQ\base,當然你在裡面也會看到14個MPQ,那就覆蓋掉其中五個。
  5. 解壓縮MadCow到你的{MadCow目錄},例如C:\MadCow
  6. 執行MadCow,參考下圖,1. 先選擇http://github.com/mooege/mooege,2.點選Find Diablo3並且找到你{Beta Client目錄},並選擇Diablo III.exe,3. 點選Validate Repository,這個動作會驗證上面所選的連結是否可以下載mooege主程式,4. 點選Update Mooege,這個過程有點久,會開始下載,解壓,編譯mooege。之後會在{MadCow目錄}\Repositories\發現新版的mooege-{version}目錄,舉例現在是3e59daf,就是Repositories\mooege-mooege-3e59daf。
  7. 5. 點選Copy MPQ's,他會將{Beta Client資料目錄}\PC\MPQs\base\*.mpq,複製到{MadCow目錄}\MPQ\base\。在這個時候,我們剛剛覆蓋掉的5個MPQ也會一起被複製過去。
  8. 接著還不要進行圖中的6. 點選Play Diablo (Local),先將 {Beta Client資料目錄}\MPQs底下所有的MPQ檔,不包含目錄複製到{mooege資料目錄}\ (也就是{MadCow目錄}\Repositories\mooege-{version}\assets\MPQ\)。
  9. 接著才6.   點選Play Diablo (Local)。這個時候他會做兩個動作,A. 啟動mooege程式,B. 啟動Diablo III.exe,如果mooege程式出現以下的白字,及以下的訊息,那表示程式啟動成功。那個接著就看D3有沒有啟動成功。如果mooege沒有出現這些文字,或是很明顯地出現紅字,那表示中間一定有環節錯誤,就請參照附錄來進行除錯。正常的狀況就是會出現 [Info][NooNetServer]: MooNet-Server is listening on 0.0.0.0:1345
  10. 如果等一陣子,發現D3沒有啟動,而mooege看起來應該沒啥問題,那這個時候可以到MadCow的RmoteServer頁面,在RemoteHost欄位打上127.0.0.1,Remote Port不用動,然後點選Play on Remote Server,此時會強迫D3程式連接到你剛剛啟動的mooege。理論上有會出現遊戲登入畫面。
  11. 使用帳號" test@ ",密碼" 12345678 "來登入,並且建立你的人物,開始遊戲!

如果你下載的是所謂的對岸年度測試版懶人包,我有一些額外的提示:
  • 請注意有沒有病毒
  • 一些懶人包都沒有說明要將重要MPQ複製到mooege-{version}\assets\MPQ裡,這樣很糟糕,這是不可能啟動成功的。
  • 一些懶人包竟然在論壇發表文章的時候照著以往舊的文章,說明密碼亂打即可,這分明就是要坑你爹,難怪一堆倒楣的網友唉唉叫,何必這樣整人呢?mooege的論壇,在後來的文章寫得很清楚,是12345678。

附錄


在這裡附上許多方便玩家理解的翻譯,來源都是mooege的wiki。如果你有一些關於.Net程式設計的基礎,那會更有幫助。

A. d3-pod 20FB5BE9的MPQ檔CRC32檢查碼(3/8的時候記錄的)


File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-8101.MPQ
Size: 272500 bytes
Modified: 2012年3月7日, 下午 10:28:47
CRC32: 1B4F22BD

File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-8296.MPQ

Size: 29886365 bytes
Modified: 2012年3月7日, 下午 10:30:49
CRC32: 392B25AD


File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-8350.MPQ
Size: 278635 bytes
Modified: 2012年3月7日, 下午 10:29:14
CRC32: 9728225D


File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-8392.MPQ
Size: 274083 bytes
Modified: 2012年3月7日, 下午 10:29:17
CRC32: 78E33389



File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-8610.MPQ
Size: 81514679 bytes
Modified: 2012年3月7日, 下午 10:33:43
CRC32: 1F706A49


File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-7170.MPQ
Size: 25384 bytes
Modified: 2011年12月1日, 下午 06:34:12
CRC32: D55D3C50

File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-7200.MPQ
Size: 178789 bytes
Modified: 2011年12月1日, 下午 06:34:12
CRC32: 50A1DD84

File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-7318.MPQ
Size: 279638768 bytes
Modified: 2011年12月27日, 下午 05:26:12
CRC32: 0C09118A

File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-7338.MPQ
Size: 108669 bytes
Modified: 2011年12月1日, 下午 06:34:11
CRC32: 6C3ED3D7

File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-7447.MPQ
Size: 935312 bytes
Modified: 2011年12月1日, 下午 06:34:11
CRC32: 34547A5F

File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-7728.MPQ
Size: 232021327 bytes
Modified: 2012年3月7日, 下午 11:11:27
CRC32: FD1C9A7D

File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-7841.MPQ
Size: 114312969 bytes
Modified: 2012年3月7日, 下午 11:11:35
CRC32: F12F6867

File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-7931.MPQ
Size: 3197658 bytes
Modified: 2012年3月7日, 下午 11:10:23
CRC32: 6CF6482F

File: E:\MadCow2.24.2012\MPQ\base\d3-update-base-8059.MPQ
Size: 84446100 bytes
Modified: 2012年3月7日, 下午 11:11:25
CRC32: F62A1A0C



附上官方的幾個重要MPQ檔CRC32

File: E:\MadCow2.24.2012\Repositories\mooege-mooege-3e59daf\assets\MPQ\CoreData.mpq
Size: 70056734 bytes
Modified: 2011年12月27日, 下午 12:09:52
CRC32: D217ACB0

File: E:\MadCow2.24.2012\Repositories\mooege-mooege-3e59daf\assets\MPQ\base-Win.mpq
Size: 14969081 bytes
Modified: 2011年12月1日, 下午 06:34:12
CRC32: 5004602F

File: E:\MadCow2.24.2012\Repositories\mooege-mooege-3e59daf\assets\MPQ\ClientData.mpq
Size: 552842721 bytes
Modified: 2011年12月27日, 下午 12:09:52
CRC32: 7D137C19


B. MadCow的使用,各個分頁功能大致說明


在Update頁面中,Repository的下拉選單最主要是選擇mooege的分支版本,並且下載,編譯來執行。因為MadCow最主要搭配git使用,mooege因為長期的開發,於是有了許多的分支版本,各有不同的支援程度與功能。github網站本身支援下載原始程式碼的壓縮檔,因此MadCow的作者乾脆撰寫程式讓使用的人自己選擇分支版本,並且下載來進行實驗或測試。

這裡有個頁面稍微描述了個版本的差異,不過截至目前,還是原始的mooege分支是目前唯一支援Beta Client 8610版本的程式。

Validate Repository一定要先點選,讓他驗證是否能夠下載,之後再點選Update Mooege來進行下載及編譯的動作。如此一來,你在點選Play Diablo(Local)之後,出現的對話框,才會有可以選擇的mooege程式。

Copy MPQ's的動作,如同上述,最主要是從{Beta Client資料目錄}來同步需要的MPQ檔案至{MadCow資料目錄}。點選Play Diablo(Local)之後,他會試著啟動mooege程式,並且執行Beta Client。在我的情況,不知道為啥Beta Client不能啟動,這個時候你就必須跳到第三個頁面。


Server Control最主要是提供裡面列出的參數,包括ServerIP,Port,Game Server IP,Port,是否啟用NAT功能...等等。不過這些功能參數,必須根據所啟動的mooege來決定參數是否有效,並不是填在這邊就一定會有用。

點選Save或者Load,可以將這些參數存在設定檔裡,如此下一次就不用重新填寫參數。接著Launch Server Only就等於是上述Play Diablo(Local)的前半段,只啟動mooege程式。



這個頁面是用來快速啟動Beta Client用的,正常的狀況下,你會在同一台電腦啟動mooege,這個時候Remote Host欄位就填127.0.0.1。旦如果你是在另一台電腦啟動,那當然就填那台電腦的IP。接著點選Play on Remote Server來啟動Beta Client,這樣他會連到這個IP上的mooege,而不是連到Battle.Net。


C. mooege的使用



D. mooege錯誤訊息

請參考 http://wiki.mooege.org/FAQ


  • Q: 我無法登入?
    A: 在mooege裡新增帳號,例如 "!account add wetwlly@ 12345678 wetwlly owner"。此外在最新版的mooege裡,test@這個帳號密碼是12345678。
  • Q: 我在64bit的平台,啟動mooege看到一個錯誤訊息寫說有關於SQLite的錯誤?
    A: 你一定要安裝http://system.data.sqlite.org/downloads/1.0.79.0/sqlite-netFx40-setup-bundle-x86-2010-1.0.79.0.exe
  • Q: 啟動mooege看到「[Fatal] [MPQPatchChain]: Required patch-chain version [Latest Patch:8392] is not satified (found version: (Number lower than [Latest Patch:8392])」?
    A: 看起來你還是使用舊版的D3 Client,更新吧!


在"Mooege.Core.GS.Items.ItemGenerator"發生一個例外
請重新在下載所有mpq檔案


CoreTOC.dat就是CoreData.mpq,這個檔案應該有錯誤,請重新下載base-Win.mpg, CoreData.mpq, ClientData.mpq


這個錯誤剛好發生在7931.mpq之後,也就是說這個檔案有問題


這個偶而登入的時候會發生,就登出在重新登入吧!


你沒有點選copy mpq's就啟動mooege,重新copy後再啟動一次。

你會發現大部分的問題都來自於mpq檔案,重新下載,更新應該就會解決這些問題。在你打算要到論壇發問前,仔細想想自己做了哪些事,而哪些事還沒做,而不要輕易問一些自己也搞不清楚,還沒想清楚的問題!

E. D3 Client 8610 p13 + mooege (original fork) 3e59daf632 + d3-pod 20FB5BE9部分MPQ檔 已知的問題

這些已知問題,過去就有人討論,原因也是因為開發者目前並沒有實做到一些功能,例如儲存。剩下的可能都是Bug。
  • 沒辦法儲存人物狀態,物品狀態,任務狀態
  • 有些敵人不會動
  • 有些武器變成漢堡圖,有些地方可以穿牆
  • 有些地方一走進去,畫面馬上變成淡藍色底,然後當機
目前還有另一個fork已經向original fork更新了,看到對岸的暗黑789小組不知道怎樣讓人家在wetwlly的fork上玩...他連Versioninfo.cs都還沒更新,還停留在8392。不過據說wetwlly的版本可以儲存角色,物品資料,希望他早點更新。


大家可以build看這個版本然後檢驗看看有哪邊跟original fork不一樣。

如果你還是有問題,不是這上面列出來的,你很想體驗但不能體驗,還是留言吧,我會盡量回答的。如果你有畫面截圖的話最好,但因為這裡不是論壇,所以或許上傳到免費空間給個連結就可以了。還是老話一句真的忙的話就不要花心思,等正式版並且花些小錢才有好的遊戲品質,支持正版才是王道!

4 則留言:

  1. 不好意思請教一下

    首先是我mooege起動正常
    http://ppt.cc/sGo0
    (圖)


    然後我開心的要準備登入
    就...
    http://ppt.cc/HLXB

    這是版本不同嗎?
    我看patch到8896
    而mooege論壇程式則是更新到8815

    土法煉鋼移除8896也無用
    這…有解嗎?

    回覆刪除
  2. 不行!就是要版本一樣!
    在mooege程式碼還沒有人更新到可以是用在新版的時候,很抱歉是沒有任何辦法的...
    官方釋出的速度一定會大於mooege的開發,這是可以預期的,畢竟他們沒營利,也應該是基於個人嗜好來寫的...

    回覆刪除
  3. 嗯…後來我有抓到8896的mpq..她們也更新了

    不過進去遊戲後似乎只有幾個技能可以用 而且超容易當機..不知道是不是我自己問題
    完全放棄這樣跑了XD
    還是乖乖憋到五月十五好了_ _

    回覆刪除
  4. 對啊,這真的就是沒有辦法的事情,沒有人有blizzard的原始碼,以我看起來,這些人也是以他們在其他領域實作過遊戲的經驗自己寫的,坦白說已經是相當厲害了XD

    回覆刪除