教你用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.连接游戏游玩

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

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

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

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

相关推荐
羊村懒哥3 分钟前
ubuntu24.04系统安装VNC
linux·运维·服务器
游戏技术分享1 小时前
【鸿蒙游戏技术分享 第71期】资质证明文件是否通过
游戏·华为·harmonyos
reddingtons1 小时前
PS 参考图像:线稿上色太慢?AI 3秒“喂”出精细厚涂
前端·人工智能·游戏·ui·aigc·游戏策划·游戏美术
阿阿越1 小时前
Linux系统编程 -- 进程优先级、切换和调度
linux·运维·服务器
wanhengidc1 小时前
云手机存在哪些技术瓶颈
运维·服务器·安全·智能手机·生活
IT19952 小时前
C++使用“长度前缀法”解决TCP“粘包 / 拆包”问题
服务器·网络·c++·tcp/ip
德迅云安全—珍珍2 小时前
物理服务器、云服务器、裸金属服务器的区别
运维·服务器
好记忆不如烂笔头abc2 小时前
超微服务器的ipmi调整风扇运行模式
运维·服务器
一个响当当的名号2 小时前
ASP.NET 期末突击
运维·服务器
@Wufan2 小时前
ubuntu服务器子用户(无sudo权限)安装/切换多个版本cuda
linux·服务器·ubuntu·cuda