LOADING...

加载中请稍等...

loading

本教程详细介绍如何在 Linux 系统上搭建饥荒联机版专用服务器,包括环境准备、SteamCMD 安装、服务器配置、MOD 管理等完整步骤。

饥荒联机版专用服务器搭建指南

🔧 1. 安装编译环境

Ubuntu 系统

sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update -y
sudo apt install lib32gcc1 libcurl4-gnutls-dev:i386 lib32stdc++6 lib32z1 -y
sudo apt install lib32gcc-s1 steamcmd

CentOS 7

yum update -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum install glibc.i686 libstdc++.i686 libcurl.i686 screen -y

CentOS 8

yum update -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
yum install glibc.i686 libstdc++.i686 libcurl.i686 screen -y

📦 2. 安装 SteamCMD

# 创建目录并下载
mkdir ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

# 如果下载失败,可以使用包管理器安装
sudo apt install steamcmd -y

运行 SteamCMD

# 如果是手动安装的
./steamcmd.sh

# 如果是通过包管理器安装的
steamcmd

💡 提示:首次运行时需要按 Tab 键选择 OK,并同意安装协议。

🎮 3. 安装饥荒服务器

在 SteamCMD 环境中执行:

force_install_dir ../dontstarvetogether_dedicated_server
login anonymous
app_update 343050 validate
quit

⚠️ 注意:343050 是饥荒联机版专用服务器的 Steam AppID

如果遇到 SDL 相关错误,执行:

sudo apt install libsdl2-2.0-0:i386

验证安装

cd ~/dontstarvetogether_dedicated_server/bin/
./dontstarve_dedicated_server_nullrenderer

// …existing code…

🛠️ 4. 配置服务器

创建配置目录

# 创建存档目录
mkdir -p ~/.klei/DoNotStarveTogether/MyDediServer

# 切换到目录
cd ~/.klei/DoNotStarveTogether/MyDediServer

获取集群令牌

  1. 打开饥荒游戏
  2. 进入游戏后按 ~ 键打开控制台
  3. 输入:TheNet:GenerateClusterToken()
  4. 令牌文件将保存在:C:\Users\[用户名]\Documents\Klei\DoNotStarveTogether

创建配置文件

# 创建集群配置
mkdir Master
mkdir Caves

# 复制令牌
vim cluster_token.txt
# 粘贴你的令牌

Master 世界配置

# Master/server.ini
vim Master/server.ini
[NETWORK]
server_port = 11000

[SHARD]
is_master = true
name = Master
id = 100

[STEAM]
master_server_port = 27016
authentication_port = 8768

Caves 世界配置

# Caves/server.ini
vim Caves/server.ini
[NETWORK]
server_port = 11001

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

[STEAM]
master_server_port = 27017
authentication_port = 8769

创建启动脚本

vim start_dst.sh
#!/bin/bash
dst_dir="$HOME/dontstarvetogether_dedicated_server/bin"
conf_dir="$HOME/.klei/DoNotStarveTogether/MyDediServer"

cd "$dst_dir"

# 启动洞穴世界
screen -dmS "dst_caves" ./dontstarve_dedicated_server_nullrenderer -conf_dir "$conf_dir" -shard Caves

# 启动地上世界
screen -dmS "dst_master" ./dontstarve_dedicated_server_nullrenderer -conf_dir "$conf_dir" -shard Master
chmod +x start_dst.sh

🎯 5. 启动服务器

./start_dst.sh

管理服务器

# 查看运行状态
screen -ls

# 连接到地上世界控制台
screen -r dst_master

# 连接到洞穴世界控制台
screen -r dst_caves

# 退出 screen 会话 (Ctrl+A 然后按 D)

📝 服务器管理命令

命令 功能
c_save() 保存游戏
c_reset() 重置世界
c_shutdown() 关闭服务器
c_announce("消息") 发送公告
c_regenerateworld() 重新生成世界

🔒 防火墙配置

# Ubuntu/Debian
sudo ufw allow 11000:11001/udp
sudo ufw allow 27016:27017/udp
sudo ufw allow 8768:8769/udp

# CentOS
sudo firewall-cmd --permanent --add-port=11000-11001/udp
sudo firewall-cmd --permanent --add-port=27016-27017/udp
sudo firewall-cmd --permanent --add-port=8768-8769/udp
sudo firewall-cmd --reload

⚠️ 故障排查

  1. 服务器无法启动

    • 检查目录权限
    • 确认 token 正确
    • 查看日志文件
  2. 无法连接服务器

    • 检查防火墙配置
    • 验证端口是否开放
    • 确认服务器运行状态

📚 参考资源

🖼️ 游戏截图

饥荒服务器运行界面
游戏内效果展示

关于我

全平台同名”汪多多是只猫”,专注分享实用开源工具,让你的数字生活更自由!

关注我,发现更多旧物改造的乐趣与技巧!


头像
汪多多是只猫
失业的运维工程师
热爱开源与分享
微信公众号