Linux搭建Steam饥荒服务器教程 — SteamCMD方式

每次饥荒更新服务器都会找不到的,请及时更新!!

PS:服务器推荐腾讯云服务器

1核2G 1M 差不多2-3 人,不是很卡,人数变多的话,就会很卡的,100 块
看自己个人需求

一般的话 2核 4G ,
8人左右,差不多 400块

一、官方文档

先附上官方文档:https://dontstarve.fandom.com/wiki/Guides/Don%E2%80%99t_Starve_Together_Dedicated_Servers#Requirements

二、安装

我这边使用的是centos,大家执行下方步骤前确认下自己是centos还是ubuntu

1. 安装编译环境

sudo yum update -y
sudo yum install glibc.i686 libstdc++.i686 libcurl4-gnutls-dev.i686 libcurl.i686 screen -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

3.1 自动进入SteamCMD后执行如下命令

force_install_dir ../dontstarvetogether_dedicated_server
login anonymous
app_update 343050 validate
quit

这个是下载 饥荒的服务器,需要一定的时间
343050 是饥荒在steam 中的 id

4. 查看安装情况

启动专用服务器前要先执行下

cd ~/dontstarvetogether_dedicated_server/bin/lib32
ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4

目的是解决 lib 缺失(如果有lib依赖缺失的问题请一定要运行这一步,添加软关系,其实云端是有这个依赖的。

接着按照如下命令启动专用服务器。

cd ~/dontstarvetogether_dedicated_server/bin/./dontstarve_dedicated_server_nullrenderer

接着如果提示下方内容,就代表安装成功了
控制台截图

5. 创建存档

本地启动游戏创建房间,配置好森林 & 洞穴 & mod,进入游戏
在这里插入图片描述
不要选择人物,然后退出
在这里插入图片描述
按照如下路径找到你的存档文件。

在这里插入图片描述

6. 创建服务器地图存档

mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1

然后使用 ftp工具上传刚才的存档文件到当前目录中

7. 创建 服务器token,更换地图资源中的token

token 创建地址:https://accounts.klei.com/account/info

在这里插入图片描述
在这里插入图片描述
这里是我的token,一定要用自己的token。

pds-g^KU_SpqLc8Hm^Y5FP+OXvmjd+5WQ0L8A1pFAtALYf1ecPQIzVG2gYR2c=

8. 更换地图资源的cluster_token.txt

在这里插入图片描述

8.1 查看本地mod 的id

在这里插入图片描述

8.2 修改服务器mod

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对照你的modID,按照下方格式添加到dedicated_server_mods_setup.lua这个文件中

ServerModSetup("1207269058")
ServerModSetup("1216718131")
...

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

cd ~
vim start.sh 

把下方代码粘贴进去

steamcmd_dir 表示的是steam 安装的位置
install_dir 表示的 饥荒服务器安装的位置
cluster_name 表示的是 存档的名字
donstarve_dir 表示的是 存档的位置

#!/bin/bashsteamcmd_dir="~/steamcmd"
install_dir="~/dontstarvetogether_dedicated_server"
cluster_name="Cluster_1"
dontstarve_dir="~/.klei/DoNotStarveTogether"function fail()
{echo Error: "$@" >&2exit 1}function check_for_file(){if [ ! -e "$1" ]; thenfail "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" || failrun_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: /'

9.2 修改权限

chmod u+x ~/start.sh

9.3 启动服务器

screen -S DST
./start.sh

在这里插入图片描述

9.4 添加管理员

cd ~/.klei/DoNotStarveTogether/Cluster_1
vim adminlist.txt

加入你要设置为管理员的用户ID

KU_SpqLc8Hm
KU_SpqLc83m
KU_3pqLc9Hm

10. 升级

饥荒更新,重新下载

~/steamcmd/steamcmd.sh +login anonymous +force_install_dir ~/dontstarvetogether_dedicated_server/ +app_update 343050 validate +quit

日常命令

# 启动饥荒服务器
screen ~/start.sh# 查看机器后台运行脚本
screen -ls# 关闭后台运行
screen -r xxx

Published by

风君子

独自遨游何稽首 揭天掀地慰生平