LV. 44
GP 300

【閒聊】想問開專用伺服器後延遲問題及個人架設伺服器心得

樓主 要不要想想你在說什麼 f2090565
GP3 BP-
如標題
參考這篇

目前已架設完成,也成功完成檔案移動
但不知道為什麼感覺比之前4個人的時候相比,有點lag
最明顯的就是在製作東西時,那個圓圈的跑條不會是滑順的,而是會一格一格的動
伺服器地區已調成台灣
想問這是正常的嗎?




另外分享一下自己架設的心得
原則上參考上面貼的那篇沒什麼問題
這邊補充一些自己在架設上遇到的問題
若原作者覺得我描述有問題也可提出,歡迎指教
以下提到的任何指令及動作,在使用前請先備份palworld的資料及電腦本身的資料
本人不對任何資料損失負責
尤其是第六點
請在確定完成前,本機這邊的資料請都留著
請在確定完成前,本機這邊的資料請都留著
請在確定完成前,本機這邊的資料請都留著



1.VM的設置基本照上面文章說的即可,沒有提到的就是不用調

2.若對於ssh沒有概念的人或是並沒有想多搞連線的人,可以跳過這段,這段對設定伺服器本身沒什麼用處

原文中有提到可以使用ssh key從外部連線,從外部連線(也就是使用你電腦本地端的cmd或是其他方法連進去),可以使用密碼或是金鑰,預設是使用金鑰,如果沒有必要,請不要更改成密碼,使用金鑰比較安全,原因是密碼可能會有弱密碼等問題,使用金鑰的話,基本上不可能在有限的時間內破解
金鑰生成方法
1.打開CMD 輸入
ssh-keygen -t ed25519 -C $USERNAME
ed25519是加密演算法,也可改成rsa,但建議用ed25519
$USERNAME請使用你在GCP中使用的帳號名稱代替,會出現在@前面的那串
所以如果你帳號名稱是123456789@gmail.com
那請輸入
ssh-keygen -t ed25519 -C 123456789
接著會問你要存在哪,通常按enter存預設(C:\Users\username/.ssh)
username是你的使用者名稱
接著會問你要不要設密碼Enter passphrase (empty for no passphrase):
請記得一定要設
請記得一定要設
請記得一定要設
另外輸入密碼時看不到是正常的
輸入完後會要你在輸入一遍核對
打完後按enter即完成

這時候就去放金鑰的地方
請在CMD輸入
cd ~/.ssh
之後請輸入
type id_ed25519.pub
底下那一串就是你的公鑰了

接著去GCP的執行個體中,點選編輯->安全性與存取權->安全殼層金鑰->新增項目
新增完後儲存即可
接下來你就可以使用CMD登入
命令為
ssh username@ipadress -i C:\Users\yourname/.ssh/id_ed25519
username請使用google給你的帳號名稱
ipadress請使用上述文章中提到的保留ip
yourname請替換成你電腦的使用者名稱
其餘不用動
接著會跳出一個什麼fingerprint的通知,請打y同意
接著輸入你剛設定的密碼,若沒問題即可完成連線
若要離開,打exit即可

3.sudo chown -R 1000:1000 ./data
文章中提到的這行指令代表權限設定
1000:1000是指用戶id,因為通常一開始的新使用者預設是這個id
所以也可以改成
sudo chown -R username:username data
請注意原文中使用是打 .data,這裡是data
我這邊是你已經在palworld-server這個資料夾中才這樣打
username請使用你在gcp上的名稱


4.上述文章中的docker安裝可以改成
sudo apt install docker docker-compose
sudo usermod -aG docker $USER
sudo systemctl enable --now docker
請分開打
第一行代表安裝docker以及docker-compose
第二行代表將現在的使用者加入docker群組
第三行代表啟動docker並設定在系統啟動時自動運行

接著移到你放data及docker-compose.yaml的目錄
依據原文表示
目錄結構應為
/home/palworld-server
palworld-server這個資料夾裡面要有
data這個資料夾以及docker-compose.yaml這兩個檔案
所以移動到這裡
cd /home/palworld-server
接著啟動即可
docker-compose up -d

5.移動存檔
移動存檔可參考
這邊討論如何從4人的存檔移到GCP的VM中
在GCP中網頁版的終端機裡,在右上角有個上傳檔案,可以透過這功能把檔案傳到VM中
請先把世界的資料夾壓縮成ZIP在丟上去,因為它只能傳檔案
傳上去後,檔案會位在/home/username中
cd /home/username
即可移動到該資料夾
username是你的gcp名稱,就@之前那串
接著
sudo apt install zip unzip
裝完之後請使用
unzip 檔名.zip -d /home/palworld-server/data/SaveGames/0/

代表解壓縮到/home/palworld-server/data/SaveGames/0/ 這個資料夾中
其他步驟請參考剛提到的文章


6.僅個人看法
若伺服器原本是4個人的那種
其他人轉移資料基本沒啥問題
但原本的房主問題就很多了
相關可參考
但是這需要另外下載程式以及較為複雜
可能有人覺得很麻煩
所以我跟我朋友使用另一種方法

請注意此方法最好只在伺服器中只有認識的人的時候執行
可能具有爭議
可能具有爭議
可能具有爭議

可以改遊戲設定檔
就是房主進去轉移後的伺服器
若沒有做處理,將會當成新玩家
這時候可以改經驗值倍率
請參考
簡單說就是原房主進去後,把倍率調高,快速升回原來的等級,之後再調回去,缺點是,王的通關狀態還會是未通關,以及傳送點要重跑,除此之外沒什麼缺點
至於帕魯的部分
我是先在原本的4人伺服器中,把帕魯從終端拿出來,丟到地上後,存檔,把檔案移到GCP的VM中,怎麼移請參考第5點

調整數值時,請把伺服器關掉
指令:docker-compose stop
調整完後請到palworld-server的資料夾中再次輸入
docker-compose up -d即可

移完後,請到/home/palworld-server/data/Config/LinuxServer中
找到PalWorldSettings.ini
把經驗值倍數調成任意的值,像我調到500,升到預定等級後再調回1
請記得若調完後沒有生效
代表有東西沒刪掉
請到/home/palworld-server/data/SaveGames/0/世界ID中
WorldOption.sav刪掉,這樣他才會吃到PalWorldSettings.ini

以上
若有問題的話還請留言
有問題也請指教
感謝



3
-
LV. 46
GP 1k
2 樓 史雷斯 slas7877
GP1 BP-
我這邊也想問類似的問題

我原本是用自己的電腦開專用伺服器
但玩家人數意外的逼近30人導致我的電腦記憶體時常爆滿
Server FPS一直卡在8~10  RTT也時常破200

剛剛終於忍不住上GCP開了台VM把伺服器搬上去 (4 Core 32G RAM)
不過我是直接架伺服器,沒有透過Docker
剛架好後上線看到Server FPS回到25~30本來以為放心了
結果發生更痛苦的事……會頻繁掉封包

每次掉封包人物就會回溯個2~3秒,而且每30秒就會掉一次
如圖,這還是只有我自己一個人在測的時候

本來以為是我開的主機有問題,我還整台VM打掉換不同OS、VM所在區域、IP等,
結果換了一台全新的重建也還是有一樣的問題。
規格原本是用n2d-highmem-4,也改成n2-highmem-4測試過
我直接Ping這台機器的ping值都是正常的,但遊戲內就仍然會拼命掉封包,
想請問有沒有版友在GCP上開20人以上的伺服器還能順順玩的嗎?
如果有的話是如何設定的呢?

謝謝
1
-
LV. 44
GP 44
3 樓 達達 dennis926
GP0 BP-
我自己也有同樣的問題,本來看延遲那些都還好,但有時侯翻滾就會被鬼拉腳,
又或是可以看到帕魯在路上抽搐,還有就是樓主提到的製作讀調不會順跑等等
我都是按照版上那篇GCP+docker來做,有試著將記憶體跟CPU拉大但感覺差不多。
我們人數頂多也才5.6個,但基本上就算只有我上線也會小卡,希望有高手能指點一下,謝謝。

更新:
自己又監測了一段時間 發現有時Jitter會跳到20~50ms 或是有少量掉包的情形,不知道是不是這個原因。
0
-
未登入的勇者,要加入 4 樓的討論嗎?
板務人員:(代管中)歡迎申請板主