您当前位置: 天堂123 > 天堂架設 > 教你如何架設自動更新伺服器補丁

教你如何架設自動更新伺服器補丁

2021/12/21

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

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

準備
在開始前需要準備「登入器」,每個登入器與模擬器是有版本上支援對應的。
此處所使用的是「L1J-3.80c」由日本開發團隊研發的模擬器做示範;
固對應所使用的登入器為「Login_v380a.rar」登入器。

無法提供下載點,請根據關鍵字自行上網搜尋。
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/專用目錄
新增一個名為LineageUpdate的FTP帳號。

建立C:\FTP\LineageUpdate專用目錄與設置為此帳號的專用目錄。

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

Update.ini 與更新檔 放置 FTP 伺服器專用目錄
放置的方式有 -

直接將檔案複製到FTP 伺服器的專用目錄下。
透過FTP 客戶端進行檔案上傳。<登入帳號需要有權限上傳>
註:安全性考量,不要將上傳/下載的帳號用同一個。

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


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

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

測試
測試內容:

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

test.zip
Login.txt,內容為自動更新測試
text.zip
text 目錄
目錄下有help-c.html、intro-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提供給其他玩家,之後伺服器更新都是自動更新,不要再讓玩家去下載補丁了。