大家好啊,這裏是肥狗, 最近幻獸帕魯很火,正好給大家做一個開服攻略,歡迎大家自行開服來和好友們暢玩遊戲。
說在前面的話
目前《幻獸帕魯》的服務器進程處於早期測試版本,沒有設計內存釋放功能,因此會導致不管是在windows聯機和linux聯機情況下,服務器主機的內存會爆,如果是windows聯機的話在這個機子上游玩的玩家也會變卡,因此一下的部署內容完全是爲了滿足上述問題,如果Pal官方有修復這個問題我也會在第一時間更新新的部署方法。
服務器購買
想要遊玩幻獸帕魯,你首先需要一臺雲服務器,並且爲linux系統,雖然官方推薦的服務器配置爲4核8G內存,但根據盒友的實際操作來看,2核4G也可以跑起來,只是重啓的頻率會高上不少,這裏我們選擇選用騰訊雲的2核8G雲服務器(目前價格是130一個月),操作系統選擇的是:CentOS 7.6 64bit
![]()
使用SSH鏈接服務器
肥狗這裏使用的是Xshell來遠程操作服務器,大家也可以自行下載,或者在騰訊雲或者其他運營商的控制檯在線登錄使用,這裏請自行鏈接,等成功登錄上服務器,接下來就是安裝steamcmd。
部署SteamCMD
這一步可以參考steam官方的部署教程,當然因爲steamcmd網站的教學過於簡略,肥狗選擇重新給大家走一遍流程。
首先創建一個新的用戶,用戶名爲steam,並且爲steam用戶設置一個密碼
sudo useradd -m steam
sudo passwd steam
將用戶切換爲steam,然後來到home文件夾路徑下
sudo -u steam -s
cd /home/steam
接下來我們選擇手動安裝steamcmd,這裏選擇創建一個名爲Steam的文件夾來儲存steamcmd,並前往該文件夾
mkdir ~/Steam && cd ~/Steam
下載steamcmd並解壓
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
此時你的當前目錄下會出現一個叫做steamcmd.sh的腳本文件,執行它
./steamcmd.sh
此時大概率會出現報錯:
[steam@VM-16-17-centos Steam]$ ./steamcmd.sh ./steamcmd.sh: /home/steam/Steam/linux32/steamcmd: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
這是因爲我們沒有安裝steamcmd的相關依賴,這裏選擇切換回root用戶,並安裝依賴。
su root
yum install glibc.i686 libstdc++.i686
之後再切換回steam用戶,重新執行steamcmd.sh文件
su steam./steamcmd.sh
這個時候就能看到steamcmd的檢查更新和加載內容了。
![]()
安裝完成之後就進入了steam的操作界面,如下圖所示:
![]()
此時,選擇匿名登錄並下載幻獸帕魯服務進程:
login anonymous
app_update 2394010 validate
quit
這裏可能會有問題是匿名登錄會超時,這是受限於服務器和主機的連通性,這個多嘗試幾次就就好,或者把服務器位置選擇爲其他地區,更簡單的方法是直接本地下載linux文件包上傳到主機上。等這三步解決完畢之後,前往PalServer文件夾
cd ~/Steam/steamapps/common/PalServer
運行當前文件夾下的PalServer.sh文件。
./PalServer.sh
此時會報錯,是一個沒有運行庫的問題:
![]()
解決方法也非常簡單
mkdir -p ~/.steam/sdk64/
cd /home/steam/Steam/
./steamcmd.sh
login anonymous
app_update 1007quit
cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/
這些步驟操作完成之後,就可以按照之前的步驟再來一遍
cd ~/Steam/steamapps/common/PalServer./PalServer.sh
如果當你看到如下輸出信息:
![]()
那麼就說明,你的服務器已經架設成功了,恭喜你。
等等,行百里者半九十!現在你還沒有辦法進服務器遊玩!請聽我繼續說。
使用pm2對Pal服務進程進行管理
這一點我在上文已經說過了,Pal服務器進程沒有內存釋放,會越積越多,導致整個服務器進程卡頓,因此我們選擇使用pm2進行進程管理,並使用腳本文件對pm2進行監視,如果內存到達限額就控制pm2重啓。
首先我們按ctrl+c退出已經打開的服務器進程:
切換我們的身份到root:
su root
之後首先安裝npm包管理工具:
yum -y install npm
npm install pm2 -g
這裏也是和steam匿名登錄同樣的問題,npm和國內的連通性一直也是好好壞壞反反覆覆,只能說如果不成功的話反覆嘗試幾次,總有一次能夠成功(心裏憔悴,如果可以的話建議直接買香港服務器)。
安裝好之後的提示信息是這樣的。
![]()
驗證pm2可用性
/usr/local/bin/pm2 -v
之後再切換回steam用戶:
su steam
使用pm2打開幻獸帕魯的服務器進程
/usr/local/bin/pm2 start ./PalServer.sh
如果成功了之後會提示:
![]()
這樣就算開服成功了!等等,先別急,忘記了我說過的內存不釋放的問題了嗎?這個時候我們需要編寫腳本文件來監視pm2。
使用腳本進行內存自動釋放
這裏的知識涉及到了linux腳本內容以及服務進程,最好有一點計算機基礎再來操作,肥狗我儘可能的講的詳細一點。
首先,我們來到PalServer目錄,並創建一個pm2配置文件
cd /home/steam/Steam/steamapps/common/PalServer/
vi pm2.config.js
將以下代碼粘貼進文件中:
module.exports = {
apps: [
{
name: 'PalWorld',
script: 'PalServer.sh',
autorestart: true,
max_memory_restart: '6G',
exec_mode: 'fork',
instances: 1,
args: [],
},
],
};
這裏的max_memory_restart根據你選擇的服務器最大內存來進行控制,linux服務器的話建議爲最大服務器內存-1G。
之後運行js進程文件,並同樣查看輸出內容:
/usr/local/bin/pm2 start pm2.config.js/usr/local/bin/pm2 log 0
如果輸出內容爲:
![]()
那麼就意味着你的監控進程已經開始工作了!等等,不要着急!還有一步!
最後一步,防火牆!
都到這裏了馬上就能見到曙光了,可以把SSH鏈接程序關了,接下來來到騰訊雲控制檯,選擇防火牆。
![]()
添加規則:
![]()
添加TCP和UDP的8211端口開放
![]()
![]()
![]()
這些都操作完畢的話,你應該就可以在幻獸帕魯遊戲裏通過你當前服務器的IP+端口的形式訪問了!希望盒友們都能學會並玩得愉快!
這裏是肥狗,下一期打算講講幻獸帕魯服務器世界設置和存檔遷移!
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com
