云计算百科
云计算领域专业知识百科平台

从零搭建《饥荒联机版》本地专用服务器:硬件配置、网络部署与模组管理全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

1. 项目概述:为什么需要一个本地饥荒服务器?

如果你和朋友们是《饥荒联机版》(Don‘t Starve Together, 简称DST)的忠实玩家,一定经历过这样的场景:房主一掉线,所有人的游戏进度瞬间归零;或者想开个长期档慢慢玩,但每次都得等房主上线才能继续。公共服务器虽然方便,但延迟、规则限制和潜在的陌生人干扰,总让体验打折扣。这时候,搭建一个属于自己的本地专用服务器,就成了最理想的解决方案。

简单来说,一个本地专用服务器就是一台7×24小时不间断运行的“主机”。它独立于任何玩家的游戏客户端,将游戏世界和所有数据都托管在一台专门的电脑上。这意味着,只要服务器开着,你和你的朋友们随时可以加入这个世界,房主下线也不会影响其他人,存档进度完全由服务器掌控,自由度极高。对于想体验纯净生存、或是想安装大量模组(Mod)打造专属玩法的硬核小团体而言,这是提升游戏体验质的飞跃。

听起来很复杂?别担心,整个过程其实就像搭积木,步骤清晰,工具现成。核心就是利用Steam官方提供的

Don‘t Starve Together Dedicated Server

工具,配合

SteamCMD

这个命令行工具来部署。你不需要是网络专家,甚至不需要有公网IP(通过内网穿透或第三方平台也能实现远程联机),只需要有一台性能尚可、能稳定开机的电脑(甚至是一台闲置的旧笔记本或小型主机),再跟着下面的步骤一步步操作,就能拥有一个完全受自己控制的饥荒世界。

2. 核心思路与准备工作

搭建DST专用服务器的核心逻辑,可以理解为在目标机器上安装并运行一个“无头”版本的饥荒游戏。这个版本没有图形界面,只负责模拟游戏世界、处理逻辑和与客户端通信。我们的工作就是准备好环境,获取服务器文件,进行配置,然后启动它。

2.1 硬件与网络环境评估

在开始之前,先评估一下你的“服务器”是否够格。

硬件要求:

  • CPU:

    对于一个小型私人服务器(2-8人),近十年的英特尔i5或AMD同级别处理器完全足够。DST服务器更吃单核性能,所以主频比核心数更重要。

  • 内存:

    这是最关键的部分。

    官方推荐至少4GB,但那是非常基础的配置。我的经验是,

    预留6-8GB给服务器进程是更稳妥的选择

    。尤其是当你计划添加大量模组、开启更多世界选项(如大量资源)时,内存消耗会急剧上升。一个满载模组的8人服务器,吃到10GB以上内存并不稀奇。

  • 存储:

    需要至少5GB的可用空间用于安装服务器文件和存储存档。强烈建议使用固态硬盘(SSD),能显著减少世界加载和存档读取的时间。

  • 系统:

    Windows 10/11 64位,或主流的Linux发行版(如Ubuntu Server)。本文将以Windows环境为例进行讲解,因为对大多数个人用户而言图形界面操作更直观。

网络环境:

  • 带宽:

    上行带宽是关键。每个玩家连接大约需要50-100Kbps的稳定上行速度。对于4-6人的小团队,家庭宽带的上行带宽(通常为20-50Mbps)完全足够。你可以用

    speedtest.net

    测试你的实际上行速度。

  • 网络类型:

    大多数家庭网络处于运营商的大内网(NAT)后,没有独立的公网IPv4地址。这意味着从外部互联网直接访问你家里的服务器会非常困难。

  • 解决方案选择:

  • 纯局域网联机:

    最简单,所有玩家和服务器在同一路由器下。无需任何额外配置,延迟极低。

  • 拥有公网IP:

    向你的网络运营商(电信、联通等)申请,通常可以获取动态公网IP。然后需要在路由器上设置

    端口转发

    ,将外部请求转发到你的服务器内网IP上。这是最稳定、延迟最低的远程联机方式。

  • 无公网IP(主流情况):

    使用

    内网穿透工具

    。例如

    SakuraFrp

    、

    NATAPP

    等免费/付费服务,它们会提供一个公网域名和端口,将流量中转至你的本地服务器。这是目前最通用的解决方案,配置稍复杂但一劳永逸。

  • 第三方服务器托管平台:

    如

    Railway

    、

    腾讯云/阿里云轻量应用服务器

    。这相当于在云端租用了一台虚拟电脑来运行服务器,完全省去了本地硬件的维护和网络配置,但需要付费,且对模组管理和文件操作不如本地灵活。

注意:

无论选择哪种远程联机方式,服务器端都需要在防火墙中放行指定的端口(默认是

10999

和

27018

),否则外部连接会被阻断。

2.2 核心工具与文件准备

我们需要两个核心工具:

  • SteamCMD:

    Valve官方的Steam命令行客户端。用于以非图形化的方式登录Steam账户、下载和更新游戏(服务器)文件。它体积小,适合自动化脚本调用。

  • Don‘t Starve Together Dedicated Server:

    这是一个在Steam上

    免费

    的“游戏”。它包含了运行DST服务器所需的所有核心文件。你需要用一个Steam账号(无需拥有DST游戏本体)将其添加到库中。

  • 准备工作步骤:

  • 准备一个Steam账号:

    建议专门注册一个

    新的、纯净的Steam小号

    用于服务器管理。避免使用大号,因为频繁的登录、下载可能触发Steam的安全机制。

  • 在Steam客户端获取服务器工具:

    • 用你的小号登录Steam客户端。
    • 在商店搜索 “Don‘t Starve Together Dedicated Server”。
    • 点击“安装”。它会出现在你的游戏库中。

      这一步非常重要

      ,它建立了账号与该工具的许可关联,后续SteamCMD才能以此账号身份下载文件。

    • (可选)在库中找到它,右键“属性”->“本地文件”->“浏览”,可以看看它的安装位置,但通常我们不用从这里直接操作。
  • 下载并配置SteamCMD:

    • 访问 Valve 的官方开发者页面(搜索 “SteamCMD” 即可找到),下载适用于Windows的压缩包。
    • 在你想放置服务器的磁盘(如

      D:\\

      )下,新建一个文件夹,例如

      D:\\SteamCMD

      ,将下载的

      steamcmd.zip

      解压到此文件夹。

    • 你会得到一个

      steamcmd.exe

      文件。双击运行它,它会自动更新自身并打开一个命令行窗口。首次运行会下载一些必要组件,完成后窗口会显示

      Steam>

      提示符。

    • 输入

      quit

      回车退出。至此,SteamCMD就准备好了。

  • 3. 服务器部署与核心配置详解

    现在进入核心环节:部署服务器文件并进行详细配置。

    3.1 使用SteamCMD部署服务器文件

    我们不通过Steam客户端直接复制文件,而是用SteamCMD下载,这样更干净,也便于未来编写脚本自动更新。

  • 在

    D:\\SteamCMD

    文件夹中,新建一个文本文档,命名为

    update_dst_server.bat

    (批处理文件)。右键编辑,输入以下内容:

  • @echo off
    D:\\SteamCMD\\steamcmd.exe +login anonymous +force_install_dir "D:\\DST_Dedicated_Server" +app_update 343050 validate +quit
    pause

    • +login anonymous

      : 以匿名方式登录。对于免费工具,这通常可行。但如果下载失败,请替换为

      +login your_steam_account your_password

      (你的专用小号账号密码),不过这样密码会明文保存,安全性差。更推荐先匿名尝试。

    • +force_install_dir “D:\\DST_Dedicated_Server”

      : 指定服务器文件的安装目录。你可以修改

      D:\\DST_Dedicated_Server

      为你想要的任何路径。

    • +app_update 343050

      :

      343050

      正是 “Don‘t Starve Together Dedicated Server” 的App ID。这条命令是下载核心。

    • validate

      : 验证文件完整性,确保下载完整。

    • +quit

      : 下载完成后退出SteamCMD。

    • pause

      : 执行完后暂停,方便你看是否有错误信息。

  • 保存并双击运行这个

    .bat

    文件。命令行窗口会开始工作,从Steam服务器拉取文件。首次下载可能需要几分钟到十几分钟,取决于你的网速。看到 “Success! App ‘343050’ fully installed.” 之类的提示,即表示成功。

  • 完成后,进入你指定的目录(如

    D:\\DST_Dedicated_Server

    ),你会看到

    bin

    ,

    mods

    等文件夹,这就是我们的服务器根目录了。

  • 3.2 生成服务器配置文件与令牌

    DST服务器的行为几乎完全由配置文件控制。我们需要生成两个核心文件:

    cluster.ini

    (集群配置)和

    server.ini

    (单个世界配置),以及一个安全令牌。

    第一步:生成服务器令牌(Cluster Token)

    这是服务器在Klei官方服务器列表中进行“身份认证”的钥匙,没有它,服务器可能无法正常启动或无法使用某些在线功能(如游戏内服务器列表)。

  • 用你的

    主Steam账号

    (拥有DST游戏的账号)登录游戏。

  • 点击“账户”按钮。
  • 在“游戏”选项卡下,找到“Don‘t Starve Together”,点击“游戏服务器”。
  • 点击“添加新服务器”,给你的服务器随便起个名,然后点击“创建”。
  • 页面会生成一长串由字母数字组成的

    令牌

    ,复制它。

  • 在你的服务器根目录下,新建一个文件夹

    D:\\DST_Dedicated_Server\\cluster

    。在

    cluster

    文件夹内,新建一个文本文档,命名为

    cluster_token.txt

    ,将刚才复制的令牌粘贴进去,保存。

  • 第二步:创建集群与服务器配置文件

  • 在

    cluster

    文件夹内,新建文本文档,命名为

    cluster.ini

    。这是整个服务器集群(可以包含多个世界,如地面世界和洞穴)的总配置。

  • 用记事本编辑

    cluster.ini

    ,填入基础配置:

  • [GAMEPLAY]
    game_mode = survival
    max_players = 6
    pvp = false
    pause_when_empty = true

    [NETWORK]
    cluster_description = 我们的小窝
    cluster_name = My DST Server
    cluster_password = 123456
    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 = 10889
    cluster_key = supersecretkey

    • game_mode

      : 游戏模式,

      survival

      (生存),

      endless

      (无尽),

      wilderness

      (荒野)。

    • max_players

      : 最大玩家数。

    • cluster_password

      : 服务器密码,不设密码则删掉此行。

    • cluster_intention

      : 意图,

      cooperative

      (合作),

      competitive

      (竞争),

      social

      (社交),

      madness

      (疯狂)。影响游戏内匹配推荐。

    • console_enabled

      : 启用控制台,方便管理员操作。

    • shard_enabled

      : 是否启用分片(多世界)。

      true

      为启用。

    • master_port

      : 主世界(地面)的通信端口。

    • cluster_key

      : 集群内部通信密钥,任意设置一个复杂的字符串即可,确保地面和洞穴配置一致。

  • 在

    cluster

    文件夹内,新建一个文件夹

    Master

    (代表地面世界)。再新建一个文件夹

    Caves

    (代表洞穴世界,如果不需要洞穴可以跳过)。

  • 在

    Master

    文件夹内,新建文本文档

    server.ini

    :

  • [NETWORK]
    server_port = 10999

    [SHARD]
    is_master = true
    name = Master

    [STEAM]
    master_server_port = 27018
    authentication_port = 8768

    • server_port

      : 该世界对客户端开放的UDP端口。

      这是需要在路由器或防火墙中放行的主要端口之一。

    • is_master

      :

      true

      表示这是主世界。

    • master_server_port

      : Steam通信端口,

      也需要放行

      。

  • (可选)在

    Caves

    文件夹内,创建

    server.ini

    :

  • [NETWORK]
    server_port = 10998

    [SHARD]
    is_master = false
    name = Caves
    id = 1000

    [STEAM]
    master_server_port = 27019
    authentication_port = 8769

    • 注意端口号要与

      Master

      错开,

      id

      可以设置为任意数字。

    3.3 世界生成配置与模组管理

    世界生成配置:

    每个世界的具体地貌、资源分布等,由

    worldgenoverride.lua

    文件控制。最简单的方法是:

  • 用你的主账号在本地游戏客户端中,创建一个新世界,精心调整所有你想要的设置:季节长短、资源多少、BOSS频率、地形布局等等。
  • 创建并进入世界后,退出。
  • 在本地客户端存档位置(通常为

    C:\\Users\\[你的用户名]\\Documents\\Klei\\DoNotStarveTogether\\[一串数字]\\Cluster_[数字]

    )找到对应的

    Master

    或

    Caves

    文件夹,复制里面的

    leveldataoverride.lua

    文件。

  • 将这个文件重命名为

    worldgenoverride.lua

    ,然后放置到服务器目录的对应位置(

    D:\\DST_Dedicated_Server\\cluster\\Master\\

    )。

  • 模组管理:

    服务器模组配置在

    cluster

    文件夹下的

    modoverrides.lua

    文件中。同样,最方便的方法是在本地客户端配置好模组并生成此文件。

  • 在游戏客户端中,创建服务器时,在“模组”页面精心挑选并配置好所有模组(启用、设置参数)。
  • 创建世界并进入后退出。
  • 从上述本地客户端存档的

    Master

    文件夹中,找到

    modoverrides.lua

    文件,复制到服务器目录的

    D:\\DST_Dedicated_Server\\cluster\\

    下。

  • 关键一步:

    你需要将客户端订阅的模组,也在服务器端“订阅”。打开服务器根目录的

    mods

    文件夹,编辑

    dedicated_server_mods_setup.lua

    文件。按照里面的示例格式,为每个模组添加一行:

    ServerModSetup(“模组ID”)

    。模组ID可以在创意工坊该模组的页面地址中找到(一串数字)。例如:

    ServerModSetup(“378160973”)

    。

  • 服务器首次启动时,会根据这个列表自动下载并安装模组。
  • 4. 启动脚本编写与服务器运行

    一切配置就绪,我们需要一个脚本来启动服务器。由于可能包含主世界和洞穴两个进程,手动启动很麻烦。

    在服务器根目录

    D:\\DST_Dedicated_Server\\bin

    下,创建

    start_server.bat

    文件,编辑内容:

    @echo off
    cd /d “D:\\DST_Dedicated_Server\\bin”

    echo Starting Master Shard…
    start “DST Master” dontstarve_dedicated_server_nullrenderer.exe -console -cluster MyDstCluster -shard Master

    timeout /t 5 /nobreak >nul

    echo Starting Caves Shard…
    start “DST Caves” dontstarve_dedicated_server_nullrenderer.exe -console -cluster MyDstCluster -shard Caves

    echo Servers are starting…
    pause

    • -cluster MyDstCluster

      : 指定集群存档文件夹的名字,对应

      cluster

      目录下的

      MyDstCluster

      文件夹。你需要根据自己

      cluster

      文件夹的实际名称修改。

    • -shard Master/Caves

      : 指定启动的是哪个世界。

    • timeout

      : 等待5秒,让主世界先启动完毕再启动洞穴,避免启动顺序问题。

    双击运行这个批处理文件,会弹出两个命令行窗口,分别显示地面和洞穴服务器的日志。当看到

    [Shard] Shard server started on port: 10999

    和

    Sim paused

    之类的信息,并且没有红色错误提示时,说明服务器启动成功。

    如何连接?

    • 局域网内:

      其他玩家在游戏内点击“浏览游戏”,在“局域网”标签页下应该就能看到你的服务器。

    • 远程连接(无公网IP,使用内网穿透):

      以内网穿透工具

      SakuraFrp

      为例,你需要创建一个隧道,将本地IP(如

      192.168.1.100

      )的

      10999

      端口映射到

      SakuraFrp

      提供的一个公网地址和端口上。你的朋友在游戏内通过“连接”标签,输入

      公网地址:端口

      即可连接。

      注意:

      如果开了洞穴,洞穴端口(如10998)也需要映射。

    5. 高级管理、维护与故障排查

    服务器跑起来只是开始,日常管理和问题排查才是持久运营的关键。

    5.1 服务器控制台与管理员命令

    服务器运行时的命令行窗口就是控制台。你可以直接在里面输入指令(需在

    cluster.ini

    中启用

    console_enabled

    )。

    • 常用管理命令:

      • c_regenerateworld()

        : 重置当前世界(慎用!)。

      • c_save()

        : 手动立即保存。

      • c_shutdown()

        : 安全关闭服务器。

      • c_announce(“消息”)

        : 向所有在线玩家广播消息。

      • TheNet:SetAllowIncomingConnections(true/false)

        : 允许/禁止新玩家加入。

    • 授予管理员权限:

      • 在服务器

        cluster

        文件夹下,创建

        adminlist.txt

        文件。

      • 每行放入一个玩家的

        Klei User ID

        (KU_ID)。玩家在游戏主菜单点击“账户”,就能看到自己的KU_ID。

      • 管理员玩家在游戏内按

        ~

        键可以打开本地控制台,输入远程管理命令。

    5.2 自动化与更新维护

  • 自动更新脚本:

    可以将之前的

    update_dst_server.bat

    脚本改进,并加入到启动脚本之前执行,实现启动前自动检查更新。

  • 计划任务重启:

    服务器长期运行可能会内存泄漏。可以通过Windows的“任务计划程序”,设置每天在凌晨玩家少的时候,自动执行一个“关闭-更新-启动”的脚本,实现定时重启更新。

  • 日志监控:

    服务器日志保存在

    cluster\\Master\\server_log.txt

    和

    Caves

    对应位置。遇到玩家无法连接、服务器崩溃等问题,首先查看这里的错误信息。

  • 5.3 常见问题与排查实录

    问题1:服务器启动失败,提示 “Failed to start the server” 或 “Could not bind to port…”

    • 排查:

      端口被占用。检查是否有其他程序(如另一个DST服务器、其他游戏)占用了

      10999

      ,

      27018

      等端口。可以用

      netstat -ano | findstr :10999

      命令查看。修改

      server.ini

      中的端口号,并确保防火墙和路由器(如果需要)也放行了新端口。

    问题2:朋友在游戏列表里看不到服务器,或者连接超时。

    • 排查:

      • 局域网:

        确认所有电脑在同一网络下;关闭服务器和客户端的防火墙试一下。

      • 远程(端口转发):

        检查路由器端口转发规则是否设置正确(协议选UDP或Both,IP地址填服务器的内网IP);确认服务器本机防火墙已放行端口。

      • 远程(内网穿透):

        检查内网穿透客户端是否正常运行,隧道状态是否在线;确认连接地址和端口是穿透工具提供的公网地址和

        远程端口

        ,而不是本地端口。

    问题3:玩家能连接但卡在“正在加入服务器”或频繁断开。

    • 排查:

      • 服务器性能不足,尤其是内存。观察服务器进程的内存占用,如果接近或超过物理内存,会导致频繁使用虚拟内存而卡顿。增加物理内存或减少模组、降低世界资源规模。
      • 网络延迟或丢包。让玩家使用网络加速器试试。
      • 模组冲突。尝试禁用所有模组,看是否能正常连接,然后分批启用模组排查。

    问题4:模组不生效或报错。

    • 排查:

      • 确认

        dedicated_server_mods_setup.lua

        中已添加模组ID。

      • 确认

        modoverrides.lua

        文件已正确放置,并且格式正确(可以从客户端生成)。

      • 查看服务器日志,模组加载错误通常会有明确提示,例如缺少依赖模组。按照提示订阅并启用所有依赖模组。

    问题5:服务器运行一段时间后突然崩溃。

    • 排查:

      • 首要查看日志:

        server_log.txt

        末尾的崩溃信息是最直接的线索。

      • 内存溢出:

        这是最常见原因。DST服务器(尤其是带洞穴和模组)是32位进程,有内存使用上限(约2-3GB)。使用大量模组或长期运行后容易崩溃。解决方案是定期重启服务器,或使用第三方工具监控并自动重启。

      • 特定模组Bug:

        某个模组在特定情况下引发崩溃。通过二分法(禁用一半模组测试)来定位问题模组,并检查其创意工坊页面是否有已知问题或更新。

    搭建和维护一个DST专用服务器,就像经营一个小型线上社区。初期配置会有些繁琐,但一旦稳定运行,它所提供的稳定、私密、高度自定义的游戏体验,是官方服务器或临时主机无法比拟的。从硬件选择、网络配置,到脚本编写、故障排查,整个过程本身就是一次极佳的技术实践。当看到朋友们顺利进入你搭建的世界,并享受其中时,所有的折腾都变得值得了。最后一个小建议:做好存档的定期备份(整个

    cluster

    文件夹),这是对你和朋友们游戏成果最基础的保障。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 从零搭建《饥荒联机版》本地专用服务器:硬件配置、网络部署与模组管理全攻略
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!