在 Debian 上使用 LinuxGSM 运行饥荒联机版服务器

2026-08-13

系统环境

一个全新的 Debian 13 服务器

1
2
3
4
5
6
root@DST:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 13 (trixie)
Release: 13
Codename: trixie

1. 创建专用用户

不要直接用 root 跑 LinuxGSM。官方也明确指出,用 root 运行游戏服本身容易遇到权限问题。

使用 root 用户执行下面的命令:

1
2
adduser dstserver
su - dstserver
sudo相关

普通用户可以使用 sudo 命令执行,如果提示 -bash: sudo: command not found 可以使用下面的命令解决

1
2
3
4
5
6
7
# 切换到 root 用户
su -

apt update
apt install sudo

usermod -aG sudo YOUR_USERNAME

然后退出终端重新登录确认是否生效

1
2
3
dstserver@DST:~$ sudo whoami
[sudo] password for dstserver:
root

然后更新环境,安装几个基础工具:

1
2
sudo apt update
sudo apt install -y curl wget tar bzip2 gzip unzip tmux jq vim

2. 下载 LinuxGSM

1
2
3
4
5
cd /home/dstserver

curl -Lo linuxgsm.sh https://linuxgsm.sh
chmod +x linuxgsm.sh
bash linuxgsm.sh dstserver

这是 LinuxGSM 官方给 DST 的当前安装方式。

现在目录里应该出现:

1
2
dstserver@DST:~$ ls
dstserver lgsm linuxgsm.sh

3. 建立地面和洞穴两个实例

1
2
cp dstserver dstserver-1
cp dstserver dstserver-2

后面我们使用:

1
2
dstserver-1 = 地面 Master
dstserver-2 = 洞穴 Caves

首次运行后,LinuxGSM 会为不同实例生成各自配置;LinuxGSM 官方的多实例机制本身就是 “每个实例对应自己的脚本和 instance config” 。

4. 配置地面 Master

先执行一次:

1
./dstserver-1

LinuxGSM 会初始化相关文件。

配置一般位于:

1
~/lgsm/config-lgsm/dstserver/

先看看:

1
ls ~/lgsm/config-lgsm/dstserver/

你应该能看到类似:

1
2
3
_default.cfg
common.cfg
dstserver-1.cfg

不要修改 _default.cfg,因为 LinuxGSM 更新时可能覆盖它。官方推荐把自定义值放进实例自己的 .cfg

编辑:

1
vim ~/lgsm/config-lgsm/dstserver/dstserver-1.cfg

加入:

1
2
3
4
5
sharding="true"
master="true"
shard="Master"
cluster="Cluster_1"
cave="false"

这几个参数就是 LinuxGSM 官方 DST 双分片示例给出的 Master 配置。

5. 配置洞穴

执行一次:

1
./dstserver-2

然后:

1
vim ~/lgsm/config-lgsm/dstserver/dstserver-2.cfg

加入:

1
2
3
4
5
sharding="true"
master="false"
shard="Caves"
cluster="Cluster_1"
cave="true"

官方说明 cave=”true” 会让 LinuxGSM 在安装时自动给该 shard 生成洞穴世界配置。

这一步最好在执行 install 之前配置好。

因为 LinuxGSM 官方特别提醒:这些安装变量应该在 dstserver-1 / dstserver-2 install 前设置,尤其 cave 会影响世界生成文件。

6. 获取 Klei Token

DST 专服必须有 Klei Authentication Token

可以查看: LinuxGSM - DST Authentication Token

去 Klei Account 登录:

1
accounts.klei.com

访问 服务器 - DontStarveTogether

创建一个 Dedicated Server Token

在下一步安装时需要填入使用。

7. 安装两个实例

先安装地面:

1
./dstserver-1 install

按照提示操作。

在 Cluster Token 的部分输入第六步获取的 Token

再安装洞穴:

1
./dstserver-2 install

服务器文件实际上可以共享,因此不会简单复制两份完整 DST。

LinuxGSM 会通过 SteamCMD 自动下载安装。

8. 编辑 cluster.ini

编辑文件

1
vim ~/.klei/DoNotStarveTogether/Cluster_1/cluster.ini

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[GAMEPLAY]
game_mode = survival
max_players = 6
pvp = false
pause_when_empty = true
vote_enable = true

[NETWORK]
cluster_name = 我的DST服务器
cluster_description = Debian LinuxGSM Server
cluster_password = 123456
cluster_intention = cooperative
tick_rate = 15

[MISC]
console_enabled = true
max_snapshots = 6

[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10888
cluster_key = dstcluster

这里非常重要的是:

1
2
[SHARD]
shard_enabled = true

否则 Master 和 Caves 会变成两个独立服务器,而不是同一个世界里的地面和洞穴。LinuxGSM 官方 DST 文档也特别指出这一点。

  1. 配置两个 shard 的端口

Master:

mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1/Master
nano ~/.klei/DoNotStarveTogether/Cluster_1/Master/server.ini

填:

[NETWORK]
server_port = 11000

[SHARD]
is_master = true

[STEAM]
authentication_port = 8768
master_server_port = 27018

LinuxGSM 官方示例也是 Master 使用:

server_port = 11000
authentication = 8768
master_server = 27018

洞穴:

mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1/Caves
nano ~/.klei/DoNotStarveTogether/Cluster_1/Caves/server.ini

填:

[NETWORK]
server_port = 11001

[SHARD]
is_master = false
name = Caves

[STEAM]
authentication_port = 8769
master_server_port = 27019

LinuxGSM 官方示例给 Caves 使用不同的 11001 / 8769 / 27019,避免两个实例端口冲突。

  1. 检查洞穴世界配置

如果前面在安装前正确设置:

cave=”true”

LinuxGSM 应该已经自动生成:

~/.klei/DoNotStarveTogether/Cluster_1/Caves/worldgenoverride.lua

可以检查:

cat ~/.klei/DoNotStarveTogether/Cluster_1/Caves/worldgenoverride.lua

官方当前生成的配置类似:

return {
override_enabled = true,
preset = “DST_CAVE”,
}

LinuxGSM 文档明确说明,这个文件就是让 Caves 实例生成真正洞穴而非第二张地表地图的关键。

  1. 启动服务器

启动地面:

./dstserver-1 start

启动洞穴:

./dstserver-2 start

启动顺序其实无所谓,因为洞穴 shard 连不到 Master 时会自动重试。

查看状态:

./dstserver-1 details
./dstserver-2 details

LinuxGSM 的 details 会显示端口、配置路径、运行状态等信息。

  1. 看实时控制台

地面:

./dstserver-1 console

洞穴:

./dstserver-2 console

退出控制台:

Ctrl+B
然后按 D

不要按 Ctrl+C,因为可能直接终止服务器进程。LinuxGSM 官方文档也特别提醒了这一点。

  1. 常用管理命令

以后基本就是这些:

./dstserver-1 start
./dstserver-1 stop
./dstserver-1 restart
./dstserver-1 console
./dstserver-1 details

洞穴同理:

./dstserver-2 start
./dstserver-2 stop
./dstserver-2 restart
./dstserver-2 console
./dstserver-2 details

升级 DST:

./dstserver-1 update

强制 SteamCMD 更新:

./dstserver-1 force-update

验证服务器文件:

./dstserver-1 validate

备份:

./dstserver-1 backup

这些都是 LinuxGSM 自带的标准管理功能。

  1. 开放防火墙

如果启用了 UFW:

sudo ufw allow 11000/udp
sudo ufw allow 11001/udp

如果是阿里云、腾讯云、AWS、Oracle 等 VPS,还要在云服务器安全组里开放 UDP:

11000
11001

一般:

11000 → Master
11001 → Caves
15. 自动监控崩服

LinuxGSM 有 monitor 功能,可以检测服务器挂掉并重启。官方建议通过 cron 周期执行。

编辑:

crontab -e

例如:

*/5 * * * * /home/dstserver/dstserver-1 monitor > /dev/null 2>&1
*/5 * * * * /home/dstserver/dstserver-2 monitor > /dev/null 2>&1

这样每 5 分钟检查一次。

还可以自动检查更新:

*/30 * * * * /home/dstserver/dstserver-1 update > /dev/null 2>&1

LinuxGSM 官方 DST 页面本身也推荐使用 cron 执行 monitor 和 update。

评论
分享

评论