《饥荒联机版》(Don’t Starve Together, DST)以其独特的生存挑战和丰富的可玩性吸引了无数玩家。对于许多想要与朋友共同探索无尽荒野的玩家来说,一个稳定、可控且持久的服务器是至关重要的。本文将深入探讨饥荒联机版服务器的方方面面,包括它是“什么”、为何“需要”、如何“搭建”、“配置”与“管理”、以及“租用”方案等,助您打造完美的生存乐园。
饥荒联机版服务器是什么?
简单来说,饥荒联机版服务器是一个独立运行的程序实例,它托管着一个或多个游戏世界(例如,地面世界和洞穴世界),允许玩家连接并进行游戏。与在玩家本机上直接通过游戏客户端启动的“主机游戏”模式不同,服务器的运行不依赖于任何一个玩家的客户端在线状态。
服务器的几种类型
-
个人电脑主机模式 (Host on Personal PC):
这是最常见也最简便的方式,直接在游戏客户端内点击“开始游戏”并选择“创建世界”。您的电脑将作为主机,朋友可以通过 Steam 或房间代码加入。这种模式的优点是设置简单,无需额外费用。然而,它的缺点也显而易见:
- 世界进度依赖于主机玩家在线,一旦主机退出游戏,世界便会关闭。
- 主机玩家的网络状况和电脑性能会直接影响所有玩家的游戏体验。
- 可能存在卡顿、延迟或掉线等问题。
-
专用独立服务器 (Dedicated Server):
独立服务器是一个在后台独立运行的程序,它不占用屏幕,也不需要任何玩家客户端启动。它可以运行在您的个人电脑上(作为一台独立的服务器),也可以运行在专门的服务器硬件或云端虚拟机上。
-
本地独立服务器:
在自己的电脑上额外安装并运行饥荒联机版的服务器程序。它与您的游戏客户端是独立的,可以实现24/7运行,但仍会占用您电脑的资源,并受限于您家庭网络的带宽。
-
远程独立服务器(租用或自建在云端):
将饥荒联机版服务器程序部署在专门的服务器提供商那里,或者在云服务商(如阿里云、腾讯云、AWS等)的虚拟机上。这是最推荐的方式,因为它提供了最高的稳定性、性能和可控性。
-
本地独立服务器:
为什么需要搭建或租用独立服务器?
对于那些希望拥有最佳饥荒联机体验的玩家群体来说,独立服务器是最佳选择。以下是其主要优势:
-
24/7全天候运行:
服务器可以持续运行,不依赖于任何特定玩家的在线状态。这意味着玩家可以随时上线游戏,世界进度始终保存,不需要等待主机上线。
-
更优的性能与稳定性:
独立服务器通常拥有更强大的硬件资源和更稳定的网络连接,能够更好地处理游戏逻辑和大量玩家数据,有效减少卡顿和延迟。即使面对大量模组或复杂世界,也能提供流畅体验。
-
高度定制化与控制:
作为服务器的拥有者或管理者,您拥有对世界设定、游戏规则、模组选择以及玩家权限的完全控制。您可以自由修改各种配置文件,打造独一无二的游戏体验。
-
安全与管理:
独立服务器允许您实施更严格的玩家管理,如设置密码、白名单、黑名单、踢出或封禁恶意玩家。您也可以更方便地进行世界存档的备份和恢复。
-
专业的网络环境:
租用的服务器通常部署在数据中心,拥有专业的带宽和DDoS防护,能为玩家提供更可靠、更低延迟的连接。
饥荒联机版服务器在哪里搭建/租用?
搭建或租用独立服务器有多种途径:
-
自己的备用电脑:
如果您家中有一台闲置的电脑(即使配置不高,满足基本需求即可),您可以将其用作本地独立服务器。这种方式的优点是无需额外硬件成本(电费除外),但需要您自行处理网络配置(如端口转发)和操作系统维护。
-
云服务提供商:
这是最主流的选择之一。您可以在各大云服务商(如阿里云、腾讯云、华为云、京东云、Amazon AWS、Google Cloud Platform、Microsoft Azure等)购买一台云服务器(ECS或CVM)。这种方式灵活且性能强大,但可能需要一定的Linux或Windows Server操作知识。
-
专业游戏服务器租赁商:
市面上有许多专门提供游戏服务器租赁服务的平台。这些平台通常提供一键部署饥荒联机版服务器的服务,并附带图形化管理面板,极大简化了配置和管理流程。它们会为您处理底层的操作系统和网络设置,您只需要关注游戏配置即可。
搭建或租用饥荒联机版服务器需要多少钱?
费用因选择的方案而异:
-
自建本地独立服务器:
如果使用现有闲置电脑,主要成本是电费。一台低功耗的电脑,一个月几十到一百多元人民币的电费。如果需要额外购买硬件,则初期投入可能在数百到数千元。
-
租用云服务器:
费用弹性很大,取决于您选择的配置、带宽和区域。一台满足饥荒联机版服务器基本运行需求(例如,2核CPU,2GB RAM,50GB SSD,5M带宽)的云服务器,月租金可能在50元到200元人民币不等。配置越高、带宽越大、区域越优(如香港、新加坡等对联机有优势的区域),费用也越高。
-
专业游戏服务器租赁商:
这些服务商通常会提供针对游戏优化的套餐,费用按月计算,通常会根据玩家数量或资源等级来收费。一个支持4-8名玩家的饥荒联机版服务器,月租金通常在30元到150元人民币之间。这种方案的优势在于服务和技术支持,以及通常易于操作的管理面板。
服务器的最低硬件配置要求
虽然饥荒联机版服务器对硬件要求不高,但考虑到流畅性、多模组以及未来可能的扩展,建议配置如下:
- 处理器 (CPU): 至少双核,主频2.0GHz以上。Intel i3 或 AMD Ryzen 3 同等或更高。
- 内存 (RAM): 最低2GB,推荐4GB或更高。如果加载大量模组或同时运行多个世界(如主世界+洞穴),4GB会更稳定。
- 存储 (Storage): 至少20GB的SSD固态硬盘空间,用于操作系统和游戏文件。SSD能提供更快的读写速度,有助于世界加载和保存。
- 网络带宽 (Network): 上下行对等至少5Mbps。如果玩家数量多,或者对延迟有较高要求,建议10Mbps或更高。
- 操作系统: 推荐Linux发行版(如Ubuntu Server LTS)或Windows Server版本。
当然,这些只是基准,具体需求会根据您计划承载的玩家数量、使用的模组数量和复杂程度而有所调整。模组越多,对内存和CPU的要求也越高。
如何自己搭建饥荒联机版独立服务器?
这里以在Windows或Linux系统上搭建为例,步骤大致相同,只是命令略有差异。
第一步:前置准备与环境配置
-
操作系统选择:
推荐使用Linux(如Ubuntu Server 20.04 LTS或更高版本)或Windows Server 2019/2022。Linux系统通常资源占用更低,运行更稳定。
-
安装SteamCMD:
SteamCMD是Steam的命令行客户端,用于下载和更新饥荒联机版服务器文件。
- Windows: 下载 steamcmd.zip,解压到一个新文件夹(例如 `C:\steamcmd`)。
- Linux:
首先安装必要的依赖:
sudo apt update sudo apt install lib32gcc-s1 curl unzip screen
然后创建目录并下载:
mkdir ~/steamcmd cd ~/steamcmd curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar xzv
-
防火墙与端口转发:
确保您的服务器防火墙允许以下UDP端口的传入连接:
- 10999: 主要游戏端口
- 11000: 洞穴世界端口 (如果启用了洞穴)
- 8766: Steam查询端口 (可选,用于在Steam服务器列表中显示)
如果您在家庭网络中搭建服务器,还需要在路由器上设置端口转发,将外部请求转发到您服务器的内网IP地址和上述端口。
第二步:下载饥荒联机版服务器文件
-
启动SteamCMD并登录:
进入SteamCMD所在目录,运行 `steamcmd`。
- Windows: 双击 `steamcmd.exe` 或在CMD中输入 `steamcmd.exe`。
- Linux: `./steamcmd.sh`
登录匿名用户:
login anonymous
-
下载游戏文件:
使用以下命令下载饥荒联机版服务器(App ID 343050)文件到指定目录。建议下载到非系统盘或单独的目录。
force_install_dir C:\DSTServer\ (Windows示例) app_update 343050 validate (下载并验证文件) quit (退出SteamCMD)
force_install_dir /home/steam/dstserver/ (Linux示例) app_update 343050 validate quit
第三步:生成与配置服务器文件
-
运行一次服务器以生成配置文件夹:
首次运行服务器会在您的用户目录下生成配置文件夹。这步非常关键。
- Windows: 打开CMD,进入 `C:\DSTServer\bin` 目录,运行:
dontstarve_dedicated_server_nullrenderer.exe -console -cluster MyCluster -shard Master
- Linux: 打开终端,进入 `/home/steam/dstserver/bin` 目录,运行:
./dontstarve_dedicated_server_nullrenderer -console -cluster MyCluster -shard Master
让它运行几秒钟后,按 `Ctrl+C` 退出。这将会在以下路径生成配置文件:
- Windows: `%USERPROFILE%\Documents\Klei\DoNotStarveTogether\MyCluster\`
- Linux: `~/.klei/DoNotStarveTogether/MyCluster/`
其中 `MyCluster` 是您自定义的服务器集群名称。这个文件夹就是您服务器的核心配置和存档目录。
- Windows: 打开CMD,进入 `C:\DSTServer\bin` 目录,运行:
-
获取 `cluster_token`:
登录 Klei官方网站,进入“游戏” -> “Don’t Starve Together” -> “Game Servers”,点击“添加新服务器”,获取您的 `cluster_token`。将这个长字符串复制到一个名为 `cluster_token.txt` 的文件里,并保存到您集群文件夹的根目录(即 `MyCluster` 文件夹内)。这是服务器上线并被Klei验证的关键。
-
配置 `cluster.ini` (集群设置):
在 `MyCluster` 文件夹内找到并编辑 `cluster.ini` 文件。这是集群的全局设置。
[GAMEPLAY] game_mode = survival ; 游戏模式:survival (生存), endless (无尽), wilderness (荒野) max_players = 6 ; 最大玩家数量 pvp = false ; 是否开启PVP pause_when_empty = true ; 当没有玩家在线时是否暂停游戏 cluster_description = 欢迎来到我的饥荒世界! ; 服务器描述 cluster_name = 我的专属饥荒服务器 ; 服务器名称 cluster_password = yourpassword ; 服务器密码 (可选) connection_queue_size = 5 ; 连接队列大小 [NETWORK] cluster_lan_only = false ; 是否只允许局域网连接 cluster_intention = cooperative ; 服务器意图:cooperative (合作), social (社交), competitive (竞技), casual (休闲) cluster_autosaver_enabled = true ; 是否开启自动存档 cluster_autosaver_period = 30 ; 自动存档间隔 (分钟) [MISC] max_snapshots = 6 ; 存档快照数量 console_enabled = true ; 是否开启控制台 [SHARD] shard_enabled = true ; 是否启用洞穴/多世界分片 bind_ip = 127.0.0.1 ; 绑定IP,如果只有一个网卡可以不填或留空 master_ip = 127.0.0.1 ; 主服务器IP (用于连接洞穴世界) master_port = 10999 ; 主服务器端口 cluster_key = supersecretkey ; 集群密钥 (用于主世界与洞穴世界通讯,请设置为复杂字符串)
注意: `cluster_key` 非常重要,请务必设置为一个复杂的随机字符串,并确保主世界和洞穴世界的 `cluster_key` 保持一致。
-
配置 `master/server.ini` 和 `caves/server.ini` (世界设置):
在 `MyCluster` 文件夹内,您会看到 `Master` 和 `Caves` 两个子文件夹。这两个文件夹分别对应地面世界和洞穴世界的配置。编辑它们里面的 `server.ini` 文件。
`master/server.ini` (地面世界配置示例):
[NETWORK] server_port = 10999 ; 地面世界端口 server_log_level = 1 ; 日志等级 server_save_slot = 1 ; 存档槽位 [GAMEPLAY] max_players = 6 ; 此世界的最大玩家数 (可以低于cluster.ini的设置) pvp = false ; 此世界是否开启PVP [SHARD] is_master = true ; 标记此服务器为集群的主服务器 shard_name = Master ; 此世界的分片名称 cluster_key = supersecretkey ; 必须与cluster.ini中的cluster_key一致 [MISC] console_enabled = true [STEAM] authentication_port = 8767 ; Steam认证端口 master_server_port = 27016 ; Steam主服务器端口
`caves/server.ini` (洞穴世界配置示例):
[NETWORK] server_port = 11000 ; 洞穴世界端口 (必须与地面世界不同) server_log_level = 1 [GAMEPLAY] max_players = 6 pvp = false [SHARD] is_master = false ; 标记此服务器为集群的从服务器 (洞穴是依赖主世界的) shard_name = Caves ; 此世界的分片名称 cluster_key = supersecretkey ; 必须与cluster.ini中的cluster_key一致 [MISC] console_enabled = true [STEAM] authentication_port = 8768 ; Steam认证端口 (必须与地面世界不同) master_server_port = 27017 ; Steam主服务器端口 (必须与地面世界不同)
重要提示:`master_ip` 和 `master_port` 在 `cluster.ini` 中定义了主服务器的连接信息。`cluster_key` 务必在 `cluster.ini`、`master/server.ini` 和 `caves/server.ini` 中保持一致,否则主世界和洞穴世界无法连接。
-
世界生成配置 (可选):
在 `MyCluster/Master/` 和 `MyCluster/Caves/` 文件夹中,您会找到或需要创建 `worldgenoverride.lua` 文件,用于自定义世界生成参数。这个文件内容复杂,通常可以从游戏内创建世界时导出的配置中获取,或者参考社区提供的配置模板。例如,您可以调整地块大小、资源数量、季节长度等。
-
模组配置 `modoverrides.lua`:
如果您想在服务器上启用模组,需要在 `MyCluster/Master/modoverrides.lua` 和 `MyCluster/Caves/modoverrides.lua` 中进行配置。
首先,您需要知道模组的Steam创意工坊ID。登录Steam创意工坊,找到您想要的模组,其URL中的 `?id=` 后面的数字就是ID。
一个简单的 `modoverrides.lua` 示例如下:
return { ["workshop-XXXXXX"] = { -- 替换XXXXXX为模组ID enabled = true, configuration_options = { -- 这里可以放置模组的具体配置选项,如: -- maxstacksize = 200, -- ... (具体选项请参考模组页面说明) } }, ["workshop-YYYYYY"] = { enabled = true, configuration_options = {} }, -- 更多模组... }
重要: 服务器上的模组需要与客户端上的模组版本一致才能正常工作。服务器启动时会自动下载所需模组,但您需要定期更新服务器文件和模组。
第四步:启动服务器
您需要同时运行两个服务器实例:一个用于主世界,一个用于洞穴世界。
-
Windows (创建启动脚本 `start_server.bat`):
在 `C:\DSTServer` 目录创建一个 `.bat` 文件,例如 `start_server.bat`,内容如下:
@echo off cd C:\DSTServer\bin start dontstarve_dedicated_server_nullrenderer.exe -console -cluster MyCluster -shard Master start dontstarve_dedicated_server_nullrenderer.exe -console -cluster MyCluster -shard Caves echo 服务器已启动。 pause
双击运行此脚本即可启动服务器。
-
Linux (使用 `screen` 后台运行):
为了让服务器在您退出终端后仍能运行,可以使用 `screen` 工具。
# 启动主世界服务器 screen -S dst_master_server # 创建一个名为dst_master_server的screen会话 cd /home/steam/dstserver/bin ./dontstarve_dedicated_server_nullrenderer -console -cluster MyCluster -shard Master # 按Ctrl+A+D退出screen会话,让其在后台运行 # 启动洞穴世界服务器 screen -S dst_caves_server # 创建一个名为dst_caves_server的screen会话 cd /home/steam/dstserver/bin ./dontstarve_dedicated_server_nullrenderer -console -cluster MyCluster -shard Caves # 按Ctrl+A+D退出screen会话 # 查看正在运行的screen会话 screen -ls # 重新进入某个会话 (例如主世界) screen -r dst_master_server
饥荒联机版服务器如何管理与维护?
管理员权限与控制台命令
要成为服务器管理员,您需要知道您的Steam ID (64位)。
-
获取您的Steam ID:
在Steam个人资料页面,右键点击空白处,选择“复制页面URL”,然后访问 steamid.io 粘贴URL查询即可。
-
添加管理员:
在您的集群文件夹 (`MyCluster`) 中创建一个名为 `adminlist.txt` 的文件,每行输入一个Steam ID。例如:
STEAM_0:1:123456789 STEAM_0:0:987654321
保存文件后重启服务器,您和列出的玩家就拥有管理员权限了。
-
使用控制台命令:
在游戏中按 `~` 键打开控制台。管理员可以使用以下常用命令:
- `c_give(“item_name”, amount)`:给予物品 (例如 `c_give(“gold”, 10)`)
- `c_spawn(“prefab_name”, amount)`:生成生物/物品 (例如 `c_spawn(“beefalo”, 5)`)
- `c_godmode()`:开启或关闭无敌模式
- `c_supergodmode()`:开启或关闭超级无敌模式 (可破坏一切)
- `c_sethealth(percent)`:设置血量百分比 (例如 `c_sethealth(0.5)` 设为50%)
- `c_sethunger(percent)`:设置饥饿值百分比
- `c_setsanity(percent)`:设置精神值百分比
- `c_kill()`:自杀
- `c_speed(speed_multiplier)`:设置移动速度 (例如 `c_speed(2)` 速度加倍)
- `c_skip(seasons)`:跳过指定天数或季节 (例如 `c_skip(10)` 跳过10天)
- `c_rollback()`:回滚到上一个存档点 (慎用)
- `TheNet:Kick(“ku_…”)`:踢出玩家 (需要玩家的 `ku_id`)
- `TheNet:Ban(“ku_…”)`:封禁玩家
- `TheNet:Announce(“message”)`:全服公告消息
这些命令在服务器的控制台窗口中也可以直接输入,前面不需要加 `c_`。
世界存档管理
-
存档位置:
世界存档位于集群文件夹内的 `Master/save` 和 `Caves/save` 子目录中。
-
备份:
定期备份整个集群文件夹 (`MyCluster`) 是非常重要的,尤其是在安装新模组或进行重大更改之前。直接复制整个文件夹即可。
-
恢复:
如果世界损坏或出现问题,关闭服务器,用备份的集群文件夹替换现有文件夹,然后重新启动服务器。
模组的安装与更新
-
服务器模组下载:
服务器启动时,会自动从Steam创意工坊下载 `modoverrides.lua` 中配置的模组。请确保服务器能够访问Steam创意工坊。
-
模组更新:
模组作者会不定期更新模组。要更新服务器上的模组,最简单的方法是关闭服务器,重新运行 `SteamCMD` 并执行 `app_update 343050 validate` 命令,这将更新服务器核心文件和所有依赖的模组。完成后重启服务器。
-
客户端模组:
玩家客户端也需要订阅并启用服务器上正在运行的所有模组,并且版本要保持一致。否则玩家可能无法加入服务器或出现同步问题。
服务器更新
当饥荒联机版发布新版本时,您需要更新服务器文件。操作方法与更新模组类似:
- 关闭所有服务器实例。
- 运行SteamCMD,执行 `login anonymous`。
- 执行 `app_update 343050 validate`。
- 执行 `quit`。
- 重新启动服务器。
常见问题解决
-
服务器无法被发现:
- 检查防火墙是否正确开放了UDP端口10999和11000。
- 如果您是本地服务器,检查路由器端口转发是否设置正确。
- 确认 `cluster_token.txt` 文件内容正确且位于集群根目录。
- 检查 `cluster.ini` 中的 `cluster_lan_only = false`。
-
洞穴世界无法连接或崩溃:
- 确保 `cluster_key` 在 `cluster.ini`, `master/server.ini`, `caves/server.ini` 中完全一致。
- 确保 `master/server.ini` 中的 `is_master = true` 且 `caves/server.ini` 中的 `is_master = false`。
- 检查洞穴服务器的 `server_port` 和 `authentication_port` 是否与主世界不同。
- 查看服务器控制台输出,查找错误信息。可能是某个模组导致崩溃。
-
玩家连接延迟高或卡顿:
- 检查服务器的网络带宽和负载。
- 服务器的CPU和内存是否足够,特别是当有很多玩家或大量模组时。
- 尝试减少模组数量或优化模组配置。
-
模组不生效或导致崩溃:
- 检查 `modoverrides.lua` 文件格式是否正确,模组ID是否正确。
- 确保模组兼容当前游戏版本。
- 尝试逐个禁用模组,找出引起问题的模组。
- 有些模组需要重启服务器才能完全生效。
怎么让朋友加入我的服务器?
一旦您的独立服务器成功运行,朋友可以通过以下方式加入:
-
游戏内服务器列表:
您的服务器会在游戏内“浏览游戏”列表中的“专用服务器”或“好友服务器”中显示。如果设置了密码,他们需要输入密码。
-
直接连接:
如果服务器无法在列表中显示,或者您希望更稳定地连接,朋友可以在游戏内按 `~` 键打开控制台,然后输入:
c_connect("服务器的公网IP地址", 10999, "服务器密码")
其中 `10999` 是主世界端口(如果服务器配置了其他端口,请使用对应端口),`”服务器密码”` 是您在 `cluster.ini` 中设置的密码(如果没有密码则省略)。
-
Steam好友邀请:
作为服务器管理员,您也可以通过Steam好友列表直接邀请朋友加入游戏。虽然是独立服务器,但游戏内的邀请机制依然有效。
结语
搭建和管理一个饥荒联机版独立服务器可能需要一些技术知识和耐心,但它所带来的稳定、持久和高度定制化的游戏体验是其他方式无法比拟的。无论是与三五好友共建家园,还是挑战极限生存,一个精心配置的独立服务器都能为您的荒野冒险保驾护航。祝您在饥荒世界中玩得愉快!