是什么?——饥荒服务器的定义与类型
饥荒服务器,顾名思义,是专为多人合作生存游戏《饥荒:联机版》(Don’t Starve Together,简称DST) 提供稳定联机环境的独立运行程序。它允许玩家通过互联网或局域网连接,在同一个虚拟世界中共同探索、建造、生存。与单机模式截然不同,饥荒服务器扮演着世界管理者与数据中心的角色,确保所有玩家的游戏进度、物品状态、世界变化等信息同步,即便没有玩家在线,世界也会保持其最后的状态。
饥荒服务器主要分为以下几种类型:
- 本地托管服务器: 这是最常见也最简单的形式,通常由玩家直接在自己的电脑上运行游戏客户端,并通过“创建世界”选项启动一个临时的服务器。这种服务器的生命周期与主机的游戏进程绑定,主机退出,服务器便会关闭。
- 专用服务器(Dedicated Server): 这是一种独立于游戏客户端运行的服务器程序。它可以运行在任何一台配置达标的电脑上,无论是个人电脑、虚拟私人服务器(VPS)还是云服务器。专用服务器一旦启动,便可24小时不间断运行,独立维护游戏世界,即使启动它的玩家下线,其他玩家仍能继续游戏。本文后续内容将主要围绕专用服务器进行详细阐述。
- 第三方托管服务器: 有些专业的游戏服务器提供商会提供预配置好的饥荒联机版服务器租赁服务。这些服务通常配有用户友好的控制面板,简化了搭建和管理流程。
为什么?——选择饥荒专用服务器的优势
搭建和使用饥荒专用服务器,而非仅仅依靠游戏内建的“创建世界”功能,具有诸多不可替代的优势:
- 持久性与稳定性: 专用服务器独立运行,不依赖于任何玩家的游戏客户端。这意味着您的饥荒世界可以24/7不间断地运行,即使所有玩家都下线,世界依然存在。避免了因主机玩家断线、退出或电脑关机导致的世界关闭和游戏中断,大大提升了游戏的连贯性和稳定性。
- 更优异的性能: 专用服务器通常拥有独立的计算资源(CPU、内存、网络带宽),能够更好地处理游戏世界的数据同步、物理计算和AI行为。这对于玩家数量较多、建造复杂或安装大量模组的世界尤为重要,能有效减少延迟、卡顿和崩溃的发生。
- 高度自定义:
- 世界生成: 您可以完全自定义世界生成的各种参数,包括资源丰富度、地貌特征、季节周期、灾害频率等,打造独一无二的生存挑战。
- 游戏规则: 自由调整生命值、饱食度、san值消耗速度,甚至开启或关闭PVP模式、复活机制等,以适应不同玩家群体的需求。
- 模组支持: 专用服务器可以无缝支持Steam创意工坊上的各种模组(Mods)。您可以选择服务器端模组(所有玩家强制使用)或客户端模组(玩家自行选择),极大地丰富了游戏内容和玩法。
- 专业的管理权限: 作为服务器的管理者,您拥有至高无上的权限,可以通过控制台命令或配置文件对游戏进行精细化管理,例如:
- 踢出(Kick)或封禁(Ban)不良玩家。
- 设置世界密码或白名单,只允许特定玩家进入。
- 发布公告、发送私聊消息。
- 重置世界、生成特定物品或生物等。
- 避免“房主”限制: 在本地托管模式下,房主通常会有更高的延迟,或者其网络状况会直接影响所有玩家的游戏体验。专用服务器则消除了这一限制,所有玩家的体验更加公平和流畅。
- 私密与专注: 对于固定的小团体朋友,搭建私人服务器可以创建一个完全属于自己的封闭环境,免受公共服务器中陌生人干扰,更能专注于团队协作和长期发展。
哪里?——饥荒服务器的部署地点选择
饥荒专用服务器可以部署在多种不同的环境中,每种环境都有其优缺点:
1. 在您的个人电脑上部署
这是最经济的入门方式,利用您现有的电脑作为服务器主机。
- 优点:
- 免费: 无需额外硬件或服务费用(电费除外)。
- 直接控制: 所有的文件和配置都在您的电脑上,便于操作。
- 适用于小团体: 如果只是和两三个朋友偶尔联机,且主机电脑配置和网络良好,这是个不错的选择。
- 缺点:
- 依赖主机运行: 您的电脑必须持续开机并连接互联网,才能保证服务器运行。
- 性能瓶颈: 服务器运行会占用您电脑的CPU、内存和网络资源,可能影响您同时进行其他任务,或在游戏内出现卡顿。
- 网络限制: 家庭网络的上传带宽通常有限,且需要进行复杂的端口映射(NAT穿透或端口转发)才能让外部玩家连接。
- 安全性: 开放端口可能增加家庭网络的安全风险。
2. 使用虚拟私人服务器(VPS)或云服务器
这是更专业和推荐的方式,通过租赁互联网服务提供商的虚拟服务器来部署饥荒服务器。
- 优点:
- 高可用性: 24/7不间断运行,不受您的电脑开关机影响。
- 独立资源: VPS拥有独立的CPU、内存和带宽,性能有保障,不会影响您的个人电脑。
- 专业网络: 数据中心提供商拥有高速、稳定的网络连接,通常有较大的带宽和较低的延迟。
- 易于管理: 大多数VPS提供商提供Web控制面板,方便服务器的重启、重装等操作。
- 安全性: 数据中心有专业的安全防护。
- 缺点:
- 成本: 需要按月或按年支付租赁费用。
- 技术门槛: 可能需要一些Linux基础(如果选择Linux系统)来配置和维护服务器,包括SSH连接、命令行操作等。
- 常见提供商:
- 国内: 腾讯云、阿里云、华为云、百度云等。
- 国际: AWS (Amazon Web Services), Google Cloud Platform (GCP), Microsoft Azure, Vultr, DigitalOcean, Linode等。
3. 租赁专业的游戏服务器托管服务
这些服务专门针对游戏服务器优化,提供一站式解决方案。
- 优点:
- 用户友好: 通常提供直观的Web控制面板,无需命令行知识即可轻松配置、安装模组、管理玩家。
- 快速部署: 大多数服务支持一键部署饥荒服务器。
- 专业支持: 提供商通常有专门的技术支持团队,遇到问题可以寻求帮助。
- DDoS防护: 许多服务提供商会提供针对DDoS攻击的防护。
- 缺点:
- 成本较高: 通常比自己租赁VPS更贵,尤其是按玩家槽位计费的服务。
- 灵活性低: 自定义程度可能受限于提供商提供的选项,不如自己搭建VPS那样自由。
- 常见提供商(国际为主): Nitrado, G-Portal, Host Havoc等(请根据实际情况确认其是否支持饥荒)。
多少?——饥荒服务器的预算考量
饥荒专用服务器的成本主要取决于您选择的部署方式、服务器配置以及运行时间。
1. 在个人电脑上部署:
- 直接成本: 0元(如果您已经拥有电脑和网络)。
- 间接成本: 电脑运行产生的电费,以及可能磨损硬件的费用。一台24/7运行的电脑每月电费可能在数十到数百元不等,具体取决于功耗和电价。
2. 使用VPS或云服务器:
这是最常见的付费选择,成本波动较大,但通常按月支付。
- 核心影响因素:
- CPU核心数: 饥荒对单核性能有一定要求,但多核可提供更好的整体并发处理能力。对于4-6人小队,1-2个CPU核心通常足够。
- 内存(RAM): 这是最重要的因素之一。饥荒世界加载、模组运行、玩家数量都会消耗大量内存。
- 2GB RAM:勉强够用,但随着世界变大和玩家增多,可能会出现内存不足。
- 4GB RAM:推荐配置,对于一般4-8人服务器,有较好的稳定性。
- 8GB+ RAM:如果您计划安装大量大型模组,或支持10人以上的大型社区服务器,建议选择8GB或更高配置。
- 存储类型和大小: SSD(固态硬盘)是必需的,可以显著提升世界加载速度和文件读写效率。50GB-100GB的存储空间通常足够,具体取决于您计划保存多少个世界备份。
- 网络带宽: 上行和下行带宽都会影响玩家连接的流畅度。通常情况下,1Mbps至5Mbps的带宽对于一般服务器已足够。一些服务商会按流量计费,需留意套餐详情。
- 服务器地域: 服务器与玩家地理距离越近,延迟越低。选择距离您和您的朋友最近的数据中心通常是最佳选择。
- 参考价格范围(每月):
- 入门级(2核CPU,2GB RAM,50GB SSD): 50元 – 150元人民币(约合 7 – 20美元)。适合少于4人的小型私人服务器。
- 推荐级(2-4核CPU,4GB RAM,80-100GB SSD): 150元 – 300元人民币(约合 20 – 45美元)。适合4-8人的稳定联机。
- 高性能级(4核+CPU,8GB+ RAM,100GB+ SSD): 300元以上人民币(约合 45美元以上)。适合大型社区服务器或模组服务器。
注意: 许多云服务提供商会为新用户提供首月或首次购买的折扣,甚至免费试用,可以利用这些优惠来体验不同配置的效果。
3. 租赁专业的游戏服务器托管服务:
- 计费方式: 通常按玩家槽位(Slot)数量计费,或按预设套餐计费。
- 参考价格范围(每月):
- 一个8槽位(可供8名玩家同时在线)的饥荒服务器,每月可能需要支付100元 – 250元人民币(约合 15 – 35美元)。
- 价格通常包含简易管理面板和基本技术支持。
如何?——饥荒专用服务器的搭建步骤(以Windows和Linux为例)
搭建饥荒专用服务器需要一定的技术准备,但并非遥不可及。这里将分别介绍在Windows和Linux系统上的基本搭建流程。
A. Windows系统本地PC搭建(适合新手入门)
1. 准备工作
- 安装SteamCMD: 这是一个命令行工具,用于下载Steam平台的游戏文件。
- 在任意位置创建一个新文件夹,例如 `C:\steamcmd`。
- 访问 SteamCMD官方维基 下载最新版的 `steamcmd.zip`。
- 解压 `steamcmd.zip` 到您创建的文件夹中。
- 获取Klei Account Token: 这是服务器识别和上报列表的关键。
- 启动《饥荒:联机版》游戏。
- 在主菜单中,点击“账户”(Account)选项。
- 点击“生成服务器令牌”(Generate Server Token)。
- 复制弹出的令牌字符串(一长串字母数字)。这个令牌与您的Klei账户绑定,请妥善保管。
- 防火墙与端口转发(重要):
- Windows防火墙: 确保防火墙允许 `dontstarve_dedicated_server_nullrenderer.exe` 通过公共和私人网络。
- 路由器端口转发: 如果您希望外部玩家能连接,必须在您的路由器中设置端口转发,将以下UDP端口转发到您运行服务器的电脑的内网IP地址:
10999(默认的游戏端口)10998(Caves服务器端口,如果开启洞穴)27016(Steam主服务器端口)
提示: 端口转发的具体设置方法因路由器型号而异,请查阅您的路由器说明书或搜索“您的路由器型号 端口转发”。
2. 下载饥荒服务器文件
- 打开命令提示符(CMD),导航到 `C:\steamcmd` 文件夹。
- 运行 `steamcmd.exe`。
- 在SteamCMD命令行中输入并执行:
login anonymousapp_update 343050 validate(343050是饥荒联机版专用服务器的App ID)- 等待下载完成,可能需要一段时间。
quit
服务器文件将下载到 `C:\steamcmd\steamapps\common\Don\’t Starve Together Dedicated Server\` 目录。
3. 创建服务器配置文件夹和文件
饥荒服务器的配置文件位于一个特定的路径,通常是:
`C:\Users\您的用户名\Documents\Klei\DoNotStarveTogether\`
在这个目录下,您需要创建一个名为服务器集群名称的文件夹,例如 `MyDSTServer`。
在 `MyDSTServer` 文件夹内,创建以下文件和子文件夹:
cluster.ini: 集群配置文件,控制服务器的整体行为。cluster_token.txt: 粘贴您之前获取的Klei Account Token到此文件。Master文件夹: 用于地面世界(Overworld)的配置和存档。Caves文件夹: 用于洞穴世界(Caves)的配置和存档。
cluster.ini 示例内容:
[GAMEPLAY]
game_mode = survival ; 游戏模式:survival(生存), endless(无尽), wilderness(荒野)
max_players = 6 ; 最大玩家数
pvp = false ; 是否开启PVP
pause_when_empty = true ; 服务器无玩家时是否暂停
vote_enabled = true ; 是否开启投票踢人/重置世界等
[NETWORK]
cluster_name = 我的饥荒联机服务器 ; 服务器在游戏列表中的名称
cluster_password = yourpassword ; 服务器密码,可选
cluster_description = 欢迎来到我的饥荒世界 ; 服务器描述
cluster_intention = cooperative ; 意图:social(社交), cooperative(合作), competitive(竞争), casual(休闲)
cluster_language = zh ; 服务器语言
cluster_region = asia ; 服务器所在区域,影响可见性
autosaver_enabled = true ; 自动保存
autosaver_period = 300 ; 自动保存间隔(秒)
[MISC]
console_enabled = true ; 是否启用服务器控制台
[SHARD]
shard_enabled = true ; 是否启用分片(地面和洞穴)
bind_ip = 127.0.0.1 ; 绑定IP地址(本地回环,通常无需修改)
master_ip = 127.0.0.1 ; 主服务器IP(本地回环,通常无需修改)
master_port = 10888 ; 主服务器通信端口(保持默认)
cluster_key = supersecretkey ; 集群密钥,保持一致即可
在 `Master` 和 `Caves` 文件夹内,分别创建以下文件:
server.ini: 每个分片的服务器配置。leveldataoverride.lua: 世界生成参数配置。
Master/server.ini 示例内容:
[NETWORK]
server_port = 10999 ; 地面世界端口,与路由器端口转发对应
server_log_level = 1 ; 日志级别
[STEAM]
authentication_port = 8766 ; Steam认证端口
master_server_port = 27016 ; Steam主服务器端口,与路由器端口转发对应
[ACCOUNT]
dedicated_server_lock_root = false ; 锁定根目录,通常保持false
[MISC]
max_players = 6 ; 该分片最大玩家数,通常与cluster.ini一致
[SHARD]
shard_enabled = true ; 启用分片
is_master = true ; 是否为主分片(地面为True)
Caves/server.ini 示例内容:
[NETWORK]
server_port = 10998 ; 洞穴世界端口,与路由器端口转发对应
server_log_level = 1
[STEAM]
authentication_port = 8767 ; 洞穴的Steam认证端口需与地面不同
master_server_port = 27017 ; 洞穴的Steam主服务器端口需与地面不同
[ACCOUNT]
dedicated_server_lock_root = false
[MISC]
max_players = 6
[SHARD]
shard_enabled = true
is_master = false ; 是否为主分片(洞穴为False)
Master/leveldataoverride.lua 和 Caves/leveldataoverride.lua:
这些文件用于详细配置世界生成参数。您可以启动游戏,在“创建世界”界面调整参数,然后点击“生成世界”旁边的“复制设置到剪贴板”,再粘贴到相应文件中。
例如,一个简单的 Master/leveldataoverride.lua 可能包含:
return {
override_level_preset = "DST_PRESET_FOREST",
overrides = {
forest_regrowth = "never",
forest_boulders = "never",
forest_trees = "many"
},
}
4. 运行服务器
在服务器文件目录 (`C:\steamcmd\steamapps\common\Don\’t Starve Together Dedicated Server\bin`) 下,创建两个批处理文件(.bat),用于启动地面和洞穴服务器。
start_master.bat:
dontstarve_dedicated_server_nullrenderer.exe -cluster MyDSTServer -shard Master
pause
start_caves.bat:
dontstarve_dedicated_server_nullrenderer.exe -cluster MyDSTServer -shard Caves
pause
先运行 `start_master.bat`,待地面世界启动完成后(控制台输出“Success”字样),再运行 `start_caves.bat`。两个窗口都不能关闭。
服务器启动后,您和您的朋友可以在游戏内通过“浏览游戏”列表找到您的服务器(如果设置了密码,需要输入),或者通过IP地址直接连接。
5. 安装模组(Mod)
- 在Steam创意工坊订阅您想要的模组。
- 找到模组的ID(在创意工坊页面URL中)。
- 在 `C:\Users\您的用户名\Documents\Klei\DoNotStarveTogether\MyDSTServer\` 目录下创建一个名为 `dedicated_server_mods_setup.lua` 的文件。
- 在文件中添加模组信息,例如:
ServerModSetup("123456789") -- 模组ID ServerModSetup("987654321") -
创建或编辑 `modoverrides.lua` 文件(通常位于 `Master` 和 `Caves` 文件夹内)。
这个文件用于配置每个模组的启用状态和特定设置。例如:
return { ["workshop-123456789"] = { enabled = true }, -- 启用ID为123456789的模组 ["workshop-987654321"] = { enabled = true, configuration_options = { some_setting = 1, other_setting = false } }, } - 重新启动服务器以使模组生效。
B. Linux系统VPS/云服务器搭建(更稳定专业)
1. 连接到您的VPS
- 使用SSH客户端(如PuTTY、Xshell或Linux/macOS自带的终端)连接到您的VPS。
- 例如:
ssh 用户名@您的VPS的IP地址
2. 安装依赖和SteamCMD
- 更新系统并安装必要的软件包:
sudo apt update && sudo apt upgrade -y sudo apt install lib32gcc1 libstdc++6 libcurl4-gnutls-dev screen -y # Debian/Ubuntu # 或 sudo yum install libgcc.i686 libstdc++6.i686 curl screen -y # CentOS/Fedora - 创建SteamCMD用户并切换:
sudo adduser steam sudo passwd steam # 设置密码 sudo su - steam - 下载并解压SteamCMD:
mkdir ~/steamcmd cd ~/steamcmd wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz
3. 下载饥荒服务器文件
- 在SteamCMD目录下运行:
./steamcmd.sh login anonymous app_update 343050 validate quit服务器文件将下载到 `~/steamcmd/steamapps/common/Don\’t Starve Together Dedicated Server/`。
4. 配置防火墙(非常重要)
以UFW为例:
sudo ufw allow 22/tcp # 允许SSH连接
sudo ufw allow 10999/udp # 饥荒地面世界端口
sudo ufw allow 10998/udp # 饥荒洞穴世界端口
sudo ufw allow 8766/udp # Steam认证端口(地面)
sudo ufw allow 8767/udp # Steam认证端口(洞穴)
sudo ufw allow 27016/udp # Steam主服务器端口(地面)
sudo ufw allow 27017/udp # Steam主服务器端口(洞穴)
sudo ufw enable # 启用防火墙
如果您使用的是云服务提供商的防火墙(安全组),请在控制台中开放上述UDP端口。
5. 创建服务器配置文件夹和文件
路径通常是 `/home/steam/.klei/DoNotStarveTogether/` 或 `~/.klei/DoNotStarveTogether/`。
创建结构和文件内容与Windows部分完全相同:
- `MyDSTServer/cluster.ini`
- `MyDSTServer/cluster_token.txt` (粘贴您的Klei Account Token)
- `MyDSTServer/Master/server.ini`
- `MyDSTServer/Master/leveldataoverride.lua`
- `MyDSTServer/Caves/server.ini`
- `MyDSTServer/Caves/leveldataoverride.lua`
- `MyDSTServer/dedicated_server_mods_setup.lua` (用于安装服务器模组)
- `MyDSTServer/Master/modoverrides.lua`
- `MyDSTServer/Caves/modoverrides.lua`
6. 运行服务器
使用 `screen` 命令可以在SSH会话断开后仍然保持服务器运行。
- 切换回 `steam` 用户:`sudo su – steam`
- 进入服务器执行文件目录:`cd ~/steamcmd/steamapps/common/Don\’t Starve Together Dedicated Server/bin`
- 启动地面世界服务器:
screen -S dst_master ./dontstarve_dedicated_server_nullrenderer -cluster MyDSTServer -shard Master按下 `Ctrl+A D` 即可脱离 `screen` 会话,服务器在后台继续运行。
- 启动洞穴世界服务器:
screen -S dst_caves ./dontstarve_dedicated_server_nullrenderer -cluster MyDSTServer -shard Caves按下 `Ctrl+A D` 脱离 `screen` 会话。
- 要重新进入某个 `screen` 会话查看服务器状态,使用:`screen -r dst_master` 或 `screen -r dst_caves`。
7. 自动化启动(可选,推荐)
您可以使用Systemd(现代Linux发行版)来创建服务,使服务器在系统启动时自动运行,并提供更方便的启停管理。
- 创建Systemd服务文件(例如 `/etc/systemd/system/dst_master.service`):
[Unit] Description=Don't Starve Together Master Server After=network.target [Service] User=steam Group=steam WorkingDirectory=/home/steam/steamcmd/steamapps/common/Don\'t Starve Together Dedicated Server/bin ExecStart=/home/steam/steamcmd/steamapps/common/Don\'t Starve Together Dedicated Server/bin/dontstarve_dedicated_server_nullrenderer -cluster MyDSTServer -shard Master Restart=always RestartSec=5 [Install] WantedBy=multi-user.target - 为洞穴服务器创建另一个类似的服务文件(例如 `/etc/systemd/system/dst_caves.service`)。
- 启用并启动服务:
sudo systemctl enable dst_master.service sudo systemctl start dst_master.service sudo systemctl enable dst_caves.service sudo systemctl start dst_caves.service - 查看服务状态:`sudo systemctl status dst_master.service`
怎么?——饥荒服务器的日常管理与维护
服务器搭建完成并非一劳永逸,日常的管理与维护对于保证服务器的稳定运行和良好的游戏体验至关重要。
1. 服务器命令与管理工具
- 游戏内控制台: 作为管理员,您可以在游戏内按 `~` 键打开控制台,输入各种服务器命令。常用的命令有:
- `c_regenerateworld()`:重置当前分片世界。
- `c_resetworld()`:重置所有分片世界。
- `c_go(TheWorld.player)`:传送玩家到指定位置(通常与其他命令配合)。
- `c_give(“item_name”, amount)`:给予玩家物品。
- `c_spawn(“prefab_name”, amount)`:在玩家位置生成物品或生物。
- `TheNet:KickPlayer(“userid”)` 或 `TheNet:BanPlayer(“userid”)`:踢出或封禁玩家。
- `TheNet:SendAnnouncement(“Your message here”)`:发送全服公告。
- `TheNet:SetAllowlist(“userid”, true/false)`:添加或移除白名单。
- 远程控制台(RCON): 某些第三方工具或脚本支持通过RCON协议远程管理饥荒服务器,无需登录游戏即可执行命令。
- 服务器日志: 定期查看服务器日志文件(通常在存档目录的 `log.txt` 或 `server_log.txt`),可以帮助您诊断服务器崩溃、模组冲突或玩家行为异常等问题。
2. 配置文件管理
所有的服务器行为和世界生成参数都由配置文件控制。
- `cluster.ini`: 修改服务器名称、密码、最大玩家数、游戏模式、区域等全局设置。
- `server.ini`: 修改每个分片(地面/洞穴)的端口、日志级别等。
- `leveldataoverride.lua`: 调整世界生成的细节,如资源丰度、生物群落、怪物数量等。
- `modoverrides.lua`: 启用或禁用模组,并配置模组的特定选项。
注意: 修改配置文件后,通常需要重启服务器才能使更改生效。
3. 服务器更新
Klei会不定期发布饥荒联机版的更新,包括新内容、错误修复和性能优化。保持服务器更新可以确保兼容性和更好的体验。
- 手动更新: 再次运行SteamCMD的 `app_update 343050 validate` 命令即可下载最新文件。
- 模组更新: 如果您使用了 `dedicated_server_mods_setup.lua` 来安装模组,模组也会随服务器更新而自动同步到最新版本。
4. 数据备份与恢复
饥荒服务器的存档文件非常重要,定期备份可以防止意外数据丢失(如服务器崩溃、误操作、硬件故障)。
- 备份内容: 备份整个服务器集群文件夹(例如 `MyDSTServer` ),它包含了世界存档、配置文件和模组设置。
- 备份频率: 建议每天或每周进行一次完整备份,尤其是在进行重大配置更改或安装新模组之前。
- 恢复: 如果服务器数据损坏或需要回档,只需将备份的文件夹覆盖当前服务器的文件夹即可。
5. 玩家管理
- 白名单/黑名单:
- 通过 `cluster.ini` 中的 `cluster_password` 设置密码,或在控制台中添加/移除白名单玩家。
- 通过 `TheNet:BanPlayer(“userid”)` 封禁破坏性玩家。
- 社区管理: 如果是公共服务器,建议制定一些基本规则,并有管理员定期巡查,保持良好的游戏环境。
常见问题与故障排除
在饥荒服务器的搭建和运行过程中,可能会遇到一些常见问题。
1. 服务器在游戏列表不显示/无法连接
- 端口转发问题: 确保您的路由器已正确将UDP端口 `10999`, `10998`, `27016` (以及 `8766`, `8767`) 转发到服务器的内网IP地址。
- 防火墙问题: 检查服务器主机(Windows防火墙或Linux的UFW/安全组)是否允许这些端口通过。
- Klei Account Token: 确保 `cluster_token.txt` 文件中粘贴的令牌是正确的,并且没有任何多余的空格或换行符。
- 服务器区域: 检查 `cluster.ini` 中的 `cluster_region` 设置,确保它与您和朋友选择的区域一致。如果设为私有(`private`),则不会显示在公共列表,只能通过IP连接。
- Steam服务器问题: 有时Steam主服务器可能会出现短暂的故障,导致服务器列表更新延迟。耐心等待或尝试重启服务器。
- Master/Caves不同步: 确保 `Master` 和 `Caves` 服务器都已启动,且 `server.ini` 中的端口设置正确且不冲突。
2. 服务器卡顿/延迟高
- 服务器配置不足: 检查CPU、内存和网络带宽是否达到推荐配置,尤其是在玩家人数较多或世界复杂时。升级VPS配置是直接的解决方案。
- 网络带宽: 确保您的家庭网络(如果是本地服务器)或VPS的网络带宽充足,特别是上行带宽。
- 模组过多或冲突: 大量模组会增加服务器负担。尝试逐步禁用模组以排查是哪个模组导致的问题。
- 世界复杂性: 建造了超大型基地、养殖了大量生物或地皮过于复杂,都可能导致性能下降。
- 地理距离: 服务器与玩家之间的物理距离越远,延迟越高。选择距离玩家最近的服务器区域。
3. 模组不生效或导致崩溃
- 模组ID错误: 检查 `dedicated_server_mods_setup.lua` 和 `modoverrides.lua` 中模组ID是否正确。
- 服务器端与客户端模组: 确保您安装的模组是服务器端兼容的。有些模组只适用于客户端。
- 模组冲突: 某些模组之间可能存在不兼容。尝试逐个禁用模组以确定冲突源。
- 模组配置错误: 检查 `modoverrides.lua` 中模组的配置选项是否正确,特别是数据类型和值。
- 内存不足: 某些大型模组可能需要额外内存,导致服务器因内存不足而崩溃。
4. 服务器崩溃/突然关闭
- 查看日志: 服务器崩溃时通常会在日志文件(`server_log.txt`)中留下错误信息。仔细阅读日志可以找到崩溃原因。
- 内存溢出: 尤其是在长时间运行、玩家众多、模组复杂的情况下,服务器可能会因内存耗尽而崩溃。
- 世界文件损坏: 偶尔会发生世界存档文件损坏。如果确认是此问题,可能需要回档到最近的备份。
- 系统资源不足: 除了内存,CPU过载或硬盘空间不足也可能导致服务器不稳定。
- 游戏更新不兼容: 在游戏大版本更新后,旧的服务器文件可能不再兼容。务必及时更新服务器程序。
5. 如何回档
饥荒服务器通常会自动保存多个历史存档。
- 定位到您的世界存档文件夹:`Klei\DoNotStarveTogether\MyDSTServer\Master\save` 和 `Klei\DoNotStarveTogether\MyDSTServer\Caves\save`。
- 每个存档文件夹内都会有多个以数字命名的文件夹,代表不同的存档点。
- 手动回档:
- 停止服务器。
- 找到您想要回档到的日期/时间对应的存档文件夹。
- 复制该文件夹内的所有内容(包括 `session` 文件夹)。
- 粘贴并覆盖到当前活动的存档文件夹(通常是数字最大的那个,或者您正在使用的存档)。
- 启动服务器。
也可以直接删除当前世界存档,让服务器重新生成世界,但这会丢失所有进度。
通过了解这些常见的搭建、管理与维护知识,您可以更好地享受在饥荒世界中与朋友们共同生存的乐趣。搭建一个属于自己的专属饥荒服务器,意味着拥有无限的创造可能和更稳定流畅的游戏体验。