搭建饥荒服务器

game

搭建饥荒服务器

在国内的网络环境下,遍布五湖四海,分布不同运营商的同学想要成功的玩一下低延迟、不会回溯的饥荒,在官方服务器上是个很难的事。更难得的事情是在大伙都在上班的时候,不太可能能找到一个稳定在线的人上线启动游戏。所以自建一个位于国内的服务器还是很有必要的。

推荐直接使用简单的步骤,使用docker搭建饥荒服务器

一个比较传统的步骤

参考这个帖子,需要安装一堆依赖,安装steamcmd

Dedicated Server Quick Setup Guide - Linux

*** 总之就是不适合我这种懒人***

到这里我突然意识到,前面的步骤好像可以编写一个 docker 来自动搞定

简单的步骤,使用docker搭建饥荒服务器

然后我就去搜了一下,发现果然有人已经做了,我这里用的是这一个

https://github.com/Jamesits/docker-dst-server

附上自己的docker-compose文件

1
2
3
4
5
6
7
8
9
10
11
12
version: '3.5'
services:
dst-server:
image: jamesits/dst-server:latest
container_name: dst_server
restart: "on-failure:5"
ports:
- "10998-11001:10998-11001/udp"
- "12346-12347:12346-12347/udp"
volumes:
- ./data:/data
stop_grace_period: 6m

这里要注意的是port,等会后面会有坑

到这里,只需要创建一个docker-compose.yml 然后执行一下 docker-compose up 就可以很轻松的跑起来一个饥荒的服务器。第一次运行会在本地生成一些服务器配置文件,需要手动更改

目录结构大致如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Cluster_1--------------------------------存档根目录
Caves--------------------------------洞穴文件夹
backup---------------------------服务器日志及聊天日志存档
save-----------------------------存档文件夹
leveldataoverride.lua------------世界配置文件,可以修改这个文件改变世界的特性
modoverrides.lua-----------------模组配置文件
server_chat_log.txt--------------服务端本次启动玩家的聊天日志
server_log.txt-------------------服务器本次运行日志
server.ini-----------------------世界的配置信息,例如端口等
Master-------------------------------主世界文件夹
backup---------------------------服务器日志及聊天日志存档
save-----------------------------存档文件夹
leveldataoverride.lua------------世界配置文件,可以修改这个文件改变世界的特性
modoverrides.lua-----------------模组配置文件
server_chat_log.txt--------------服务端本次启动玩家的聊天日志
server_log.txt-------------------服务器本次运行日志
server.ini-----------------------世界的配置信息,例如端口等
cluster_token.txt--------------------服务端Token
cluster.ini--------------------------服务端名称、密码、模式等配置信息

服务器配置

基本的配置

登录klei的官网

Klei Account

在 “游戏” Tab页面找到饥荒联机版的服务器

游戏tab

页面

点击添加服务器

然后可以在上方看见你刚刚添加的服务器,点击配置

这里设置你的服务器的基础配置,注意这个KEY,别的不重要(

个人推荐在这里就可以停下了,记录下这个KEY,直接去本地新建一个服务器存档 使用本地的服务器存档

key

Untitled

把你的Key复制到 cluster_token.txt 里面。

当然也可以把这个设置下载下来,然后可以覆盖你的服务器数据文件

使用MOD

基础配置好之后怎么使用MOD呢

使用mod我们需要编辑mods目录下的 dedicated_server_mods_setup.lua ,添加这种形式的代码

ServerModSetup("<创意工坊ID>")

这里推荐一下使用VSCode的 remote-ssh 贼好用(也有可能是我之前都是直接ssh xxx没用过ssh客户端) ~

vscode

到这里,重启服务器,就可以进入游戏了。

更多配置可以参考
Dedicated Server配置项和命令行参数详解

使用本地的服务器存档

可以发现之前的配置还是比较复杂的,特别是想更改世界生成的设置,添加很多的mod的情况下,一个个去创意工坊找显得很愚蠢,明明在饥荒游戏的创建世界界面就能有一个gui进行设置。所以更推荐在本地创建好一个世界,然后复制到服务器上去。

  1. 在本地创建世界
  2. 进入选择人物界面后即可退出当前服务器,并在 文档\Klei\DoNotStarveTogether
    目录下找到刚刚创建的游戏存档文件夹,默认格式为 Cluster_X
  3. 将之前在Klei官网创建的服务器的Key填写到 cluster_token.txt 里面
  4. 把你的存档复制到服务器上面

注意

很重要的一点 注意 Caves 和 Masters 里面的 server.ini

里面的network部分,这个 server_port 必须要在 docker-compose.yml 里暴露出去

还有 cluster.ini 中的 [SHARD] 里面的 master_port 也得暴露出去 shard_enabled 得改为 true

(反正这里和 docker-compose 文件总得改一个地方,推荐改 docker-compose.yml )

接下来

没啥毛病的话,重启一下 docker-compose 就能在服务器大厅里面找到你的服务器了,接下来就可以愉快的玩耍了(

参考

Guides/Don’t Starve Together Dedicated Servers

Dedicated Server Quick Setup Guide - Linux

SteamCMD

https://github.com/Jamesits/docker-dst-server

https://github.com/mathielo/dst-dedicated-server#the-world

Linux 搭建饥荒联机版服务器

Steam 社区 Dedicated Server配置项和命令行参数详解

本文作者:Keshane

本文链接: https://keshane.moe/2023/01/12/host-dst-dedicated-server/

评论

您所在的地区可能无法访问 Disqus 评论系统,请切换网络环境再尝试。