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

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

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

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

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

开始前准备:

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

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

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

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

操作系统 Ubuntu 22.04

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

步骤2:登录华为云服务器并部署

登录华为云弹性云服务器 ECS控制台,单击您购买的服务器的"远程登录",使用控制台提供的VNC方式登录。

1.配置环境

sql 复制代码
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安装

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

3.运行安装包

bash 复制代码
./steamcmd.sh

4. 安装饥荒联机版服务器

bash 复制代码
login anonymous
force_install_dir ../dontstarvetogether_dedicated_server
app_update 343050 validate
quit

下载需要一定时间

如果这里提示"Failed to init SDL priority manager: SDL not found"之类的,执行

ruby 复制代码
sudo apt install libsdl2-2.0-0:i386

后再重复以上操作

5.创建本地存档

生成世界进入游戏后直接退出,随后在创建游戏那可找到自己的世界,点击管理世界-打开世界文件夹,得到本地游戏地图资源。

6.创建服务器地图存档

bash 复制代码
mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1

用xftp找到刚刚创建的文件夹,将步骤5的本地地图资源全部上传

7.创建服务器token

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

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

8.创建命令,运行服务器

bash 复制代码
cd ~
touch start.sh

steamcmd_dir 表示的是steam 安装的位置

install_dir 表示的 饥荒服务器安装的位置

cluster_name 表示的是 地图的名字

donstarve_dir 表示的是 地图的位置

bash 复制代码
#!/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: /'

启动服务器

bash 复制代码
./start.sh

*如果和朋友多人联机游戏,让每个人都有暂停世界或者回档的权限时,需要在服务器的世界存档Cluster1中添加一个adminlist.txt文件,在其中加入klei用户ID

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

KU_XXXXX

KU_XXXXX

KU_XXXXX

9.连接游戏游玩

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

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

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

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

相关推荐
远游客07133 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
LIKEYYLL5 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3216 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3216 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
CircleMouse6 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
白乐天_n6 小时前
腾讯游戏安全移动赛题Tencent2016A
安全·游戏
这是我586 小时前
C++打小怪游戏
c++·其他·游戏·visual studio·小怪·大型·怪物
木子Linux7 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
不惑_7 小时前
小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6
服务器·hadoop·腾讯云
tealcwu7 小时前
【游戏设计原理】21 - 解谜游戏的设计
游戏·游戏策划