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

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

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

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

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

相关推荐
懷淰メ19 分钟前
PyQt飞机大战游戏(附下载地址)
开发语言·python·qt·游戏·pyqt·游戏开发·pyqt5
旦沐已成舟1 小时前
DevOps-Jenkins-新手入门级
服务器
软件技术员2 小时前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
一条晒干的咸魚3 小时前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
东华果汁哥3 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
mengao12344 小时前
centos 服务器 docker 使用代理
服务器·docker·centos
C-cat.4 小时前
Linux|进程程序替换
linux·服务器·microsoft
怀澈1224 小时前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
学Linux的语莫4 小时前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
/**书香门第*/4 小时前
Cocos creator 3.8 支持的动画 7
学习·游戏·游戏引擎·游戏程序·cocos2d