本文分享自华为云社区《Ubuntu快速搭建饥荒服务器》,作者: 云计算冲锋队。

《饥荒》是Klei第一次尝试生存题材。受到Minecraft 的影响,这个游戏也是将玩家放置到游戏世界中,并未给予玩家太多的指示以及特定的生存目标。该游戏在游戏评论家受普遍好评,包括其美术风格、音乐以及玩家死亡的多样性。

如果用云服务器搭建饥荒服务器,可解决网络运营商不同导致的卡顿问题,且即使换一台电脑游玩,数据存档也是保存在云服务器上,可搜索你的房间名,接着玩你的存档。

说明:《饥荒》当前不支持一键部署。

开始前准备:

*你需要一个Steam账号和一个饥荒的客户端

步骤1:选购华为云服务器

选择1核2G 1M,可满足2-3 人游玩

2核4G 5M , 可满足8人左右游玩

操作系统 Ubuntu 22.04

如果选错了系统,可在控制台进行切换系统

教你用Ubuntu快速搭建饥荒服务器_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快速搭建饥荒服务器_云服务_02

7.创建服务器token

在steam饥荒的标题画面点击账号,选择游戏,点《饥荒:联机版》的游戏服务器,得到游戏服务器Token。

教你用Ubuntu快速搭建饥荒服务器_Ubuntu_03

更换云服务器上地图资源的cluster_token.txt。

教你用Ubuntu快速搭建饥荒服务器_服务器搭建_04

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快速搭建饥荒服务器_服务器搭建_05

每个ID占一行,不需要加任何标点符号

KU_XXXXX

KU_XXXXX

KU_XXXXX

9.连接游戏游玩

返回饥荒,点击浏览游戏,找到自己的房间后进入即可

以上就是服务器搭建的全过程了~

请用户在遵守适用的法律法规下合法使用云服务,按照游戏官方说明、指示和要求使用游戏,如用户涉及侵权,由用户自行承担责任。

点击关注,第一时间了解华为云新鲜技术~