使用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. 程序员的工资VS普通人的工资...
  2. linux下安装ftp服务器
  3. php地理位置辐射范围,基于路网距离的城市辐射范围确定方法
  4. android 获取图片主色调
  5. 苹果屏幕一半失灵一半好的_佛说:一半一半(写的真好!)
  6. 自学机器学习_我用来自学机器学习的最佳资源
  7. window对象(一) 计时器 定位导航 url解析 浏览历史 对话框 消息推送
  8. 关于为什么说OLTP必须要求变量绑定而OLAP不应该绑定变量的原因
  9. 从零开始学 Web 之 JS 高级(二)原型链,原型的继承
  10. DC guide ---3
  11. 夜曲编程python_python入门‼️夜曲编程‼️
  12. 如何删除双系统中的ubuntu系统
  13. 疯狂的程序员 41-50
  14. 计算机表格复制粘贴,在Excel同一个工作表中,如何复制表格格式(excel表格粘贴复制技巧)...
  15. linux用shell奇数打印星号,shell 打印偶数行-奇数行 ,打印行号
  16. java集合源码分析
  17. 深刻理解Linux进程间通信(IPC)
  18. JavaWeb 修炼之路(五)服务器中的请求和响应
  19. LVS专题-(3) 虚拟ip理解
  20. 使用adb命令将手机和至电脑上的文件互传

热门文章

  1. ODAC for delphi 安装
  2. CentOS加入Windows域
  3. 介绍ImageOptim图片处理软件
  4. 远景html制造机模板,台式机ALC892制作仿冒appleHDA的教程,前置MIC自动检测。
  5. DVWA安装教程(懂你的不懂·详细)
  6. 大数据预测实战-随机森林预测实战(二)-随机森林回归模型
  7. Python eval 函数使用报错 name 'false' is not defined 已解决
  8. C语言运算符优先级表详解
  9. 项目管理-PMP-第4章 项目范围管理
  10. 三维点云数据处理软件供技术原理说明_三维点云数据获取方法及获取系统与流程...