使用docker搭建steam 饥荒服务器
使用docker搭建steam饥荒服务器
本教程主要是基于我在GitHub上的小项目https://github.com/LaiQE/Dont-Starve-Together-Docker-Cluster,实现了使用docker在服务器上一键搭建饥荒服务器,并支持mod。
steam上的饥荒联机受到房主网速的影响,房主网不好的时候就经常卡,手里又有一个阿里云学生机,就趁着五一休息,写了一个在Linux服务器上搭建饥荒服务器的小项目。
运行环境配置
Python3 环境配置
现在不需要python环境了,直接使用python的docker镜像作为配置脚本的运行环境。
运行makedata.sh脚本会自动拉取python镜像。
Docker环境配置
- 请根据自己的操作系统,在 Docker 官方网站选择适合的 DockerCE
- 如果是 Linux 的话,最好把自己的管理员用户添加到 Docker 用户组里,以免每次打命令都得加入 sudo,命令:
sudo usermod -aG docker $USER
- 安装
docker-compose
:如果你是 Ubuntu ,可以直接使用命令:sudo apt install docker-compose
,如果不是,请前往 Docker官方网站,并寻找自己的操作系统的安装方式 - 至此,你应该有了一个正常的 Docker 环境,如果有问题可以根据 END 区的联系方式提交
基本使用说明
步骤介绍
- Clone 项目:
git clone --depth=1 https://github.com/LaiQE/Dont-Starve-Together-Docker-Cluster.git
- 进入目录:
cd ./Dont-Starve-Together-Docker-Cluster
- 根据模板修改 user-config.yaml 文件, 关于饥荒服务器的更多配置选项根据参考资料中的第一个博客。(我们目前仅支持user-config.yaml中有的这些配置选项,其他选项要手动修改)
- 执行生成脚本:
bash makedata.sh
- 转到工作目录:
cd data
- 启动容器:
docker-compose up
- 若不想查看 Log 的话,可以在
启动容器
步骤使用:docker-compose up -d
- 更新,转到工作目录,
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 饥荒服务器相关推荐
- Linux搭建Steam饥荒服务器教程 — SteamCMD方式
每次饥荒更新服务器都会找不到的,请及时更新!! PS:服务器推荐腾讯云服务器 1核2G 1M 差不多2-3 人,不是很卡,人数变多的话,就会很卡的,100 块 看自己个人需求 一般的话 2核 4G , ...
- Linux搭建Steam饥荒服务器教程 — Linux GSM方式
LinuxGSM 是用于快速.简单地部署和管理 Linux 专用游戏服务器的命令行工具. 官网地址:https://linuxgsm.com 饥荒服务器搭建文档:https://linuxgsm.co ...
- ubuntu系统搭建steam饥荒联机服务器
Ubuntu系统搭建steam饥荒联机版服务器 大家好,本萌新这次带来Ubuntu安装steam联机服务器的教程,话不多说,直接开始. 准备工作 购买服务器可以去阿里云和腾讯云上购买,一核两G的服务器 ...
- 饥荒wegame腾讯云服务器搭建,wegame饥荒云服务器搭建(腾讯云搭建wegame饥荒服务器)...
专业服务器,是有需要有一台专业服务器为基础的,将所有的模块载入服务器在统一的一张地图玩,做到所有人都可以玩,最基础的就是你需要花钱买一个服务器再能创建! 之前一直在玩联机版的一个存档,后来东西太多了电 ...
- docker 搭建本地 coredns 服务器
coredns简介 CoreDNS是一款灵活可扩展的 DNS 服务器,并且基于插件架构,具有强大的模块化能力.其快速,简单,可扩展等特性也非常受人欢迎. CoreDNS 最初是一个单独的项目,由Mie ...
- docker搭建Coturn TURN服务器
docker搭建Coturn TURN服务器 文章目录 docker搭建Coturn TURN服务器 下载镜像 启动镜像(失败) 启动镜像(不太对) 启动镜像(搞个配置文件) 自签证书 使用配置文件 ...
- 利用docker搭建在线Markdown服务器
利用docker搭建在线Markdown服务器 [CodiMD] CentOS7服务器 1.安装docker和docker-compose 2.编写docker-compose.yml version ...
- Linux自建steam饥荒服务器教程
Linux自建steam饥荒服务器教程 上来二话不说,先来几句废话.自从购买了学生优惠的云服务器后(不要问博主哪家的云服务器比较好,我什么都不知道),感觉不用总有点浪费,所以思索着建立一个能够联机的游 ...
- steam饥荒服务器正在运行旧版本模组,Don’t Starve Together(饥荒)服务器搭建
0x00 背景 为了跟同学一起玩<饥荒>,建了一个服务器.现在网络上流传的一些配置方法已经过时完全无法使用了,我整理了一下最新的配置方法. 0x01 基本服务器配置 首先根据这篇官方文章, ...
- docker搭建私有git服务器
20210506 - 引言 使用git的时候,网的问题总是特别慢,反正本来也就是自己的东西,索性直接搭建一个私有的git服务器.搭建起来还是比较方便的.直接用docker搭建就好了. 步骤 1. 拉取 ...
最新文章
- shell脚本 转 二进制执行文件
- 旧电脑装什么系统最快_旧电脑装什么系统最好?试试Porteus,小巧强悍,直降CPU占用率!...
- C#之windows桌面软件第九课:汉字串口助手
- VS2010中重命名项目
- 树上倍增求LCA及例题
- SpringBoot使用ControllerAdvice和ExceptionHandler进行统一异常处理
- ckfinder java 源码,关于不再找java使用CKFinder的原因
- 新入职了一个卷王,天天加班12点!张口闭口就是性能优化,太让人崩溃……...
- python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
- UiAutomator2.0 和1.x 的区别
- centos开机卡进度解决方案
- php中的字符串可以当做数组调用
- Struts2 初探
- 干部身份、三方协议、派遣证(转)
- Android drawable微技巧,你所不知道的drawable的那些细节
- java五子棋的重要算法讲解_[Java五子棋小游戏-Ai算法精讲以及实现]-02--高级算法初步...
- 【翻译】使用Sencha Ext JS创建美丽的图画(1)
- Typhon升级到5.8,编译原来程序出现提示:Compilation raised exception internally
- Stata:非线性模型的交互效应
- Splash抓取jd