搭建饥荒服务器最早是同学一起玩饥荒产生的需求。从最早拿着1c2g的Windows腾讯云到CreeperHost香港、狗云CMI折腾,最后回到腾讯广州,雕栏玉砌应犹在。
折腾过程学期了很多东西,一直没有记录下来。我觉得比较麻烦的还是开mods和文件的配置,搭建方面如果使用脚本或是Docker能够一气呵成。文章思来想去不知怎么写,改来改去最后选择用最简单的方法解决问题。文章采用最简写法,有问题可以评论或是联系我。
安装Docker
一键脚本
1
2
| curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
|
手动(Debian)
1
| apt install docker.io docker-compose -y
|
启动服务
They write their server setup instructions like sh*t, so we made this Docker image to simplify things.
创建docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| version: "3.5"
services:
dst-server:
image: jamesits/dst-server:latest
container_name: dst
restart: "on-failure:5"
ports:
- "10999-11000:10999-11000/udp"
- "12346-12347:12346-12347/udp"
volumes:
- /home/dst/.klei/DoNotStarveTogether:/data
# - /home/dst/supervisor.conf:/etc/supervisor/supervisor.conf:ro
stop_grace_period: 6m
|
- image 可选lastest nightly等
- 可自定义supercisor关闭洞穴等
编辑 supervisord
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| [supervisord]
nodaemon=true
logfile=/dev/null
logfile_maxbytes=0
pidfile=/var/run/supervisord.pid
[unix_http_server]
file=/var/run/supervisor.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock
[program:dst-server-master]
user=%(ENV_DST_USER)s
group=%(ENV_DST_GROUP)s
command=dontstarve_dedicated_server_nullrenderer -skip_update_server_mods -persistent_storage_root %(ENV_DST_USER_DATA_PATH)s -ugc_directory %(ENV_DST_USER_DATA_PATH)s/ugc -cluster Cluster_1 -shard Master
startsecs=40
startretries=0
autorestart=unexpected
exitcodes=0
stopwaitsecs=720
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
stderr_logfile=/dev/fd/2
stderr_logfile_maxbytes=0
[program:dst-server-cave]
user=%(ENV_DST_USER)s
group=%(ENV_DST_GROUP)s
command=dontstarve_dedicated_server_nullrenderer -skip_update_server_mods -persistent_storage_root %(ENV_DST_USER_DATA_PATH)s -ugc_directory %(ENV_DST_USER_DATA_PATH)s/ugc -cluster Cluster_1 -shard Caves
startsecs=40
startretries=0
autorestart=unexpected
exitcodes=0
stopwaitsecs=720
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
stderr_logfile=/dev/fd/2
stderr_logfile_maxbytes=0
[group:dst-server]
programs=dst-server-master,dst-server-cave
|
添加用户与用户组
1
2
| useradd dst
groupadd dst-server
|
赋予目录权限
1
| chown dst:dst-server /home/dst
|
修改配置
进入当前目录下的 .klei/DoNotStarveTogether/DoNotStarveTogether/Cluster_1
修改文件
cluster_token.txt
服务器令牌,去科雷官网获取
cluster.ini
服务器配置,按需修改
mods/dedicated_server_mods_setup.lua
按需添加mod
在 Master或Caves
中添加 modoverrides.lua
用于配置mod
需要本地生成拷贝至此(这里骂一下克雷)
至此重启docker就能愉快地玩耍了
手动搭建
可以参考How to setup dedicated server with cave on Linux,虽然有些小细节问题,不过写得还挺好的,最早转向Linux用的就是这篇文章搭建。
饥荒联机私服
dst.moe
博主的挂机服
控制台快速连接命令:
c_connect("afk.kenshin.naaloh4.com", 10999)
挂机服配置