精華區beta WarCraft 關於我們 聯絡資訊
Q. 如何解決伺服器分離(Server Split,以下簡稱分流)現象? 1. 首先確定自己玩絕對不會當機 如果自己玩就會跳出或當機,那就不屬於分流的問題。 2. 檢查以下各項: a. 是否使用了pan camera as necessary的觸發 古早以前有個WE教學站(忘記名字)寫了個英雄選擇範例, 凡使用了這個範例的圖都出現了分流現象, 因為它選擇英雄後拉攝影機的選項用的是上述那條。 (其實簡單地用pan camera或apply camera object就可以正常運作了。) b. 商店是否全地圖可賣東西 我忘記要怎麼設定商店才會變成全地圖可賣東西, 好像是把中立商店複製貼上後直接create給單一玩家。 藍綠大戰的前作Norne's Thread草草結束,95%因為這個。 c. 任何部隊攻擊力的骰子數是否超過10個 不要懷疑,鐵定分流。 藍綠大戰做到1.16差點就掛了,就是因為小兵攻擊力骰子升級會超過10。 這個問題的解決要歸功於War3Campaigns的討論串。 e. 是否調整過中立生物的索敵範圍 如果你想要有效地限縮CP怪的索敵範圍, 調整camp radius和guard distance,發現沒差多少, 你就會把腦筋動到這條: GamePlay Constants: Maximum Creep Camp Radius (Pathing Cells) 保證分流,動一點點都不行。 藍綠大戰在2.65停滯了很久就是因為這個。 能活到現在,要感謝y38011鍥而不捨地幫我開Game測圖, 以及在不知情的狀況下加Game而分流的朋友們........ f. 是否不當使用local player的觸發 這就不解釋了,自學指南有錯誤寫法範例。 而且相較於前面幾項,算是容易抓的BUG。 g. 偵測子字串(Substring)時是否使用了空字串(<Empty>)為條件 簡單說,偵測字串的條件不能寫成: string containing <Empty> as a substring h. 關於Game Cache設定 這個功能我不熟,整理一些高手的意見: Danny(自學手冊) 遊戲快取可用在多人連線遊戲中,做為暫存工具, 但不能將檔案寫入硬碟或從硬碟中讀取(也就是不同地圖之間的資料傳輸), 因為每台電腦的硬碟中可能有不同的檔案,這麼做會造成不同步而斷線。 (按:簡單說就是不能在多人遊戲地圖裡使用Save Game Cache和Reload All) tv580025 初始化Game Cache時,有的玩家會因為Game Cache滿了,而無法進行初始化, 導致不同步而斷線。 (按:已知Jass Bug有一條是GameCache不能超過256個) i. 關於MPQ改動造成的分流 基本上都跟mpq中飾物與可毀物的改動有關係。 如果你發現分流地圖上的飾物變成紅黑方塊, 那就屬於mpq改動的分流。一般來說有兩種常見原因: 1. 魔獸本身沒裝好,mpq中存在損壞的檔案。 最簡單的解決方法是重灌魔獸。 當然,如果你知道是哪個檔出問題,跟朋友借檔案然後用mpq程式壓進去也行。 2. SLK優化程式優化了飾物與可毀物 當你先玩過別人的地圖,接著再開你自己的地圖,就會出現紅黑方塊而分流, 基本上這不是你的問題,而可能是前一張地圖所造成的。 U9mapopt是中國魔獸網站U9的高手發佈的一種支援多國語言的SLK優化程式, 這個程式的技術源於大名鼎鼎的Widgetizer,可以加速地圖讀取。 目前中國、台灣大部份熱門地圖如仙之俠道、三國信長等,都使用了這個程式, 他們勾了哪些選項我不清楚,但很明顯的是:如果他們勾了「清理可毀壞與飾物」, 就會導致之後你開的另一張圖產生數據不同步的現象。 由於可毀壞與飾物的數據將會從你玩第一張圖開始,保留到你重開魔獸為止, 也就是說,假設之前開了仙之俠道,魔獸就會保留著仙俠的可毀壞與飾物數據, 接著你開了你自己的圖,卻還是使用仙俠的數據, 而仙俠的可毀與飾物數據已砍除部份物件,與你的地圖不同 因此導致不同步而跳出的結果。 自學手冊舉例的地圖AoM, 也是因為它匯入了自訂的Units/DestructableData.slk檔案, 造成玩下一張圖時會分流。原理同上。 3. 其他的可能性 以下是自學手冊(指南)的引文: ================================= 此外還有一些不明原因可能造成分流。 其中有一些網路謠傳會增加分流機率的因素,如下。 這些項目未經也難以進行實際的驗證,如果可以就盡量試著避免看看吧:) 1.過高的骰子數 2.過高的生命、攻擊力、法力等數值 3.遊戲中改變遊戲速度 4.把某些特定部隊的聲音設成無聲 5.過度頻繁地抓取部隊的Custom value 6.傳訊給單一玩家 7.給單一玩家任務訊息 8.打開單一玩家的電影模式 9.給單一不在場的玩家錢 ================================= 1.過高的骰子數? 已實證。 2.過高的生命、攻擊力、法力等數值? 應該只是謠言。TD、守城類的地圖,這幾個數值都幾千幾萬起算的, 3.遊戲中改變遊戲速度? 未測。 4.把某些特定部隊的聲音設成無聲? 未測。 5.過度頻繁地抓取部隊的Custom value? 謠言可能性不小。 藍綠大戰的小兵路線就是是抓Custom Value在走的,夠頻繁了吧。 6.傳訊給單一玩家? 謠言,藍綠經常傳訊給單一玩家 7.給單一玩家任務訊息? 謠言,藍綠經常給單一玩家任務訊息 8.打開單一玩家的電影模式?? 未測 9.給單一不在場的玩家錢? 謠言可能性大,藍綠會給不在場的玩家加錢。 4. 總結 我認為應該要有個觀念,分流並不是謠傳的那種複合性機率產生的問題。 的確,並不是你做了會分流的設定,分流就100%會在每場Game都發生, 不過,問題通常只有一個。 以上,給有分流困擾的WEer們參考。 -- うまれて、すみません。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.54.171
readper:清楚明瞭 推 05/05 21:37
caeru:推! 05/05 21:39
b0017570:感謝解說,受教了 05/05 21:44
readper:我只能說我寫過百分之百一定分流的觸發 XD 05/05 21:46
gain:什麼是骰子數阿??攻擊力範圍? 05/05 21:54
Kendai:推推 05/05 21:58
gonzdevour:攻擊力的隨機值有分骰子數和骰子面數,此指前者。 05/05 22:00
lafel:好文推 05/05 22:05
EF5566:推~! 05/05 22:21
tamato9519:不懂推 05/05 22:24
fallengunman:...好威。 05/05 22:27
wix3000:淚推分流 05/05 22:35
holyspectral:push 05/05 22:43
gonzdevour:追加一條:string containing <Empty> as a substring 05/05 22:43
gonzdevour:也會分流。偵測子字串的條件裡不可使用empty string 05/05 22:44
jealous0953:推~這篇可以M了 05/05 23:18
mondale:大推~ 05/06 00:31
JKJANESE: 大推啦!以前遇到分流都無法解釋.. 05/06 00:44
gonzdevour:再補一個,就跟readper之前說的一樣:初始化Game Cache 05/06 06:27
gonzdevour:時,如果有玩家的Cache已經滿了,就會產生不同步。 05/06 06:28
readper:我說的100是錯的 (果然不能憑印象) tv的256才是對的 05/06 07:16
readper:而且不是一場遊戲 正確的說是每個profile只能有256個 05/06 07:17
k, 已編輯。 ※ 編輯: gonzdevour 來自: 203.73.50.51 (05/06 09:36)
jay0207: good 05/06 10:44
slycsboy:說到Cache 讓我有點想到這個 http://0rz.tw/6343v 05/06 11:26
slycsboy:=_= 很好很強大的一個變態想法 怎麼講 不會鳥大已經 05/06 11:27
slycsboy:解決這方面的問題? 另外 他應該是應用Cache吧... 05/06 11:27
slycsboy:這方面我弱掉了~~沒接觸過(茶 05/06 11:29
readper:不太可能用內建觸發達到這個 他應該是有改了War3執行檔 05/06 13:32
Cheya:重要 05/06 13:59
laymu:推一下,雖然我自己的圖從來沒發生過分流的現象 XD 05/06 16:50
※ 編輯: gonzdevour 來自: 203.73.10.70 (05/07 22:11)