Like Share Discussion Bookmark Smile

J.J. Huang   2021-08-06   天堂私服   瀏覽次數:

天堂私服 | 登入器自動更新補丁

章節用意

需要自動更新伺服器補丁,主要是原因會有 -

  • 新的地圖增加
  • 新的活動、任務增加
  • 新增物品、圖檔

在以上情況發生的時候,通常最差的做法就是將登入器重新打包,提供給玩家們。
而比較高級的做法是提供一個位址,讓登入器每次啟動的時候,就去該位址下載最新的補丁並吃檔。

準備

  1. 在開始前需要準備「登入器」,每個登入器與模擬器是有版本上支援對應的。
    此處所使用的是「l1j-tw-99nets-L1J-TW_3.80c」的模擬器做示範;
    固對應所使用的登入器為「Login_v380a.rar」登入器。

  2. FTP 伺服器架設,可參考天堂私服 | FTP 伺服器架設(FileZilla),需完成下面項目。

    • 建置完伺服器。
    • 建置完使用者與專用資料夾。
    • 防火牆配置。
    • 確認可以正常外部連接至FTP伺服器。

自動更新行為說明

  • 當玩家啟動登入器Login.exe時,登入器會去讀取Login.cfg取得自動更新空間位置
  • 登入器會判斷空間位置提供的Updata.ini中的version設定的版本號碼,比對天堂主程式內的Login.ini.Updated內的version
  • Login.ini.Updated內的數字小於空間位置提供的Updata.ini中的version設定的版本號碼,表示需要更新。
  • 登入器會將Updata.ini內設定的要更新的檔案下載並解壓縮至天堂主程式目錄下。
  • 登入器會在執行eat.exe檔進行吃檔/更新。

新增 FTP User/專用目錄

  • 新增一個名為LineageUpdateFTP帳號。
  • 建立C:\FTP\LineageUpdate專用目錄與設置為此帳號的專用目錄。

如不清楚如何設定,可參考天堂私服 | FTP 伺服器架設(FileZilla)內的教學。

Update.ini 與更新檔 放置 FTP 伺服器專用目錄

放置的方式有 -

  • 直接將檔案複製到FTP 伺服器的專用目錄下。
  • 透過FTP 客戶端進行檔案上傳。<登入帳號需要有權限上傳>

    註:安全性考量,不要將上傳/下載的帳號用同一個。

這邊的做法就是將新產生的Update.ini與需要更新的壓縮檔,複製到FTP 伺服器的專用目錄下。

設定 Login.cfg

首先要設定自動更新的位置給登入器,所以會需要設定Login.cfg檔。
而設定Login.cfg是透過登入器的其他功能自動更新這邊做設定。
可以參考天堂私服 | 登入器功能說明

  • 執行編碼器Encode.exe
  • 選擇其他功能頁籤。
  • 勾選自動,輸入Update.ini的更新位址。
    1
    ftp://LineageUpdate:123456789@192.168.1.105/Update.ini
  • 點擊儲存,產生或修改一個列表文件Login.cfg

測試

測試內容:

需要更新的檔為test.ziptext.zip,其壓縮檔內容為 -

  • test.zip
    • Login.txt,內容為自動更新測試
  • text.zip
    • text 目錄
      • 目錄下有help-c.htmlintro-c.tbl兩個檔案。

開始測試:

  • 首先將Login.cfg複製到主程式天堂(Lineage 3.81C)目錄下,並覆蓋。
  • 先將eat.exe改名為eat_bak.exe

    註:用意是不要讓他執行吃檔,好確認是否有取得text更新檔。

  • 確認主程式天堂(Lineage 3.81C)目錄下,是否沒有Login.txt檔案。
  • 確認主程式天堂(Lineage 3.81C)\text目錄下,是否無檔案。
  • 啟動登入器,執行Login.exe,彈出視窗開服者要求更新,這可能夾帶危險檔,是否要運行?,點擊
  • 此時會跑下載進度條,下載完畢後會執行eat.exe吃檔。
  • 但在此處會跳出錯誤為吃檔程式eat.exe遺失
  • 請不要擔心,這就是因為將eat.exe改名為eat_bak.exe的作用。
  • 請回到主程式天堂(Lineage 3.81C)目錄下。
  • 確認主程式天堂(Lineage 3.81C)目錄下,是否沒有Login.txt檔案。
  • 確認主程式天堂(Lineage 3.81C)\text目錄下,是否無檔案。
  • 如果以上兩個檢查,都是正常有的,那就表示有正常去自動更新。
  • 恭喜至此完成了自動更新的基本測試。

    註:記得將eat_bak.exe改名回eat.exe

只需要將最新的Login.cfg提供給其他玩家,之後伺服器更新都是自動更新,不要再讓玩家去下載補丁了。

結語

最後建議回顧一下首章天堂私服 | 天堂私服架設教學,了解其章結目錄,此處會不定時更新。

免責聲明

  • 本部落格文章中皆不提供任何所謂的遊戲「主程式」、「模擬器」、「登入器」…等等相關程式的下載點。
  • 本部落格文章中所見之遊戲主程式和服務器端程序均來自網路發佈,版本歸原作者所有
  • 本部落格文章為研究SQL資料庫與修改JAVA語法使用,非商業用途,亦無做營運事實等任何一切商業行為
  • 本部落格文章內容是為研究學習設計思想和原理為目的,絕沒有故意侵權或惡意抄襲、篡改其他遊戲內容