饥荒开服指南

一、准备工作

1.1 环境要求

  • 已安装Docker和Docker Compose(参考之前的Docker安装教程)
  • 服务器建议配置:2核CPU、4GB内存、10GB以上存储空间
  • 网络环境:需开放10999端口(游戏默认端口)

1.2 目录结构规划

1
2
3
# 创建饥荒服务器目录结构
mkdir -p ~/dontstarve/{server,mods,save,backups}
cd ~/dontstarve/server

二、搭建基础饥荒服务器

2.1 创建Docker Compose配置文件

~/dontstarve/server目录下创建docker-compose.yml文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
version: '3.8'

services:
dst-server:
image: jamesits/dontstarve-together:latest
container_name: dst-server
restart: always
environment:
- SERVER_NAME=TanZp的饥荒世界 # 服务器名称
- SERVER_PASSWORD= # 服务器密码(可选,留空为无密码)
- MAX_PLAYERS=6 # 最大玩家数
- GAME_MODE=endless # 游戏模式:endless(无尽), survival(生存), wilderness(荒野)
- PVP=false # 是否开启PVP
- AUTOSAVE_INTERVAL=10 # 自动保存间隔(分钟)
- SERVER_DESCRIPTION=欢迎来到饥荒服务器,一起生存下去! # 服务器描述
- TOKEN= # 稍后获取的服务器令牌
ports:
- "10999:10999/udp" # 游戏端口(UDP)
- "10998:10998/udp" # 集群端口(UDP)
volumes:
- ../data:/data # 服务器数据
- ../mods:/data/mods # Mod目录
- ../save:/data/save # 存档目录
tty: true

2.2 获取服务器令牌

  1. 登录Klei官方网站
  2. 进入饥荒服务器页面
  3. 点击”Add New Server”创建新服务器,获取令牌(Token)
  4. 将令牌填入docker-compose.yml中的TOKEN字段

2.3 启动基础服务器

1
2
3
4
5
# 启动服务器
docker compose up -d

# 查看服务器日志(首次启动会下载必要文件)
docker compose logs -f

2.4 连接服务器

  1. 打开饥荒游戏,进入”联机版”
  2. 点击”浏览游戏” -> “朋友”标签页
  3. 找到你的服务器名称,输入密码(如果设置了)即可加入

三、安装与管理Mod

3.1 查找Mod ID

  1. 访问Steam创意工坊
  2. 找到需要的Mod,从URL中获取Mod ID(例如https://steamcommunity.com/sharedfiles/filedetails/?id=123456789中的123456789

3.2 安装Mod的两种方式

方式一:通过配置文件安装

  1. ~/dontstarve/data/DoNotStarveTogether/Cluster_1目录下创建modoverrides.lua文件:

    1
    2
    3
    4
    return {
    ["workshop-123456789"] = { enabled = true }, -- 替换为实际Mod ID
    ["workshop-987654321"] = { enabled = true } -- 可添加多个Mod
    }
  2. 创建dedicated_server_mods_setup.lua文件(位于同一目录):

    1
    2
    ServerModSetup("123456789")  -- 替换为实际Mod ID
    ServerModSetup("987654321") -- 每个Mod一行

方式二:通过Docker环境变量安装

修改docker-compose.yml,添加Mod ID:

1
2
3
environment:
# 其他配置...
- MODS=123456789,987654321 # 用逗号分隔多个Mod ID

3.3 重启服务器使Mod生效

1
2
3
docker compose restart
# 查看Mod加载情况
docker compose logs -f | grep "Mods loaded"

3.4 常用推荐Mod

  • 全球定位系统:1409183408
  • 显示耐久度:1530801499
  • 快速拾取:1944492666
  • 自动整理背包:2115943953

四、地图与存档管理

4.1 手动创建世界

  1. 停止服务器:docker compose down
  2. 在本地饥荒游戏中创建世界并配置各种参数
  3. 找到本地存档目录(Windows通常在Documents/Klei/DoNotStarveTogether/
  4. 将整个世界文件夹复制到服务器的~/dontstarve/save/Cluster_1目录
  5. 启动服务器:docker compose up -d

4.2 存档备份

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 创建备份脚本
cat > ~/dontstarve/backup.sh << 'EOF'
#!/bin/bash
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_DIR=~/dontstarve/backups
mkdir -p $BACKUP_DIR

# 压缩存档
zip -r $BACKUP_DIR/dst_save_$TIMESTAMP.zip ~/dontstarve/save/Cluster_1

# 保留最近10个备份
ls -tp $BACKUP_DIR/*.zip | grep -v '/$' | tail -n +11 | xargs -I {} rm -- {}
EOF

# 赋予执行权限
chmod +x ~/dontstarve/backup.sh

# 执行备份
~/dontstarve/backup.sh

4.3 设置自动备份

1
2
3
4
# 添加定时任务,每天凌晨3点备份
crontab -e
# 添加以下内容
0 3 * * * ~/dontstarve/backup.sh

4.4 恢复存档

1
2
3
4
5
6
7
8
# 停止服务器
docker compose down

# 解压备份文件到存档目录
unzip ~/dontstarve/backups/dst_save_xxxxxx.zip -d ~/dontstarve/save/

# 启动服务器
docker compose up -d

五、服务器配置优化

5.1 调整服务器参数

编辑~/dontstarve/data/DoNotStarveTogether/Cluster_1/cluster.ini文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[GAMEPLAY]
max_players = 6
pvp = false
game_mode = endless
vote_kick_enabled = true # 启用投票踢人

[NETWORK]
server_port = 10999
cluster_port = 10998
cluster_name = TanZp的饥荒世界
cluster_description = 欢迎加入,一起生存!
cluster_password = # 服务器密码

[MISC]
console_enabled = true # 启用控制台

5.2 增加服务器内存

修改docker-compose.yml,添加内存限制:

1
2
3
4
5
6
7
8
deploy:
resources:
limits:
cpus: '2'
memory: 4G
reservations:
cpus: '1'
memory: 2G

六、服务器管理命令

6.1 进入服务器控制台

1
docker exec -it dst-server screen -r dst

退出控制台按Ctrl+A+D(不要直接关闭窗口)

6.2 常用控制台命令

1
2
3
4
5
6
c_listallplayers()  # 列出所有玩家
c_ban("玩家ID") # 封禁玩家
c_unban("玩家ID") # 解封玩家
c_save() # 手动保存游戏
c_reset() # 重置世界(谨慎使用)
TheNet:SetAllowIncomingConnections(true) # 允许新连接

6.3 服务器维护命令

1
2
3
4
5
6
7
8
9
10
11
12
# 停止服务器
docker compose down

# 启动服务器
docker compose up -d

# 查看服务器状态
docker compose ps

# 更新服务器镜像
docker pull jamesits/dontstarve-together:latest
docker compose up -d --force-recreate

七、常见问题解决

  1. Mod冲突导致服务器崩溃

    • 停止服务器后,删除modoverrides.lua中的可疑Mod
    • 逐个添加Mod测试,找出冲突的Mod
  2. 玩家无法连接

    • 检查端口是否开放:telnet 服务器IP 10999
    • 确认服务器令牌是否有效
    • 查看日志排查问题:docker compose logs -f
  3. 存档丢失

    • 检查卷映射是否正确
    • 从备份恢复存档
    • 确保服务器正常关闭(避免强制kill容器)

通过以上步骤,你可以搭建一个稳定的饥荒服务器,并根据需要扩展Mod和管理世界,与朋友一起体验饥荒的生存乐趣。


饥荒开服指南
http://tanzipeng.github.io/p/fd9354e7d65c4d5b9bf457fcf4020983/
作者
Tan ZiPeng
发布于
2025年9月11日
许可协议