返回 开服教程
饥荒开服14 min

《饥荒联机版》专用服务器搭建与地面洞穴双分片配置指南

介绍饥荒联机版地面与洞穴双分片、Klei Token、端口和模组配置,帮助小队检查跨分片连接并保留完整世界。

《饥荒联机版》(Don't Starve Together)的专用服务器(Dedicated Server)支持将地面世界(Master)与地下洞穴(Caves)拆分为两个独立的进程运行,可分别管理两个世界;只要服务端继续运行,房主退出客户端不会结束小队会话。本文介绍集群配置、分片通信、Token 校验与模组加载的标准规范。


一、双分片架构与端口原理

DST 专用服务器由**一个集群(Cluster)和多个分片实例(Shards)**构成。每个分片是独立进程,监听各自的通信端口;CPU 调度由操作系统负责:

架构层级 默认端口 协议 作用说明
集群内部通信 (Master) 10888 UDP 地上进程监听的集群内部通信端口(Caves 通过此端口同步状态)
地上玩家连接端口 (Master) 10999 UDP 客户端玩家连接地面世界的直接游戏端口
洞穴玩家连接端口 (Caves) 10998 UDP 客户端玩家通过虫洞/落水洞切换到洞穴时的通信端口
Steam 列表端口 27018 ~ 27019 UDP 与 Steam 后端同步服务器列表与心跳

二、SteamCMD 安装与 Klei 认证准备

1. 服务端拉取

专用服务端 AppID 为 343050:

Shell
steamcmd +login anonymous +app_update 343050 validate +quit

2. 获取 Klei 服务器令牌(Cluster Token)

面向在线服务的专服需要与 Klei 账户绑定的 Token;不要把令牌贴进公开日志或仓库:

  1. 访问 Klei 账户中心并使用 Steam 登录:https://accounts.klei.com/account/game/servers?game=DontStarveTogether
  2. 在页面底部点击“添加新服务器”,输入显示名称;
  3. 复制生成的长字符串令牌,将其存为 cluster_token.txt。

三、配置文件与分片目录结构

服务端集群数据默认保存于:

  • Windows: C:\Users\<用户名>\Documents\Klei\DoNotStarveTogether\MyDediServer\
  • Linux: ~/.klei/DoNotStarveTogether/MyDediServer/

1. 根目录 cluster.ini(集群全局参数)

INI
[GAMEPLAY]
game_mode = survival
max_players = 8
pvp = false
pause_when_empty = true

[NETWORK]
cluster_name = LanGame DST Private Server
cluster_description = Welcome to Don't Starve Together!
cluster_password = your_password
cluster_intention = cooperative

[MISC]
console_enabled = true

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

2. 地上分片 Master/server.ini

INI
[NETWORK]
server_port = 10999

[SHARD]
is_master = true
name = Master

[STEAM]
master_server_port = 27018
authentication_port = 8768

3. 洞穴分片 Caves/server.ini

INI
[NETWORK]
server_port = 10998

[SHARD]
is_master = false
name = Caves

[STEAM]
master_server_port = 27019
authentication_port = 8769

同时在 Caves/worldgenoverride.lua 中声明洞穴世界属性:

LUA
return {
    override_enabled = true,
    preset = "DST_CAVE",
}

四、创意工坊模组(MOD)配置规范

模组的自动化挂载分为两步:

1. 服务端下载注册:dedicated_server_mods_setup.lua

位于服务端安装目录的 mods/ 文件夹下,添加需要下载的创意工坊 ID:

LUA
ServerModSetup("378160970") -- 例如:显示食物属性的经典模组
ServerModSetup("375859599") -- 例如:几何种植

2. 分片激活与参数配置:modoverrides.lua

分别放入 Master/ 和 Caves/ 文件夹下:

LUA
return {
  ["workshop-378160970"] = { enabled = true },
  ["workshop-375859599"] = { enabled = true }
}

五、用 LGSM 管理日常维护

地面能进、洞穴却连不上,通常需要一起检查两套分片配置。LGSM 支持地表与洞穴的协同启停,把集群、Token 和分片设置放到同一实例下维护。

  • 设置集群令牌与密码,分别检查 Master、Caves 的端口和日志。
  • 配置服务端模组下载与各分片启用项,确保两边规则一致。
  • 按需启用游戏的空服暂停,并安排集群备份;恢复时核对地面与洞穴来自同一次备份。

工具与文档:LGSM 产品页 · 项目仓库


六、长期运维高频故障处置

1. 洞穴加载无限卡死或无法跳转

  • 原因:Caves 无法连接 Master 的集群内部端口(10888),或 cluster_key 不一致。
  • 解决:检查 cluster.ini 中的 cluster_key 是否一致,同机运行时使用回环地址;跨主机部署时将 master_ip 改为可达的 Master 地址,并限制内部端口的访问来源。

2. 提示“Token 无效 / Invalid Server Token”

  • 原因:cluster_token.txt 文件内包含多余回车、空格,或 Klei 页面上该 Token 已被删除吊销。
  • 解决:在 Klei 账户管理页重新生成,确保文本文件仅有一行纯字符内容。