unbunt 20.04.3搭建饑荒服務(wù)器
1. 前言
昨天和朋友一起在游玩了饑荒這個游戲,感覺十分不錯,適合養(yǎng)老游玩,但是聯(lián)機模式就意味著有人要做服務(wù)器,我朋友電腦當主機的時候,我這網(wǎng)絡(luò)十分卡頓,且只有她在線的時候,我才能玩,制約太多了,于是我就想自己做個服務(wù)器
2. 準備工作
1.1 首先我們需要一個擁有“饑荒聯(lián)機版”的steam賬戶
需要該賬號中游戲賬戶生成的身份命令Token,服務(wù)器才能正常運行,后面會說到這個東西怎么生成以及怎么使用
1.2 需要一個有公網(wǎng)IP的服務(wù)器,動態(tài)公網(wǎng)也可以
阿里云或者騰訊云都可,饑荒對服務(wù)器硬件要求大概如下
內(nèi)存方面需求,大概
65M bytes/玩家
處理器性能,一核就夠用
帶寬方面的要求:官方數(shù)據(jù)大概是每個玩家
8kbytes/玩家/秒
游戲需要開放
10999
和10998
作為通信端口,購買服務(wù)器的記得在服務(wù)器中配置防火墻和安全組,放行端口。
1.3 安裝前的環(huán)境配置
首先保證自己系統(tǒng)處于最新狀態(tài)
安裝游戲運行需要的環(huán)境和常用的工具
2. 下載steamCMD并安裝游戲
啟動steam
匿名登錄到steam,并下載饑荒游戲
#先設(shè)置好游戲下載位置
#再匿名登錄到steam
#下載軟件,343050是饑荒的id
#退出steam
運行steam時如果提示failed to init SDL thread priority manager: SDL not found
則執(zhí)行如下代碼修復
(參考鏈接:https://github.com/ValveSoftware/steam-for-linux/issues/7036) 作者:ColderCoder https://www.bilibili.com/read/cv6720451/ 出處:bilibili
如果在安裝游戲時提示Error! App '232250' state is 0x402 after update job
之類無需擔心,是網(wǎng)絡(luò)超時導致,重新安裝即可
進入安裝嘗試運行游戲,查看是否缺少環(huán)境
#進入游戲安裝目錄,看自己的程序安裝位置
#運行程序
查看服務(wù)器是否報錯,以及報什么錯,針對性解決

我自己做的時候沒截圖,而且還以為這樣的界面有問題還耽擱了很久,實際上這個錯誤是說你沒有把身份令牌Token放到指定位置,輸出這樣界面就可以了,準備下一步生成令牌和游戲地圖 mod等。
3 創(chuàng)建存檔以及設(shè)置
這里我還是部分沒有截圖,就繼續(xù)借用大佬們的圖吧
首先在自己的電腦上啟動饑荒聯(lián)機版,點擊賬號

記住自己的klie用戶ID,一會把它加到超級用戶中,可以控制自己的服務(wù)器

點擊游戲選項,并點擊服務(wù)器

添加你自己的服務(wù)器,記住生成token這就是服務(wù)器生成服務(wù)所需要的身份令牌

記住填自己的令牌

然后打開游戲生成一個世界,根據(jù)自己的需要設(shè)置游戲模式,設(shè)定完成后,點擊文件夾即可打開地圖文件所在位置

我的打開如圖所示,因為我沒有創(chuàng)建地洞,所以只有一個文件夾,創(chuàng)建地洞會加大對服務(wù)器的負載,所以我沒有創(chuàng)建,大家可以按照自己的硬件和需求來

這里我復制本地文件操作和詳細介紹指南(自己懶),反正其實也只是給我自己看的
大多數(shù)情況下我們只需要關(guān)注其中部分文件即可,接下來在本地對存檔中的這些文件進行適當修改:
編輯
cluster_token
文件,將其內(nèi)容修改為之前保存的Token信息。打開cluster.ini文件,找到
shared_enabled
選項,并將其值設(shè)置為true
在存檔文件夾下(與cluster.ini同級)新建
adminlist.txt
文件,并將自己的id添加在文件中,如果需要添加多個管理員,可以使用回車分隔,一行一個id在存檔文件集下新建
blocklist.txt
,作為服務(wù)器黑名單,操作方式與adminlist.txt
一致。
先別急上傳,我們再對服務(wù)上的mod進行修改,文件位于你的安裝目錄里面mod文件夾下,對于我來說為
#用vim打開文件
將一下mod添加至文件末尾
我們再來談一下上傳到服務(wù)器相關(guān)事項,首先我們要創(chuàng)建一個非root用戶用來運行游戲,保證安全在root權(quán)限下輸入以下命令
#創(chuàng)建新的用戶
#給新用戶設(shè)置密碼
我使用的是xshell這個軟件,創(chuàng)建新的連接使用新的用戶名和密碼登錄到服務(wù)器,這樣做是為了保證上傳到服務(wù)器的文件擁有正確的讀寫權(quán)限,我在這里面吃大虧了,就算給了777權(quán)限還是出現(xiàn)了一些莫名奇妙的BUG,使用xftp連接到服務(wù)器,運行游戲././dontstarve_dedicated_server_nullrenderer
(注意一定要是steam用戶,就是非root用運行)不同用戶的游戲數(shù)據(jù)文件地址可能不同,查看游戲加載目錄

復制到Cluser_1前,填入xftp地址欄里

.
開頭的文件,在Linux里屬于隱藏文件夾,正常無法查看到,如果想查看,使用命令ls -a
,所以建議直接復制路徑填入
最后都配置好了,只差運行服務(wù)器就行了
如果服務(wù)器顯示如下則表示服務(wù)器已成功運行,當然使用screen是不會有輸出的,你可以指定輸出到文件,或者進入后臺查看(注意使用你創(chuàng)建的用戶運行,如果真的有莫名寫入權(quán)限問題,那你使用root賬號吧,屆時游戲數(shù)據(jù)目錄會變,請仔細觀察)

后面就是在饑荒聯(lián)機版中搜索自己的服務(wù)器名稱就好了,文章到此結(jié)束,文章中有引用他人的資料圖片等,如有侵權(quán),請聯(lián)系我修改
主要參考資料
同類視頻資料