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

4.5 KiB
Raw Blame History

title date updated url categories tags
Docker搭建DST饥荒游戏专用服务器 2021-07-15 10:14:59.049 2023-06-16 22:22:42.255 /archives/dstfordocker
Docker
Docker

几个云大厂新用户活动白嫖了几个轻量服务器哈哈Github上看到有人做了游戏服务器镜像非常方便拿过来run一下记录一下搭建过程写的比较简洁适合对Linux有一点点了解或者爱折腾的同学

当前环境为Ubuntu18.041核2G阿里云ECS

拉取镜像

拉取镜像

docker pull jamesits/dst-server

启动容器

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


Caves

打开游戏新建一个档配置好世界和mod进入游戏选人物时退出。打开你刚刚建的那个档的游戏文件文件夹名字就是cluster_x生成的档是第一个x就为1。把cluster_x中的Caves文件夹中的leveldataoverride.lua和modoverrides.lua文件复制到服务器.klei文件夹对应的Caves文件夹里并且删除掉服务器Caves里的worldgenoverride.lua文件


Master

与Caves文件夹类似打开cluster_x把Master中的leveldataoverride.lua和modoverrides.lua文件复制到docker容器中的Master文件夹里并且同样删除掉worldgenoverride.lua文件


mods

使用vim打开dedicated_server_mods_setup.lua文件再打开cluster_x中的modoverrides.lua文件把mod的标识就是那串数字按照下面图片的格式写入到dedicated_server_mods_setup.lua文件中


cluster.ini

这个文件是配置专用服务器的一些基本信息 cluster_name 服务器名称 cluster_description 服务器备注 cluster_password 服务器密码 cluster_language = zh 服务器语言zh中文en英语 PVP 游戏模式是否开启PVP max_players 房间可以容纳的人数限制 如果你不知道其它配置的作用,就不要改动,只修改上述的参数就可以了


常用命令

暂停服务器

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. 我有尝试过把本地存档迁移至服务器端,但是出现了一些奇怪的问题,"例如只听到猎狗叫声,却不出现猎狗",这个没有太想深究

镜像原作者jamesits/dst-server