JAVA【伺服器】363版本升級381彈跳視窗問題

09 2月, 2017

JAVA【伺服器】363版本升級381彈跳視窗問題




最近將伺服器版本363升級到381,遇到一個抓了一整天的屎坑。






版本基底:L1-TW 99Nets


以下這三隻Class是每次改版必定修改的。
---------------------------------------------------------------------------
※l1j.server.server.serverpackets.S_ServerVersion
※l1j.server.server.Opcodes
※l1j.server.server.ClientThread
----------------------------------------------------------------------------

改了opcode後,會發現有很多相關對應的修正。
其實牽扯的東西還滿多的。
像是血盟關注,血盟名單註記...等等
這些就不在多贅述了。
基本上都有參照的檔案,
一一參照修改,都可以順利地修改完成。
就是花時間而已。


將相關的東西修正完後,基本上就可以順利登入到伺服器。


但是登入伺服器後,問題就來了,
會有一個類似物品欄的視窗彈跳出來。
而且每次登入都會彈跳出來。

發現在以下二種情況下,都會出現:
「打怪」以及「人物登入」的情況。

後來猜測一下,
在381版本可能將顯示封包的設定交給客戶端處理。

實際測試證明以後,在381版本已經捨棄了S_EXP這個封包。
改成由客戶端自行顯示判斷,
並不需要透過伺服器發送。


修正l1j.server.server.model.Instance.L1PcInstanceonChangExp



將S_Exp有引用到的地方,都移除掉。之後就正常運作了。






張貼留言