最近不小心掉進了帕魯這個精神時光屋,除了遊戲本體外,也花了很多時間在架設跟經營伺服器
想加入的人可以參考這篇文 : https://forum.gamer.com.tw/Co.php?bsn=71458&sn=6916
歡迎大家加入,目前只是個小型的伺服器,小本經營,卡頓還請見諒
我的硬體配備如下:
CPU : AMD Ryzen 7 1700 (8C16T)
RAM : 128G (DDR4 32G * 4) 因為記憶體還算充足,所以我架了3台在上面
很多人去租用GCP或其他雲端運算服務,但其實如果要長期的玩,或架給社群的人加入,累積下來的費用還是蠻可觀的
所以本文要分享我如何運用一台舊電腦架設幻獸帕魯伺服器,讓這隻伺服帕魯24/7地為我維持帕魯勞工環境
首先,這台舊電腦原先是做為NAS使用的,但是只負責NAS這種簡單的工作,身為帕魯慣老闆的我們,肯定看不順眼
因此我一開始在安裝系統時就採用Hypervisor用途的OS : Proxmox Virtual Environment (簡稱PVE)
這個系統就是一個專門運行各種虛擬機、容器的基底平台,你可以在上面同時運行多個windows、linux、黑蘋果...
至於要怎麼安裝PVE,網路上有很多教學,其實非常簡單的,但因為PVE最新版通常問題很多,建議不要浪費時間去解決
降版本是最快的解決方式,我從8.1降到7.4 問題就全解決了...
一開始我以為帕魯伺服器只有windows版的,所以傻傻的架在Win虛擬機中,5人遊玩FPS大約只有10~20
後來轉移到Debian 11的LXC容器,在裡面安裝Docker去用,由於少了虛擬機的損耗與Win那些臃腫的預設程式,FPS居然可以提升2倍多
Docker的image我採用這個: https://github.com/thijsvanloef/palworld-server-docker
很推薦這個的原因是它自帶了自動備份與自動重啟功能,算是暫時解決了目前伺服器的兩大痛點 (檔案壞掉/消失 與 記憶體持續增長)
我使用Cron Expression設定每小時備份一次 : 0 * * * *
我設定每6個小時重啟一次伺服器,重啟的前幾分鐘也會自動在聊天室內提醒大家
另一個優點是把讓人眼花撩亂的PalWorldSettings.ini,改成用.env檔的形式去修改,就像下面這樣,改完設定值後直接重建一次容器即可
(題外話:PalWorldSettings.ini這個檔案有個很煩的設計是,要關掉server去修改才可以)
因為備份檔只儲存在本地端無法放心,所以備份完後會用Rclone把備份檔上傳到GoogleDrive,其他人隨時想取用也都可以了
至於連線的部分,有兩大方式,第一種是在路由器上設置端口轉發,直接用ip直連伺服器
這種方法的風險是容易被攻擊,而且中華的小烏龜非常難以設定,我自己本身是把小烏龜變成橋接器,後面接一台安裝OpenWRT的路由器進行PPPoE(撥接)
同時也在上面跑DDNS服務,這樣別人就可以透過如 palworld.domain.com:8211 這種好記的方式來連線,不過這又是另一個故事了
而另一種方式就是採用VPN服務來連線,常見的有Radmin、Hamachi等
不過我通常是選有開源的軟體,所以使用的是較為冷門的 ZeroTier : https://www.zerotier.com/
另一個採用zerotier的原因是可以管理哪個裝置有存取權,也可以設定ip給裝置,這樣的好處是抓到外掛玩家就可以直接把它從網域中踢除
原先也是抱著信任大家的心態開服,結果剛開沒幾天就被外掛把全部人的家都拆了,好險每個小時都有備份,因此損失不大
所以後來就全部採用審核制,審核過了才能加入VPN
為了出門在外也能隨時監控伺服器狀態,我安裝了Glances : https://github.com/nicolargo/glances
可以直接在網頁上查看伺服器的各種資源用量,其他人也可以隨時查看伺服器是不是掛了
三個伺服器的使用情形
本文總結:
1. 不用的舊電腦可以裝PVE,榨乾它最後一點價值
2. 推薦在linux上用docker來架伺服器,方便 快速 穩定,我到目前為止還沒遇到壞檔的問題,同時開3台也沒Crash過
3. 定時備份與重啟是絕對必要的