Zemyna 充當一種代理,它使客戶端連接到一個特殊的本地伺服器,該伺服器將所有資料包從客戶端轉發到實際伺服器。這樣它就能夠讀取發送或接收的每個資料包。然後,這些資料包可以傳遞給其他應用程序,以便它們可以使用它們,例如像 PaleTree 這樣的記錄器。
為了讓 Zemyna 能夠讀取封包,它需要控制啟動過程,因為它會暫時調整您的用戶端,以建立隧道連線。它透過備份 client.xml(其中包含有關連接位置的資訊)並建立一個新的 client.xml 來實現此目的。一旦 Zemyna 關閉,此變更就會恢復,這樣您就不必自己擺弄任何檔案。
若要告訴 Zemyna 將客戶端連接到哪裡,您可以使用命令列參數。例如,假設您想在國際伺服器 Laima 上記錄資料包,在將 Zemyna 移至遊戲資料夾後,您只需從命令列啟動它即可:
Zemyna.exe host:54.88.25.242 port:2000
IP和連接埠是Laima的登入伺服器的IP和連接埠。您可以在官方伺服器清單中尋找目標伺服器的主機和連接埠。它的 URL 可以在 client.xml 中找到。
為了更容易重複使用,您應該建立一個連結或 bat 檔案。然後 Zemyna 將採取必要的步驟以便能夠從網路讀取封包並啟動客戶端。左上角的一個小視窗將顯示 Zemyna 正在運行,當客戶端關閉時它會自動關閉。您也可以雙擊它來快速關閉 Zemyna 和用戶端。
由於透過這種方式,伺服器清單中只能有一台伺服器(即您在參數中指定的伺服器),因此您可以建立多個連結/bat,每個連結/bat 對應一個伺服器。
如果您想要在不使用 Steam 自動登入的伺服器上使用 Zemyna,則需要向 Zemyna 提供 static__Conf.txt,其中UseSteamClient值設定為NO 。
ServiceNation=GLOBAL
Dictionary=YES
UseNexonSSO=NO
UseNexonGLM=NO
UseHackshield=NO
UseSteamClient=NO
UseXigncode=NO
UseNISMS_TESTURL=NO
UseNISMS_ONLY_OFFER=YES
如果該檔案位於本機 Web 伺服器上的「/toslive/patch」中,您可以讓 Zemyna 像這樣使用它:
Zemyna.exe host:127.0.0.1 port:2000 staticconfig:http://127.0.0.1/toslive/patch/
請注意,用戶端透過 SSL (HTTPS) 存取文件,因此請相應地設定您的 Web 伺服器。
Zemyna 使用與其靈感來源工具「Alissa」相同的 API。它使用 WM_COPY 訊息在 Zemyna 和訂閱者的視窗之間進行通訊。若要訂閱 Zemyna、接收封包,請將「op」(dwData) 100傳送至 Zemyna 的視窗(視窗名稱:「mod_Tossa」),若要取消訂閱,請傳送101 。當您訂閱時,您將透過相同的方法接收所有傳入(op 0x10101012 )和傳出(op 0x10101011 )封包。
有關其工作原理的實際範例,我建議查看 Pale 中的相應函數。或者,您也可以為 Pale 創建一個插件,這會更容易。
如果您檢查版本,您會發現多個版本,其中之一是 kTOS(注意“k”前綴)。如果您想在韓國伺服器上記錄資料包,請選擇該選項。
由於 kTOS 使用網路登錄,我們必須對韓國版 Zemyna 採取一些不同的做法。您需要一個附加參數“kr”,它會啟動某些僅 KR 選項。例子:
Zemyna.exe host:54.88.25.242 port:2000 kr nosteam
這樣啟動 Zemyna 後,客戶端不會自動啟動,但它仍然會修改客戶端文件,因此當您最終透過 Web 登入啟動客戶端時,連線仍然會透過 Zemyna,允許您使用以下方式記錄資料包蒼白樹。