在Ubuntu服务器上搭建饥荒服务器是一个相对 straightforward 的过程,但需要仔细配置以确保稳定运行,以下是详细的步骤和注意事项,帮助您顺利完成搭建。

确保您的Ubuntu服务器已经更新到最新版本,并且具备基本的Linux操作知识,推荐使用Ubuntu 20.04或22.04 LTS版本,因为它们有长期支持,稳定性更好,服务器硬件配置方面,饥荒对CPU和内存的要求不算特别高,但根据您计划联机的玩家数量,建议至少拥有2核CPU、4GB内存和20GB以上的存储空间,如果玩家数量较多(例如超过4人),建议升级到4核8GB内存以获得更流畅的体验。
开始安装必要的依赖包,通过SSH连接到您的Ubuntu服务器后,首先更新系统包列表并安装一些基础工具,如wget、curl和screen(用于管理游戏进程),执行以下命令:
sudo apt update && sudo apt upgrade -y sudo apt install -y wget curl screen
screen工具非常重要,因为它允许您在断开SSH连接后,游戏服务器仍然在后台运行,避免因网络波动导致服务器关闭。
下载饥荒服务器的专用程序。 Klei Entertainment 提供了Linux版本的饥荒服务器程序,您可以通过官方渠道或社区推荐的链接下载,下载的是一个可执行文件,以当前版本为例,您可以使用wget命令直接下载:

wget https://cdn.klei.com/games/dontstarve Together/DedicatedServer/123456/dontstarve Together Dedicated Server.zip
(注意:请替换为最新的实际下载链接,您可以在饥荒官方论坛或Steam社区找到),下载完成后,解压文件到指定目录,例如/opt/dst:
sudo mkdir -p /opt/dst sudo unzip -d /opt/dst dontstarve Together Dedicated Server.zip
进入解压后的目录,您会看到一些关键文件,包括dontstarve Together_dedicated_server_nullrenderer(主服务器程序)和cluster.ini(集群配置文件)。
配置是搭建过程中最关键的一步,进入配置文件目录:
cd /opt/dst/bin
编辑cluster.ini文件,使用nano或vim等文本编辑器:
nano cluster.ini
在这个文件中,您需要设置服务器的基本信息,如服务器名称(cluster_name)、描述(cluster_description)、密码(cluster_password,用于玩家加入验证)、以及游戏模式(game_mode,如survival、endless等),还可以设置是否启用PVP(pvp)、是否允许玩家自杀(pause_when_empty)等,确保保存并退出编辑器。
编辑modoverrides.lua文件(如果需要启用MOD),这个文件位于/opt/dst/cluster/目录下,如果您想安装MOD,可以在这个文件中添加MOD的ID。
return {
["workshop-12345678"] = { enabled = true },
}
(同样,12345678需要替换为实际的MOD ID),配置完成后,返回到/opt/dst/bin目录。
可以启动服务器了,为了方便管理,建议使用screen命令,首先创建一个新的screen会话,命名为dst_server:
screen -S dst_server
然后在会话中执行启动命令:
./dontstarve Together_dedicated_server_nullrenderer -persistent_storage_root /opt/dst/ -conf_dir cluster
这个命令会启动服务器,并指定持久化存储的根目录为/opt/dst/,配置目录为cluster,启动后,服务器会开始生成世界,您可以在控制台看到日志信息,要退出screen会话而不关闭服务器,按下Ctrl+A,然后按D,如果需要重新连接到服务器控制台,可以使用screen -r dst_server命令。
为了让服务器在系统重启后自动启动,可以创建一个systemd服务单元文件,创建一个名为dst.service的文件:
sudo nano /etc/systemd/system/dst.service ```粘贴到文件中,并根据您的实际路径进行修改: ```ini [Unit] Description=Don't Starve Together Server After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/dst/bin ExecStart=/opt/dst/bin/dontstarve Together_dedicated_server_nullrenderer -persistent_storage_root /opt/dst/ -conf_dir cluster Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
保存后,启用并启动该服务:
sudo systemctl daemon-reload sudo systemctl enable dst.service sudo systemctl start dst.service
您可以使用sudo systemctl status dst.service命令来检查服务状态。
为了确保服务器能够正常通信,您需要在Ubuntu服务器上开放饥荒服务器所需的端口,饥荒默认使用UDP协议,端口范围为10888和27015到27030,您可以使用ufw(Uncomplicated Firewall)来开放这些端口:
sudo ufw allow 10888/udp sudo ufw allow 27015:27030/udp sudo ufw reload
确保您的云服务商(如阿里云、腾讯云、AWS等)的安全组策略也放行了这些端口,否则外部玩家无法连接。
至此,您的Ubuntu饥荒服务器已经搭建完成,玩家可以通过游戏内的“加入游戏”功能,输入您的服务器公网IP地址和您在cluster.ini中设置的密码来加入游戏,您可以通过screen -r命令随时查看服务器日志,监控服务器运行状态。
相关问答FAQs
问题1:如何更新饥荒服务器到最新版本?
解答:更新饥荒服务器相对简单,通过SSH连接到服务器,并使用screen -r命令连接到正在运行的服务器控制台(或先使用sudo systemctl stop dst.service停止服务),在/opt/dst/bin目录下,重新运行下载最新服务器程序的wget命令(获取最新链接),覆盖原有的dontstarve Together_dedicated_server_nullrenderer文件,重新启动服务器即可,定期关注Klei官方公告或Steam社区,以获取最新的更新信息。
问题2:服务器运行一段时间后卡顿或掉线,如何排查问题?
解答:检查服务器资源使用情况,使用htop命令查看CPU和内存占用,如果资源长期处于高位,可能需要升级服务器配置或减少玩家数量/MOD数量,查看服务器日志,通过screen -r进入控制台或查看/opt/dst/cluster/Master/log.txt文件,寻找错误信息或卡顿发生时的具体线索,第三,检查网络延迟和丢包情况,可以使用ping和mtr命令测试到您和玩家所在地的网络质量,第四,尝试减少MOD数量,某些不兼容或有性能问题的MOD会导致服务器卡顿,考虑重启服务器服务,有时长时间运行后会出现内存泄漏等问题,重启可以暂时缓解。
