标题里带具体日期的教程,现在确实很少见了。可在十年前那会儿,《饥荒联机版》(Don't Starve Together)的服务器端几乎每隔几天就变一次,今天照着帖子搭好的服,明天一个热更新可能就起不来。所以当时的教程都会老老实实写一行“截止X年X月X日可用”。
这篇回顾的就是我当年在 Linux 云服务器上搭建 DST 联机服,并装 mod 的完整过程。标题虽然带着 2016 年的时间戳,但整条配置链路里的核心思路到现在依然通用:用 SteamCMD 拉取专用服务器、配置存档目录、申请 Server Token、用 dedicated_server_mods_setup.lua 让服务端自动拉取 Workshop 模组。这适合从来没碰过 Linux 服务器、又想和朋友开一个稳定私服的人,也适合那些已经在 Windows 上开过服、但想迁移到云服务器上的玩家。
提示:本文不会让你背一堆配置文件。我会把每一条命令、每一个文件为什么存在讲清楚,再给你一个能直接跑起来的最小方案。
1. 破局第一步:先把“配置服务器”这件事拆成不吓人的小步骤
很多人的第一反应是:Linux 云服务器?我不会命令行怎么办?其实把整个流程拆开看,就四件事:
- 在服务器上装一个叫 SteamCMD 的工具,它是 Steam 的命令行版本,专门用来下载游戏服务器程序;
- 用 SteamCMD 下载 DST 的 Dedicated Server,也就是服务器专用程序;
- 创建一个服务器的“世界存档目录”,在里面填好启动配置和一个令牌文件;
- 运行启动命令,让服务器程序把世界跑起来。
至于 mod,是在第 3 步和第 4 步之间插入的额外动作,并没有想象中那么复杂。
当年我在折腾的时候,最难的不是命令,而是理解这套东西的“目录结构”。DST 服务器启动时,会到两个完全不同的地方找文件:
- 一个地方是 SteamCMD 下载下来的服务器程序目录,里面包含
bin、data、mods这些文件夹。官方程序、资源文件都在这里; - 另一个地方是
~/.klei/DoNotStarveTogether/目录,服务器生成的世界配置、存档、日志都在这里。
这两个目录很容易搞混。有人把 mod 放到 ~/.klei/DoNotStarveTogether/Cluster_1/mods,结果发现服务器日志里报“找不到 mod”,其实就是放错了位置。服务端要加载的 mod 应该放在服务器程序目录下的 mods 文件夹里,存档目录只管配置和启停状态。
我先说清楚这个基础逻辑,后面每一步你都不会懵。
另外,关于“标题日期”还有一个背景。2016 年初的 DST 还处于频繁更新的阶段,很多服务器端的启动方式、配置文件路径都变过不止一次。我当时在论坛上找教程,同一个问题能看到三四种不同写法,谁也不知道哪个才是对的,所以“可用”这个字眼才格外重要。现在的 DST 专服机制已经稳定很多,配置路径和核心流程几乎没再大变,这也是这篇旧经验还能拿来用的原因。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 云服务器选型与网络准备:配置坑从买机器那一刻就开始了
2.1 系统镜像和硬件的最低要求
云服务商选择很多,阿里云、腾讯云、百度云、华为云都有对应的轻量应用服务器或云服务器 ECS。对 DST 这种小体量游戏来说,不需要追求高配,但也不建议买最便宜的 1 核 1G 机型。原因很简单:DST 服务器端运行时要同时处理世界模拟、实体 AI、玩家数据同步,内存太低会频繁触发 swap,一旦 swap,玩家就会觉得“飘”,延迟不稳定。
我的建议是至少 2 核 2G,预算允许就 2 核 4G。这个配置开一个 6 人左右的纯生存世界绰绰有余。如果你想同时开地上和洞穴两个 shard(也就是两个世界进程),4G 内存更稳妥。
系统镜像优先选 Ubuntu Server LTS。不是说 CentOS 不行,而是很多新教程、脚本、依赖包都以 Debian/Ubuntu 系为主,出了问题搜答案时更容易命中。2016 年那会儿我用的还是 Ubuntu 14.04,现在云厂商默认提供 20.04 LTS 或更高版本,包名可能略有变化,但安装思路完全一样,不用刻意去装旧系统。
注意:买完服务器后,记得在服务商控制台把系统盘稍微给大一点。DST 服务器程序本身不大,但 mod、日志、世界存档会慢慢涨。我曾经给过 20G,开了一年多之后存档加上日志差点占满,后来养成了定期清日志的习惯。
2.2 安全组:忘了放行 UDP 10999 会让人怀疑人生
这是最容易被忽略的一步。很多教程默认你是“已经知道要开端口”的老手,但新手最容易卡在这儿。
DST 游戏客户端连接服务器默认走 UDP 10999 端口。云服务商的控制台里都有一个“安全组”或“防火墙”设置,你需要手动
