教你用Ubuntu快速搭建饑荒伺服器

华为云开发者联盟發表於2024-03-04

本文分享自華為雲社群《Ubuntu快速搭建饑荒伺服器》,作者: 雲端計算衝鋒隊。

《饑荒》是Klei第一次嘗試生存題材。受到Minecraft 的影響,這個遊戲也是將玩家放置到遊戲世界中,並未給予玩家太多的指示以及特定的生存目標。該遊戲在遊戲評論家受普遍好評,包括其美術風格、音樂以及玩家死亡的多樣性。

如果用雲伺服器搭建饑荒伺服器,可解決網路運營商不同導致的卡頓問題,且即使換一臺電腦遊玩,資料存檔也是儲存在雲伺服器上,可搜尋你的房間名,接著玩你的存檔。

說明:《饑荒》當前不支援一鍵部署。

開始前準備:

*你需要一個Steam賬號和一個饑荒的客戶端

步驟1:選購華為雲伺服器

選擇1核2G 1M,可滿足2-3 人遊玩

2核4G 5M , 可滿足8人左右遊玩

作業系統 Ubuntu 22.04

如果選錯了系統,可在控制檯進行切換系統

教你用Ubuntu快速搭建饑荒伺服器

步驟2:登入華為雲伺服器並部署

登入華為雲彈性雲伺服器 ECS控制檯,單擊您購買的伺服器的“遠端登入”,使用控制檯提供的VNC方式登入。

1.配置環境

sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update -y
sudo apt install lib32gcc1 libcurl4-gnutls-dev:i386 lib32stdc++6 lib32z1 -y

2.下載steamCMD安裝

mkdir ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

3.執行安裝包

./steamcmd.sh

4. 安裝饑荒聯機版伺服器

login anonymous
force_install_dir ../dontstarvetogether_dedicated_server
app_update 343050 validate
quit

下載需要一定時間

如果這裡提示”Failed to init SDL priority manager: SDL not found”之類的,執行

sudo apt install libsdl2-2.0-0:i386

後再重複以上操作

5.建立本地存檔

生成世界進入遊戲後直接退出,隨後在建立遊戲那可找到自己的世界,點選管理世界-開啟世界資料夾,得到本地遊戲地圖資源。

6.建立伺服器地圖存檔

mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1

用xftp找到剛剛建立的資料夾,將步驟5的本地地圖資源全部上傳

教你用Ubuntu快速搭建饑荒伺服器

7.建立伺服器token

在steam饑荒的標題畫面點選賬號,選擇遊戲,點《饑荒:聯機版》的遊戲伺服器,得到遊戲伺服器Token

教你用Ubuntu快速搭建饑荒伺服器

更換雲伺服器上地圖資源的cluster_token.txt

教你用Ubuntu快速搭建饑荒伺服器

8.建立命令,執行伺服器

cd ~
touch start.sh

steamcmd_dir 表示的是steam 安裝的位置

install_dir 表示的 饑荒伺服器安裝的位置

cluster_name 表示的是 地圖的名字

donstarve_dir 表示的是 地圖的位置

#!/bin/bash

steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/dontstarvetogether_dedicated_server"
cluster_name="Cluster_1"
dontstarve_dir="$HOME/.klei/DoNotStarveTogether"

function fail()
{
    echo Error: "$@" >&2
    exit 1
}

function check_for_file()
{
    if [ ! -e "$1" ]; then
    fail "Missing file: $1"
    fi
}

cd "$steamcmd_dir" || fail "Missing $steamcmd_dir directory!"

check_for_file "steamcmd.sh"
check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"
check_for_file "$install_dir/bin"

cd "$install_dir/bin" || fail

run_shared=(./dontstarve_dedicated_server_nullrenderer)
run_shared+=(-console)
run_shared+=(-cluster "$cluster_name")
run_shared+=(-monitor_parent_process $$)
run_shared+=(-shard)

"${run_shared[@]}" Caves | sed 's/^/Caves: /' &
"${run_shared[@]}" Master | sed 's/^/Master: /'

啟動伺服器

./start.sh

*如果和朋友多人聯機遊戲,讓每個人都有暫停世界或者回檔的許可權時,需要在伺服器的世界存檔Cluster1中新增一個adminlist.txt檔案,在其中加入klei使用者ID

教你用Ubuntu快速搭建饑荒伺服器

每個ID佔一行,不需要加任何標點符號

KU_XXXXX

KU_XXXXX

KU_XXXXX

9.連線遊戲遊玩

返回饑荒,點選瀏覽遊戲,找到自己的房間後進入即可

以上就是伺服器搭建的全過程了~

請使用者在遵守適用的法律法規下合法使用雲服務,按照遊戲官方說明、指示和要求使用遊戲,如使用者涉及侵權,由使用者自行承擔責任。

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章