
此为饥荒联机版专用服务器搭建的系列教程。主要包括服务搭建、配置修改、MOD管理、服务器维护等。本篇文章为Linux平台下的服务器搭建教程。
Windows平台教程参见:饥荒联机版专用服务器搭建教程(一)【Windows篇】

2025-04-17 编写教程初版
在云服务器,Linux系统搭建专用服务器
有一定的Linux系统使用能力
建议使用CentOS、Ubuntu系统
部分可能出现的问题及解决方案,可以参见文末的【#常见问题】
想要搭建专用服务器,必须先拥有自己的云服务器,以此为基础进行搭建。饥荒服务器并不需要很高的配置,对于6人以下的场景,如果只开地面地图,1核2G足以。如果需要地面+洞穴,2核4G则足够。
目前国内主流云服务商(阿里云、腾讯云)都不定期有一些活动,可以在活动期间购买,还是很划算。符合条件的可以低价购买学生机,性价比超高。
购买服务器之后,需要放开网络限制,才能访问到服务器。根据不同的云服务厂商,配置可能略有区别,大体一致。在对应云服务商的管理界面,找到“安全组”或者“防火墙”配置,添加规则,允许所有TCP/UDP连接(追求简单,此处放开所有端口,如果对服务器比较了解,可以自定义放开对应端口,不一定放开全部)
此处以阿里云为例:

服务器的运行需要依赖32位环境,在搭建服务器之前,安装依赖包。不同发行版的Linux系统处理有一些细微的区别。
针对CentOS系统或者其他基于Red Hat的发行版,使用yum进行包管理
更新源
yum update
yum upgrade -y 安装依赖
yum install -y glibc.i686 libstdc++.i686 libgcc.i686 libcurl.i686 libcurl-devel
针对Ubuntu系统或者其他基于Debian的发行版,使用apt进行包管理
配置更新源
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt-get -y update 安装依赖
sudo apt-get -y install lib32gcc-s1 libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386 如果安装失败,可以根据安装失败的具体依赖包,自行搜索处理教程。
我们需要使用steamCMD安装游戏服务端。
在用户的home目录创建饥荒服务器目录
dst-server: 饥荒服务器的根目录
dst-server/steamcmd: steamcmd的目录
cd ~
mkdir -p dst-server/steamcmd
4.2 安装steamcmd程序
下载并解压steamcmd程序
cd ~/dst-server/steamcmd/
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf - 下载完成后,steamcmd文件夹的内容如下图所示

执行steamcmd.sh文件,运行steamcmd程序
./steamcmd.sh 等待完成显示【Loading Steam API...OK】

`Ctrl + C`或者输入`quit`退出steamcmd程序。完成后的文件结构如下所示:

如果遇到问题,可查看文末的【#常见问题】,或去官网获取最新软件和相关教程,官网地址:【https://developer.valvesoftware.com/wiki/SteamCMD】
指定游戏安装目录,安装饥荒联机版服务端。
5.1 创建游戏安装文件夹
cd ~
mkdir -p dst-server/dontstarve 5.2 安装游戏
~/dst-server/steamcmd/steamcmd.sh +force_install_dir ~/dst-server/dontstarve +login anonymous +app_update 343050 validate +quit 由于众所周知的原因,国内安装可能会比较慢,耐心等待。

安装完成后,会看到【Success! App '343050' fully installed.】界面显示如下:

运行服务器,需要游戏官方的token,进行鉴权,并且需要服务器配置信息。如下为一个简单的获取配置信息的办法。
访问科雷官网:【https://accounts.klei.com/login】,使用steam账户登陆

登录之后选择【游戏】-【《饥荒:联机版》的游戏服务器】

添加新服务器,输入【你的服务器名称】,然后点击【添加服务器】

添加完成后,选择【配置服务器】

输入基础的信息,然后点击【下载设置】

下载完成后,得到一个名为“MyDediServer.zip”的压缩文件。解压文件后,文件夹的结构如下:

创建游戏配置文件夹以及上传配置文件
cd ~
mkdir -p dst-server/dontstarve-config/clusters 使用`XFtp`等工具将上述解压的`MyDediServer`文件夹上传到`~/dst-server/dontstarve-config/clusters`目录下。此时的`dst-server`目录的结构如下所示:

`dontstarve-config`目录的结构如下:

【cluster.ini】:集群的配置
【cluster_token.txt】:服务器token
【Caves】:洞穴相关的配置
【Master】:地面相关配置
创建启动脚本来启动饥荒服务器,如果对Linux操作不熟悉的朋友可以在Windows下创建文件,再上传到`~/dst-server`即可。熟悉Linux的朋友可以直接在服务器创建文件即可。
创建`run_server.sh`文件,输入以下内容
#!/bin/bash
game_home=/home/tom/dst-server/dontstarve
game_config_dir=/home/tom/dst-server/dontstarve-config
game_log_path=/home/tom/dst-server/log
shard=$1
if [[ "$shard" == "Master" ]]; then
echo "启动地面服务器"
elif [[ "$shard" == "Caves" ]]; then
echo "启动洞穴服务器"
else
echo "输入只能是Master或者Caves"
exit -1
fi
cd "$game_home"/bin
run_command=(./dontstarve_dedicated_server_nullrenderer)
run_command+=(-console)
run_command+=(-persistent_storage_root "$game_config_dir")
run_command+=(-conf_dir clusters)
run_command+=(-cluster MyDediServer)
run_command+=(-shard "$shard")
mkdir -p "$game_log_path"
"${run_command[@]}" >"$game_log_path"/log_$shard.log 2>&1 &
chmod +x run_server.sh 启动Master服务器
./run_server.sh Master 运行日志会存储在`log_Master.log`文件,可以查看日志内容

启动Caves服务器
./run_server.sh Caves 运行日志会存储在`log_Caves.log`文件,可以查看日志内容
启动成功之后,就可以在饥荒【浏览游戏】里面看到启动的服务器
ps -ef| grep dontstarve 结果如下图所示,其中`1162530`就是对应的进程ID

kill 1162530
报错信息如下:
./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory 建立软连接即可解决
ln -s /usr/lib/libcurl.so /usr/lib/libcurl-gnutls.so.4 报错信息如下:
./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory 复制steamcmd的linux32文件夹下的包即可
cp ./linux32/libstdc++.so.6 /usr/lib

更多教程参见:饥荒联机版专用服务器系列教程网页链接