原文作者:Mintimate
原文地址:https://cloud.tencent.com/developer/article/2048973
頭圖不能少呀~~
饑荒官方服務(wù)器經(jīng)常無法連接,無法和小伙伴玩耍;如何搭建自己的饑荒服務(wù)器呢?和小伙伴隨時(shí)隨地,快樂聯(lián)機(jī)。
前言
饑荒這個(gè)游戲,雖然首發(fā)于2016年,但是貴在好玩呀。和Minecraft一樣,可玩性很高,并且有很多mods,最近和小伙伴玩的過程中,就想著搭建一個(gè)服務(wù)器,方便在主機(jī)玩家不在線時(shí)候,也可以讓其他玩家自由玩耍。
準(zhǔn)備工具
目前,Don't Starve的服務(wù)器自建,支持Linux Server和Windows Server服務(wù)器,這兩個(gè)就要看自己的取舍了:理論上,Windows Server更容易上手,畢竟大多數(shù)人的操作系統(tǒng)是Windows,但是對(duì)資源的浪費(fèi)很大,舉個(gè)例子:一臺(tái)2C 4G的服務(wù)器,Windows Server可能系統(tǒng)占用1G內(nèi)存,而Linux才占100M不到。
不過,本文Linux和Windows Server上如何搭建Don't Starve都會(huì)講哦,大家不用擔(dān)心。但是還是以Windows Server為主,照顧小白用戶。
如果你并沒有服務(wù)器設(shè)備,需要一個(gè)購(gòu)買/租借,強(qiáng)烈推薦學(xué)生用戶:
- 騰訊云輕量應(yīng)用服務(wù)器學(xué)生優(yōu)惠
另外,為大家爭(zhēng)取到優(yōu)惠*(?ˊ?ˋ)??,本站專屬優(yōu)惠~~(可能比學(xué)生優(yōu)惠還優(yōu)惠哦~):
- 本站專屬騰訊云秒殺鏈接(可低價(jià)購(gòu)買輕量應(yīng)用服務(wù)器)
經(jīng)過測(cè)試,一臺(tái)2C 4G 6M配置騰訊云輕量應(yīng)用服務(wù)器,可以流暢運(yùn)行Don't Starve,且在6個(gè)人游玩時(shí),帶寬足夠(沒有更多小伙伴可以來測(cè)試了(?_?;
輔助視頻
嘿嘿,做教程視頻不易(B站根本不會(huì)推薦引流),請(qǐng)務(wù)必一鍵三連嗷~B站視頻地址:10分鐘零基礎(chǔ)搭建自己的饑荒Don’t Starve服務(wù)器,和小伙伴聯(lián)機(jī)開服_嗶哩嗶哩_bilibili
云+社區(qū)視頻鏡像地址:10分鐘零基礎(chǔ)搭建自己的饑荒Don’t Starve服務(wù)器,和小伙伴聯(lián)機(jī)開服 - 騰訊云開發(fā)者社區(qū)-騰訊云
服務(wù)器初始化
以騰訊云服輕量應(yīng)用服務(wù)器Lighthouse為例,如果你購(gòu)買的是Linux服務(wù)器(Debian、Ubuntu或CentOS等Linux發(fā)行版本服務(wù)器),如果想快速初始化,可以按本文章搭建寶塔服務(wù)器進(jìn)行快速初始化。
如果你購(gòu)買的是Windows Server(Windows Server2019、Windows Server 2022)。我們購(gòu)買服務(wù)器后,切換到騰訊云服務(wù)器后臺(tái),重制我們的Administrator用戶密碼:
重制密碼
重制密碼
之后,就可以遠(yuǎn)程連接服務(wù)器。你可以使用騰訊云的WebRDP(遠(yuǎn)程桌面):
VNC遠(yuǎn)程
本地為macOS
因?yàn)楹罄m(xù)我們需要上傳本地饑荒客戶端的配置給服務(wù)器使用,所以我們可以使用遠(yuǎn)程桌面的應(yīng)用,比如:macOS使用Microsoft Remote Desktop。
macOS遠(yuǎn)程
并且創(chuàng)建一個(gè)共享的文件夾,用來文件交互:
設(shè)置本地交互目錄
遠(yuǎn)程后效果
進(jìn)入文件夾
本地為Windows
使用Windows自帶的遠(yuǎn)程:鼠標(biāo)右擊開始菜單
>>運(yùn)行
,輸入mstsc
命令,打升遠(yuǎn)程桌面對(duì)話框:
初始化
打開高級(jí)選項(xiàng):
設(shè)置高級(jí)
并且,對(duì)本地文件夾進(jìn)行映射:
設(shè)置本地交互目錄
遠(yuǎn)程后效果
進(jìn)入文件夾
SteamCMD
本章節(jié)目錄,所有操作在Windows Server內(nèi)操作,不是本地Windows,特此提醒
在Windows Server上,瀏覽器下載Steam CMD
之后,注意??:一定要解壓到空文件夾、一定要解壓到空文件夾,不要沒解壓就直接在ZIP內(nèi)使用SteamCMD!??!
下載CMD后解壓
最后,我們雙擊SteamCMD,開始初始化:
SteamCMD初始化
顯示為Steam>
,這個(gè)時(shí)候就是SteamCMD的交互模式,說明初始化完成了,在等待我們進(jìn)行指令交互了:
SteamCMD初始化完成
同步饑荒服務(wù)器
本章節(jié)目錄,所有操作在Windows Server內(nèi)操作,不是本地Windows,特此提醒
現(xiàn)在,我們需要使用SteamCMD,同步饑荒服務(wù)器原始文件到我們本地,很簡(jiǎn)單,在SteamCMD的交互模式下輸入:
login anonymous
復(fù)制
饑荒的服務(wù)器,并不需要我們登錄就可以直接下載
匿名登錄
如果出現(xiàn)連接超時(shí):
連接超時(shí)操作
就重新輸入login anonymous
進(jìn)行登錄一次,最后成功匿名登錄結(jié)果:
連接成功
最后,我們這個(gè)時(shí)候再同步饑荒服務(wù)器:
app_update 343050 validate
復(fù)制
饑荒服務(wù)器的appid是
343050
正在下載
下載成功
可以看到,最后成功,我們饑荒服務(wù)器同步就完成了,打開SteamCMD的相對(duì)路徑steamapps\common\Don't Starve Together Dedicated Server
就是我們的饑荒服務(wù)器。
同步地址
這個(gè)時(shí)候,我們SteamCMD的“黑窗”就可以關(guān)閉了
饑荒服務(wù)器初始化
本章節(jié)目錄,所有操作在Windows Server內(nèi)操作,不是本地Windows,特此提醒。
并且,當(dāng)前在steamapps\common\Don't Starve Together Dedicated Server
目錄內(nèi),以下相對(duì)路徑需要注意
現(xiàn)在,我們開始饑荒服務(wù)器的初始化。進(jìn)入配置文件地址bin\scripts
,有這個(gè)執(zhí)行文件,內(nèi)容包含:
啟動(dòng)文件
# 啟動(dòng)世界
start "Don't Starve Together Overworld" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -conf_dir DoNotStarveTogether_EasyConfigOverworld -console
# 啟動(dòng)洞穴
start "Don't Starve Together Caves" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -conf_dir DoNotStarveTogether_EasyConfigCaves -console
復(fù)制
直接雙擊這個(gè)執(zhí)行文件,是不能啟動(dòng)成功的:
啟動(dòng)失敗
這個(gè)主要是:
- 沒有服務(wù)器配置文件
- 沒有Auth Token(賬戶認(rèn)證Token)
所以,服務(wù)器只是簡(jiǎn)單校驗(yàn)服務(wù)器后,就停止了?,F(xiàn)在我們需要補(bǔ)全配置文件和Auth Token。
同步配置文件
同步配置文件的方法很簡(jiǎn)單。首先,本地的饑荒服務(wù)器創(chuàng)建一個(gè)存檔(當(dāng)然,可以把洞穴生成也選中):
本地開設(shè)文檔
創(chuàng)建成功后,我們斷開連接,并在首頁選擇數(shù)據(jù)
:
本地打開數(shù)據(jù)
打開后,Cluster_X
就是存檔存放的文件(比如:Cluster_1),這里的X對(duì)應(yīng)你在游戲中按順序創(chuàng)建的第X個(gè)存檔。(請(qǐng)注意, X 是數(shù)字從小到大, 有空余則填充這樣一個(gè)邏輯, 所以 新創(chuàng)建的存檔并不一定是數(shù)字序最大的存檔, 請(qǐng)查看文檔修改時(shí)間選擇對(duì)應(yīng)存檔):
存檔文件
將其復(fù)制到共享文件夾內(nèi),共享給我們的Windows Server:
共享成功
最后,服務(wù)器上打開C:\Users\Administrator\Documents\Klei
文件夾,因?yàn)楝F(xiàn)在饑荒的本地客戶端洞穴和主世界文件創(chuàng)建在一起,所以為了服務(wù)器和本地方便管理,我們創(chuàng)建一個(gè)myDoNotStarveTogetherData
文件夾,并把剛剛的存檔文件放入其中:
移動(dòng)
同時(shí),修改上文說到的配置文件,有這個(gè)執(zhí)行文件,如果你和我一樣,就改成這樣即可:
start "Don't Starve Together Overworld" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -conf_dir myDoNotStarveTogetherData -console
start "Don't Starve Together Caves" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -conf_dir myDoNotStarveTogetherData
復(fù)制
修改執(zhí)行文件
Auth Token
最后,我們需要寫入Auth Token,首先去獲取,在客戶端內(nèi),點(diǎn)擊賬戶
(可能需要回到上級(jí)并注冊(cè)賬戶):
登錄Klei
之后,選擇游戲
:
選擇饑荒服務(wù)器
并且創(chuàng)建游戲后,得到游戲服務(wù)器Token,比如:
創(chuàng)建Token
我們復(fù)制Token后,在服務(wù)器上剛剛創(chuàng)建的地圖文件夾內(nèi)創(chuàng)建一個(gè)叫cluster_token.txt
的文件,并粘貼Token保存:
填寫Token
到此,Auth Token就創(chuàng)建完成了。
啟動(dòng)服務(wù)器
現(xiàn)在,再次點(diǎn)擊執(zhí)行文件,就可以創(chuàng)建服務(wù)器成功了。如果出現(xiàn)CURL ERROR: (dst.metrics.klei.com) [28]Connection timed out after 5000 milliseconds
這樣的問題??梢钥纯碤&A內(nèi)的解決方案。
最后成功運(yùn)行服務(wù)器:
服務(wù)器防火墻
現(xiàn)在,我們需要對(duì)服務(wù)器防火墻進(jìn)行放行。本著用那個(gè)端口就放行那個(gè)的原則,根據(jù)上文上次地圖文件內(nèi)的cluster.ini
內(nèi)的master_port
進(jìn)行放行,同時(shí)放10999
端口:
比如:
- 我的
master_port
是10888
所以,在騰訊云的后臺(tái)放行UDP:
放行端口
之后,就可以服務(wù)器連接了(可能需要重啟一次饑荒服務(wù)器)。
本地連接
本章節(jié)目錄,所有操作在本地Windows內(nèi)操作,不是服務(wù)器Windows Server了哦,特此提醒。
打開本地的饑荒聯(lián)機(jī)版,選擇瀏覽游戲:
選擇瀏覽游戲
之后,進(jìn)行過濾:
過濾服務(wù)器
在之后,選擇進(jìn)入即可,第一次加載,可能會(huì)極其緩慢。
加載完成:
加載完成
添加mod
饑荒服務(wù)器添加mod就太簡(jiǎn)單了(相當(dāng)于Minecraft添加mod,經(jīng)常會(huì)出現(xiàn)各種沖突問題……)
添加mod的方法很很簡(jiǎn)單;首先,我們?cè)诒镜嘏渲煤胢od,之后上傳到服務(wù)器運(yùn)行。這個(gè)時(shí)候把Master
(或者Caves)內(nèi)的modoverrides.lua
內(nèi)mod,按照:
ServerModSetup("666155465")
復(fù)制
這樣的格式,追加到饑荒游戲服務(wù)器下的mods/dedicated_server_mods_setup.lua
內(nèi)即可(一行一個(gè)):
添加mod
Linux如何搭建
考慮到普通用戶用Windows比較多,所以文章使用Windows Server進(jìn)行主要演示,這里簡(jiǎn)單演示一下Linux Server上如何進(jìn)行操作。
Linux服務(wù)器,我也推薦使用騰訊云輕量應(yīng)用服務(wù)器,推薦使用Debian或Ubuntu發(fā)行版本,不推薦使用CentOS發(fā)行版本。(使用CentOS,可能會(huì)缺少i386依賴庫,導(dǎo)致饑荒服務(wù)器無法初始化運(yùn)行)。
如果你并沒有服務(wù)器設(shè)備,需要一個(gè)購(gòu)買/租借,強(qiáng)烈推薦:
- 本站專屬騰訊云秒殺鏈接(可低價(jià)購(gòu)買輕量應(yīng)用服務(wù)器)
首先,我們還是使用SteamCMD去同步饑荒服務(wù)器,但是觀察SteamCMD官方文檔,SteamCMD需要用一個(gè)叫steam的用戶,在“家”目錄下的steam內(nèi)操作。所以,我們提前創(chuàng)建:
# 創(chuàng)建一個(gè)用戶叫steam
sudo useradd -m steam
# 給steam重置密碼
sudo passwd steam
復(fù)制
另外,steamcmd需要依賴包:
# Ubuntu/Debian
sudo apt-get install lib32gcc1
# CentOS
yum install glibc.i686 libstdc++.i686
復(fù)制
初始化與拉取
下載SteamCMD并安裝:
# 切換為steam用戶
su - steam
# 創(chuàng)建steam目錄
mkdir ~/Steam && cd ~/Steam
# 下載SteamCMD并解壓
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
# 運(yùn)行steamcmd
./steamcmd.sh
復(fù)制
如圖:
安裝運(yùn)行SteamCMD
以Steam
開頭時(shí),就是進(jìn)入SteamCMD的交互模式了,我們使用:
login anonymous
復(fù)制
即可匿名登錄:
安裝運(yùn)行SteamCMD
之后,進(jìn)行饑荒服務(wù)器的拉?。?/p>
app_update 343050 validate
復(fù)制
拉取饑荒服務(wù)器
拉取成功:
拉取饑荒服務(wù)器成功
最后,看了一下目錄,就和Windows Server一模一樣了,實(shí)際上的配置也是一樣的:
目錄結(jié)構(gòu)
初始化定制
但是,如果要啟動(dòng),建議的配置是,首先創(chuàng)建一個(gè)地圖配置目錄:
# 當(dāng)前是steam用戶
mkdir /home/steam/myDoNotStarveTogetherData
復(fù)制
之后,創(chuàng)建地圖啟動(dòng)腳本:
# 當(dāng)前是steam用戶
cd /home/steam/Steam/steamapps/common/Don't Starve\ Together\ Dedicated\ Server/bin
echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam -conf_dir myDoNotStarveTogetherData -cluster World1 -shard Master" > master_start.sh
echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam -conf_dir myDoNotStarveTogetherData -cluster World1 -shard Caves" > cave_start.sh
chmod +x master_start.sh cave_start.sh
復(fù)制
之后,運(yùn)行即可:
# 當(dāng)前在饑荒目錄內(nèi)的bin文件夾下
## 啟動(dòng)主世界
./master_start.sh
## 啟動(dòng)洞穴
./cave_start.sh
復(fù)制
注意:?jiǎn)?dòng)過程中,需要保持交互模式,配合screen來后臺(tái)運(yùn)行饑荒洞穴和主世界。
i386支持問題
在Debian/Ubuntu上如果出現(xiàn)./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
或者./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
啟動(dòng)失敗
一般是因?yàn)槟惴?wù)器是X86_X64的,你需要開啟i386
支持,并添加i386
版本的libcurl-gnutls.so.4
到其包內(nèi)。切換到root用戶運(yùn)行:
# 開啟支持
sudo dpkg --add-architecture i386
# 更新軟件
sudo apt update
# 下載更新源
sudo apt-get dist-upgrade
復(fù)制
之后,安裝i386
的庫:
sudo apt install libcurl4-gnutls-dev:i386
復(fù)制
安裝過程
之后,軟連接到饑荒服務(wù)器內(nèi):
ln -s /usr/lib/i386-linux-gnu/libcurl-gnutls.so.4 /home/steam/Steam/steamapps/common/Don\'t\ Starve\ Together\ Dedicated\ Server/bin/lib32/libcurl-gnutls.so.4
復(fù)制
配置
同理,配置i386
版本的libstdc++.so.6
:
sudo apt install libstdc++6:i386
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /home/steam/Steam/steamapps/common/Don\'t\ Starve\ Together\ Dedicated\ Server/bin/lib32/libstdc++.so.6
復(fù)制
之后,就可以正常啟動(dòng)服務(wù)器了。正常會(huì)啟動(dòng)失敗啦,不過已經(jīng)可以運(yùn)行了:
運(yùn)行成功
并且,我們?cè)O(shè)置的地圖目錄也成功出現(xiàn)地圖配置目錄:
地圖配置目錄
后續(xù)想啟動(dòng)成功,跟著Windows Server上的教程,配置同步配置文件
和Auth Token
就可以正常啟動(dòng)了(當(dāng)然,還有服務(wù)器端口記得放哦)。記得配合screen來后臺(tái)運(yùn)行饑荒洞穴和主世界。
Q&A
CURL ERROR
服務(wù)器沒有開啟成功,查看日志發(fā)現(xiàn)是沒有連接Klei服務(wù)器,出現(xiàn)錯(cuò)誤:
CURL ERROR: (dst.metrics.klei.com) [28]Connection timed out after 5000 milliseconds
復(fù)制
解決方法很簡(jiǎn)單,我們可以修改host
,使其能夠解析dst.metrics.klei.com
這個(gè)域名到IP。服務(wù)器上,瀏覽器打開:
- What Is My IP Address? Free IP Lookup
并點(diǎn)擊Go To Homepage
后,將dst.metrics.klei.com
放上去解析得到IP:
得到IP
比如,我這里得到的是:3.230.203.39
。
之后,文件瀏覽內(nèi)打開地址:C:\Windows\System32\drivers\etc\hosts
,使用記事本打開:
打開Hosts文件
在文末最加:
3.230.203.39 dst.metrics.klei.com
復(fù)制
不要直接抄我的,每個(gè)人服務(wù)器可以連接的IP不一樣,強(qiáng)烈建議按上述方法,自己解析IP。
追加hosts文件
之后,保存并退出即可。之后,重新運(yùn)行bat執(zhí)行文件即可。如果還是不行,就切換其他Host啦。
如何服務(wù)器遷移
服務(wù)器遷移其實(shí)很簡(jiǎn)單,把上次的存檔打包即可:
歸檔打包
如何更新饑荒服務(wù)器
更新饑荒服務(wù)端其實(shí)很簡(jiǎn)單。不過,更新饑荒前:
- 退出饑荒進(jìn)程,也就是關(guān)閉cmd的“黑窗”。
- 建議先備份服務(wù)器存檔,避免更新失敗,存檔損壞。
總的來說,就是重復(fù)同步饑荒服務(wù)器的過程,比如我回到SteamCMD目錄,以此重新執(zhí)行:
login anonymous
app_update 343050 validate
復(fù)制
即可更新成功。
修改配置不生效
修改服務(wù)器配置,如:允許傳送等配置。但是客戶端查看服務(wù)器卻沒有生效,可以排查:
- 修改配置后,服務(wù)器上饑荒服務(wù)器需要重新啟動(dòng);
- 配置可能填錯(cuò)了。
END
到此,饑荒服務(wù)器的搭建流程就結(jié)束了嗷,有問題可以留言哦~~文章來源:http://www.zghlxwxcb.cn/news/detail-782312.html
(*?-?*)~~文章來源地址http://www.zghlxwxcb.cn/news/detail-782312.html
到了這里,關(guān)于如何搭建自己的饑荒Don‘t Starve服務(wù)器,擺脫聯(lián)機(jī)卡頓和小伙伴快樂聯(lián)機(jī)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!