使用docker搭建steam饥荒服务器

本教程主要是基于我在GitHub上的小项目https://github.com/LaiQE/Dont-Starve-Together-Docker-Cluster,实现了使用docker在服务器上一键搭建饥荒服务器,并支持mod。
steam上的饥荒联机受到房主网速的影响,房主网不好的时候就经常卡,手里又有一个阿里云学生机,就趁着五一休息,写了一个在Linux服务器上搭建饥荒服务器的小项目。

运行环境配置

Python3 环境配置

现在不需要python环境了,直接使用python的docker镜像作为配置脚本的运行环境。
运行makedata.sh脚本会自动拉取python镜像。

Docker环境配置

  1. 请根据自己的操作系统,在 Docker 官方网站选择适合的 DockerCE
  2. 如果是 Linux 的话,最好把自己的管理员用户添加到 Docker 用户组里,以免每次打命令都得加入 sudo,命令:sudo usermod -aG docker $USER
  3. 安装 docker-compose :如果你是 Ubuntu ,可以直接使用命令:sudo apt install docker-compose,如果不是,请前往 Docker官方网站,并寻找自己的操作系统的安装方式
  4. 至此,你应该有了一个正常的 Docker 环境,如果有问题可以根据 END 区的联系方式提交

基本使用说明

步骤介绍

  1. Clone 项目:git clone --depth=1 https://github.com/LaiQE/Dont-Starve-Together-Docker-Cluster.git
  2. 进入目录:cd ./Dont-Starve-Together-Docker-Cluster
  3. 根据模板修改 user-config.yaml 文件, 关于饥荒服务器的更多配置选项根据参考资料中的第一个博客。(我们目前仅支持user-config.yaml中有的这些配置选项,其他选项要手动修改)
  4. 执行生成脚本:bash makedata.sh
  5. 转到工作目录:cd data
  6. 启动容器:docker-compose up
  7. 若不想查看 Log 的话,可以在启动容器步骤使用:docker-compose up -d
  8. 更新,转到工作目录, docker-compose stop , 然后 docker-compose up -d

token和userID的获取

userID

打开饥荒联机版的客户端,进入游戏,点击位于右下角的账号按钮,进入浏览器,记录用户 ID 值。

token

在上一步的网页中,点击导航栏的 游戏 ,再点击 DST 的 服务器,进入页面后添加新服务器并记录内容。

一套带走

git clone https://github.com/LaiQE/Dont-Starve-Together-Docker-Cluster.git
cd ./Dont-Starve-Together-Docker-Cluster
# 修改配置文件 user-config.yaml
bash makedata.sh
cd ./data
docker-compose up

运行状况

  • 镜像大约 580m,包括底层 Ubuntu 镜像的话大约 1G
  • 大概每个实例(带洞穴的)占内存1G左右,CPU似乎不怎么占用
  • 存档在生成的 data/名字/Master/save 里面,要备份的话,请用 chown 到自己的用户名,再进行备份
  • Mod的话请查看 ./template/dedicated_server_mods_setup.lua 文件,有具体说明,建议 PC 机先建立一个世界,再把 Mod 配置好,最后再复制到对应位置( dedicated_server_mods_setup.lua 文件需要自行整理)

更新说明

原始仓库为Thoxvi/Dont-Starve-Together-Docker-Cluster,但是原作者不更新了,趁着五一放假改了一波源代码,在原版基础上新增或修改的内容有:

  • 使用可读性更好的yaml脚本作为配置文件,并且可以支持在一个配置脚本中修改更多的常用配置(具体支持修改的配置参考user-config.yaml的注释)
  • 使用docker的python环境来执行配置生成脚本,现在不需要本地的python环境了
  • 现在支持开启或者关闭洞穴,以便于在内存较小的服务器上运行
  • 现在可以在配置文件中一键配置需要的mod
  • 更新代码逻辑,便于进一步更新

尚不支持的内容

  • 现在还没有支持端口的自定义配置,可能导致无法在一台主机上开启多个饥荒服务器(有待测试)
  • 现在还不支持一些不常见的配置,需要在生产data文件夹后手动修改配置文件
  • 现在还不支持洞穴和地面分开配置
  • 现在还不支持在暂停游戏时修改配置

参考资料

https://github.com/Thoxvi/Dont-Starve-Together-Docker-Cluster
https://blog.csdn.net/szhiy/article/details/79996017
https://blog.csdn.net/qq_35543890/article/details/81257937
https://dontstarve.fandom.com/wiki/Guides/Don%E2%80%99t_Starve_Together_Dedicated_Servers#Mods

使用docker搭建steam 饥荒服务器相关推荐

  1. Linux搭建Steam饥荒服务器教程 — SteamCMD方式

    每次饥荒更新服务器都会找不到的,请及时更新!! PS:服务器推荐腾讯云服务器 1核2G 1M 差不多2-3 人,不是很卡,人数变多的话,就会很卡的,100 块 看自己个人需求 一般的话 2核 4G , ...

  2. Linux搭建Steam饥荒服务器教程 — Linux GSM方式

    LinuxGSM 是用于快速.简单地部署和管理 Linux 专用游戏服务器的命令行工具. 官网地址:https://linuxgsm.com 饥荒服务器搭建文档:https://linuxgsm.co ...

  3. ubuntu系统搭建steam饥荒联机服务器

    Ubuntu系统搭建steam饥荒联机版服务器 大家好,本萌新这次带来Ubuntu安装steam联机服务器的教程,话不多说,直接开始. 准备工作 购买服务器可以去阿里云和腾讯云上购买,一核两G的服务器 ...

  4. 饥荒wegame腾讯云服务器搭建,wegame饥荒云服务器搭建(腾讯云搭建wegame饥荒服务器)...

    专业服务器,是有需要有一台专业服务器为基础的,将所有的模块载入服务器在统一的一张地图玩,做到所有人都可以玩,最基础的就是你需要花钱买一个服务器再能创建! 之前一直在玩联机版的一个存档,后来东西太多了电 ...

  5. docker 搭建本地 coredns 服务器

    coredns简介 CoreDNS是一款灵活可扩展的 DNS 服务器,并且基于插件架构,具有强大的模块化能力.其快速,简单,可扩展等特性也非常受人欢迎. CoreDNS 最初是一个单独的项目,由Mie ...

  6. docker搭建Coturn TURN服务器

    docker搭建Coturn TURN服务器 文章目录 docker搭建Coturn TURN服务器 下载镜像 启动镜像(失败) 启动镜像(不太对) 启动镜像(搞个配置文件) 自签证书 使用配置文件 ...

  7. 利用docker搭建在线Markdown服务器

    利用docker搭建在线Markdown服务器 [CodiMD] CentOS7服务器 1.安装docker和docker-compose 2.编写docker-compose.yml version ...

  8. Linux自建steam饥荒服务器教程

    Linux自建steam饥荒服务器教程 上来二话不说,先来几句废话.自从购买了学生优惠的云服务器后(不要问博主哪家的云服务器比较好,我什么都不知道),感觉不用总有点浪费,所以思索着建立一个能够联机的游 ...

  9. steam饥荒服务器正在运行旧版本模组,Don’t Starve Together(饥荒)服务器搭建

    0x00 背景 为了跟同学一起玩<饥荒>,建了一个服务器.现在网络上流传的一些配置方法已经过时完全无法使用了,我整理了一下最新的配置方法. 0x01 基本服务器配置 首先根据这篇官方文章, ...

  10. docker搭建私有git服务器

    20210506 - 引言 使用git的时候,网的问题总是特别慢,反正本来也就是自己的东西,索性直接搭建一个私有的git服务器.搭建起来还是比较方便的.直接用docker搭建就好了. 步骤 1. 拉取 ...

最新文章

  1. shell脚本 转 二进制执行文件
  2. 旧电脑装什么系统最快_旧电脑装什么系统最好?试试Porteus,小巧强悍,直降CPU占用率!...
  3. C#之windows桌面软件第九课:汉字串口助手
  4. VS2010中重命名项目
  5. 树上倍增求LCA及例题
  6. SpringBoot使用ControllerAdvice和ExceptionHandler进行统一异常处理
  7. ckfinder java 源码,关于不再找java使用CKFinder的原因
  8. 新入职了一个卷王,天天加班12点!张口闭口就是性能优化,太让人崩溃……...
  9. python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
  10. UiAutomator2.0 和1.x 的区别
  11. centos开机卡进度解决方案
  12. php中的字符串可以当做数组调用
  13. Struts2 初探
  14. 干部身份、三方协议、派遣证(转)
  15. Android drawable微技巧,你所不知道的drawable的那些细节
  16. java五子棋的重要算法讲解_[Java五子棋小游戏-Ai算法精讲以及实现]-02--高级算法初步...
  17. 【翻译】使用Sencha Ext JS创建美丽的图画(1)
  18. Typhon升级到5.8,编译原来程序出现提示:Compilation raised exception internally
  19. Stata:非线性模型的交互效应
  20. Splash抓取jd

热门文章

  1. 云心html mac,萤石云视频Mac版
  2. c# tcpclient 连接超时的设置
  3. Redis云管理平台CacheCloud
  4. XJOI 9291 Hello OI
  5. 控制机械手叫什么_机械手控制系统?
  6. JavaScript格式化日期和时间
  7. 青春散场,永远的天王!
  8. C语言面试题汇总(持续更)
  9. 各类任务的数据集大数据库
  10. 【CentOS】scala安装