doc/笔记/Docker搭建DST饥荒游戏专用服务器-dstfor...

107 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Docker搭建DST饥荒游戏专用服务器
date: 2021-07-15 10:14:59.049
updated: 2023-06-16 22:22:42.255
url: /archives/dstfordocker
categories:
- Docker
tags:
- Docker
---
> 几个云大厂新用户活动白嫖了几个轻量服务器哈哈Github上看到有人做了游戏服务器镜像非常方便拿过来run一下记录一下搭建过程写的比较简洁适合对Linux有一点点了解或者爱折腾的同学
> 当前环境为Ubuntu18.041核2G阿里云ECS
# 拉取镜像
拉取镜像
```
docker pull jamesits/dst-server
```
![](https://moac.oss-cn-hangzhou.aliyuncs.com/blog-images/001_20200418183935-ab88bca06bb74fd39454a31db8d7b373_1599816802963.png)
启动容器
```
docker run -v ${HOME}/.klei/DoNotStarveTogether:/data --name Cluster -d -p 10999-11000:10999-11000/udp -p 12346-12347:12346-12347/udp -it jamesits/dst-server:latest
```
# 修改游戏配置文件
启动容器后查看日志会发现报错,没关系,这是因为缺少一些配置
以下为游戏文件所在路径
```
~/.klei/DoNotStarveTogether/DoNotStarveTogether/Cluster_1
```
## cluster_token.txt
这个token需要自行去生成打开游戏后点击`账户>游戏>饥荒联机版的游戏服务器`生成一个token令牌类似于下图的字符串把它复制下来写入到cluster_token.txt中
或者
也可以复制网址https://accounts.klei.com/并打开使用你的steam账号登录后去生成token
![](https://moac.oss-cn-hangzhou.aliyuncs.com/blog-images/006_20200418210000-02769ca9db7a4c20a8a2a2eea87fe8e1_1599816802980.png)
<br/>
## Caves
打开游戏新建一个档配置好世界和mod进入游戏选人物时退出。打开你刚刚建的那个档的游戏文件文件夹名字就是cluster_x生成的档是第一个x就为1。把cluster_x中的Caves文件夹中的leveldataoverride.lua和modoverrides.lua文件复制到服务器.klei文件夹对应的Caves文件夹里并且删除掉服务器Caves里的worldgenoverride.lua文件
![](https://moac.oss-cn-hangzhou.aliyuncs.com/blog-images/004_20200418205409-f4c0a6f172164014a80879068913e684_1599816802981.png)
<br/>
## Master
与Caves文件夹类似打开cluster_x把Master中的leveldataoverride.lua和modoverrides.lua文件复制到docker容器中的Master文件夹里并且同样删除掉worldgenoverride.lua文件
![](https://moac.oss-cn-hangzhou.aliyuncs.com/blog-images/005_20200418205419-303e4d14bc5945d4adbae7924f1c8366_1599816802989.png)
<br/>
## mods
使用vim打开dedicated_server_mods_setup.lua文件再打开cluster_x中的modoverrides.lua文件把mod的标识就是那串数字按照下面图片的格式写入到dedicated_server_mods_setup.lua文件中
![](https://moac.oss-cn-hangzhou.aliyuncs.com/blog-images/002_20200418203956-b6617a3f8ac0462599088e164059d058_1599816802958.png)
<br/>
## cluster.ini
这个文件是配置专用服务器的一些基本信息
cluster_name 服务器名称
cluster_description 服务器备注
cluster_password 服务器密码
cluster_language = zh 服务器语言zh中文en英语
PVP 游戏模式是否开启PVP
max_players 房间可以容纳的人数限制
如果你不知道其它配置的作用,就不要改动,只修改上述的参数就可以了
![](https://moac.oss-cn-hangzhou.aliyuncs.com/blog-images/03_20200418204427-0ba0042626544b3d826933581f15414f_1599816803020.png)
<br/>
## 常用命令
暂停服务器
```
docker stop Cluster_1
```
重启容器(重启需要一点时间大概一分钟左右完成,可以查看日志)
```
docker restart Cluster_1
```
查看日志Ctrl+C退出
```
docker logs -f --tail 20 Cluster_1
```
备份服务器(备份路径/usr/local/klei.tar.gz)
```
tar -zcvf /usr/local/klei.tar.gz /root/.klei/
```
# 我遇到的一些问题,希望对你有帮助
1. 游戏更新或mod更新导致了一些问题重启容器就会自动更新
2. 服务器进不去或者搜不到可以尝试重启容器再尝试下
3. 发现在游戏内制作物品时皮肤无效,重启容器再试下
4. 在重启容器时查看日志发现更新进度非常缓慢可以尝试暂停容器并rm掉重新启一个容器。如果还是非常缓慢个人猜测可能是因为更新发布的游戏文件还没有同步至最近的节点可以过一段时间重试重启试下
5. 我有尝试过把本地存档迁移至服务器端,但是出现了一些奇怪的问题,"例如只听到猎狗叫声,却不出现猎狗",这个没有太想深究
6.
<a href="https://github.com/Jamesits/docker-dst-server" target="_blank">镜像原作者jamesits/dst-server </a>