目录

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

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

本文分享自华为云社区《 》,作者: 云计算冲锋队。

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

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

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

开始前准备:

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

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

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

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

操作系统 Ubuntu 22.04

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

https://i-blog.csdnimg.cn/blog_migrate/3488b1f32b73185da869ccc70d9224cb.png

步骤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的本地地图资源全部上传

https://i-blog.csdnimg.cn/blog_migrate/baf2251555a5a4a9fd6432e7cedc018d.png

7.创建服务器token

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

https://i-blog.csdnimg.cn/blog_migrate/982bfa5f670f4ee298403dd4826d6a08.png

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

https://i-blog.csdnimg.cn/blog_migrate/2c6fa3a3d4bbfa8af0e2210cb509eb11.png

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

https://i-blog.csdnimg.cn/blog_migrate/ede6fdeee5eb1708d05777dd199cdd8b.png

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

KU_XXXXX

KU_XXXXX

KU_XXXXX

9.连接游戏游玩

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

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

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