饥荒官方服务器经常无法连接,无法和小伙伴玩耍;如何搭建自己的饥荒服务器呢?和小伙伴随时随地,快乐联机。

前言

饥荒这个游戏,虽然首发于2016年,但是贵在好玩呀。和Minecraft一样,可玩性很高,并且有很多mods,最近和小伙伴玩的过程中,就想着搭建一个服务器,方便在主机玩家不在线时候,也可以让其他玩家自由玩耍。

准备工具

目前,Don’t Starve的服务器自建,支持Linux Server和Windows Server服务器,这两个就要看自己的取舍了:理论上,Windows Server更容易上手,毕竟大多数人的操作系统是Windows,但是对资源的浪费很大,举个例子:一台2C 4G的服务器,Windows Server可能系统占用1G内存,而Linux才占100M不到。

不过,本文Linux和Windows Server上如何搭建Don’t Starve都会讲哦,大家不用担心。但是还是以Windows Server为主,照顾小白用户。

如果你并没有服务器设备,需要一个购买/租借,强烈推荐学生用户:

  • 腾讯云轻量应用服务器学生优惠:https://curl.mintimate.cn/1qGM1PQc8Di

另外,为大家争取到优惠*(੭ˊᵕˋ)੭ଘ,本站专属优惠~~(可能比学生优惠还优惠哦~):

  • 本站专属腾讯云秒杀链接(可低价购买轻量应用服务器):https://curl.mintimate.cn/1qF42bNhUll

经过测试,一台2C 4G 6M配置腾讯云轻量应用服务器,可以流畅运行Don’t Starve,且在6个人游玩时,带宽足够(没有更多小伙伴可以来测试了(・_・;

辅助视频

嘿嘿,做教程视频不易(B站根本不会推荐引流),请务必一键三连嗷~

  • B站视频地址:https://www.bilibili.com/video/BV1LB4y1v7n3
  • 腾讯云社区:https://cloud.tencent.com/developer/video/31976

教程同步

本文同步发布于:

  • Mintimate’s Blog:https://www.mintimate.cn/2022/07/09/DontStarve/

服务器初始化

以腾讯云服轻量应用服务器Lighthouse为例,如果你购买的是Linux服务器(Debian、Ubuntu或CentOS等Linux发行版本服务器),如果想快速初始化,可以按本文章搭建宝塔服务器进行快速初始化。

如果你购买的是Windows Server(Windows Server2019、Windows Server 2022)。我们购买服务器后,切换到腾讯云服务器后台,重制我们的Administrator用户密码:

本地为macOS

因为后续我们需要上传本地饥荒客户端的配置给服务器使用,所以我们可以使用远程桌面的应用,比如:macOS使用Microsoft Remote Desktop(提取码:6146)

并且创建一个共享的文件夹,用来文件交互:


本地为Windows

使用Windows自带的远程:鼠标右击开始菜单>>运行,输入mstsc命令,打升远程桌面对话框:

打开高级选项:

并且,对本地文件夹进行映射:

SteamCMD

本章节目录,所有操作在Windows Server内操作,不是本地Windows,特此提醒

在Windows Server上,浏览器下载Steam CMD
之后,注意⚠️:一定要解压到空文件夹、一定要解压到空文件夹,不要没解压就直接在ZIP内使用SteamCMD!!!

最后,我们双击SteamCMD,开始初始化:

显示为Steam>,这个时候就是SteamCMD的交互模式,说明初始化完成了,在等待我们进行指令交互了:

同步饥荒服务器

本章节目录,所有操作在Windows Server内操作,不是本地Windows,特此提醒

现在,我们需要使用SteamCMD,同步饥荒服务器原始文件到我们本地,很简单,在SteamCMD的交互模式下输入:

login anonymous

饥荒的服务器,并不需要我们登录就可以直接下载

如果出现连接超时:

就重新输入login anonymous进行登录一次,最后成功匿名登录结果:

最后,我们这个时候再同步饥荒服务器:

app_update 343050 validate

饥荒服务器的appid是343050

可以看到,最后成功,我们饥荒服务器同步就完成了,打开SteamCMD的相对路径steamapps\common\Don't Starve Together Dedicated Server就是我们的饥荒服务器。

这个时候,我们SteamCMD的“黑窗”就可以关闭了

饥荒服务器初始化

本章节目录,所有操作在Windows Server内操作,不是本地Windows,特此提醒。
并且,当前在steamapps\common\Don't Starve Together Dedicated Server目录内,以下相对路径需要注意

现在,我们开始饥荒服务器的初始化。进入配置文件地址bin\scripts,有这个执行文件,内容包含:

# 启动世界
start "Don't Starve Together Overworld" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -conf_dir DoNotStarveTogether_EasyConfigOverworld -console
# 启动洞穴
start "Don't Starve Together Caves"     /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -conf_dir DoNotStarveTogether_EasyConfigCaves -console

直接双击这个执行文件,是不能启动成功的:

这个主要是:

  • 没有服务器配置文件
  • 没有Auth Token(账户认证Token)

所以,服务器只是简单校验服务器后,就停止了。现在我们需要补全配置文件和Auth Token。

同步配置文件

同步配置文件的方法很简单。首先,本地的饥荒服务器创建一个存档(当然,可以把洞穴生成也选中):

创建成功后,我们断开连接,并在首页选择数据

打开后,Cluster_X就是存档存放的文件(比如:Cluster_1),这里的X对应你在游戏中按顺序创建的第X个存档。(请注意, X 是数字从小到大, 有空余则填充这样一个逻辑, 所以 新创建的存档并不一定是数字序最大的存档, 请查看文档修改时间选择对应存档):

将其复制到共享文件夹内,共享给我们的Windows Server:

最后,服务器上打开C:\Users\Administrator\Documents\Klei文件夹,因为现在饥荒的本地客户端洞穴和主世界文件创建在一起,所以为了服务器和本地方便管理,我们创建一个myDoNotStarveTogetherData文件夹,并把刚刚的存档文件放入其中:

同时,修改上文说到的配置文件,有这个执行文件,如果你和我一样,就改成这样即可:

start "Don't Starve Together Overworld" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -conf_dir myDoNotStarveTogetherData -console
start "Don't Starve Together Caves"     /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -conf_dir myDoNotStarveTogetherData

Auth Token

最后,我们需要写入Auth Token,首先去获取,在客户端内,点击账户(可能需要回到上级并注册账户):

之后,选择游戏

并且创建游戏后,得到游戏服务器Token,比如:

我们复制Token后,在服务器上刚刚创建的地图文件夹内创建一个叫cluster_token.txt的文件,并粘贴Token保存:

到此,Auth Token就创建完成了。

启动服务器

现在,再次点击执行文件,就可以创建服务器成功了。如果出现 CURL ERROR: (dst.metrics.klei.com) [28]Connection timed out after 5000 milliseconds这样的问题。可以看看Q&A内的解决方案。

最后成功运行服务器:

服务器防火墙

现在,我们需要对服务器防火墙进行放行。本着用那个端口就放行那个的原则,根据上文上次地图文件内的cluster.ini内的master_port进行放行,同时放10999端口:

比如:

  • 我的master_port是10888

所以,在腾讯云的后台放行UDP:

之后,就可以服务器连接了(可能需要重启一次饥荒服务器)。

本地连接

本章节目录,所有操作在本地Windows内操作,不是服务器Windows Server了哦,特此提醒。

打开本地的饥荒联机版,选择浏览游戏

之后,进行过滤:

在之后,选择进入即可,第一次加载,可能会极其缓慢。

加载完成:

添加mod

饥荒服务器添加mod就太简单了(相当于Minecraft添加mod,经常会出现各种冲突问题……)

添加mod的方法很很简单;首先,我们在本地配置好mod,之后上传到服务器运行。这个时候把Master(或者Caves)内的modoverrides.lua内mod,按照:

ServerModSetup("666155465")

这样的格式,追加到饥荒游戏服务器下的mods/dedicated_server_mods_setup.lua内即可(一行一个):

Linux如何搭建

考虑到普通用户用Windows比较多,所以文章使用Windows Server进行主要演示,这里简单演示一下Linux Server上如何进行操作。

Linux服务器,我也推荐使用腾讯云轻量应用服务器,推荐使用Debian或Ubuntu发行版本,不推荐使用CentOS发行版本。(使用CentOS,可能会缺少i386依赖库,导致饥荒服务器无法初始化运行)。

如果你并没有服务器设备,需要一个购买/租借,强烈推荐:

  • 本站专属腾讯云秒杀链接(可低价购买轻量应用服务器)

首先,我们还是使用SteamCMD去同步饥荒服务器,但是观察SteamCMD官方文档,SteamCMD需要用一个叫steam的用户,在“家”目录下的steam内操作。所以,我们提前创建:

# 创建一个用户叫steam
sudo useradd -m steam
# 给steam重置密码
sudo passwd steam

另外,steamcmd需要依赖包:

# Ubuntu/Debian
sudo apt-get install lib32gcc1
# CentOS
yum install glibc.i686 libstdc++.i686

初始化与拉取

下载SteamCMD并安装:

# 切换为steam用户
su - steam
# 创建steam目录
mkdir ~/Steam && cd ~/Steam
# 下载SteamCMD并解压
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
# 运行steamcmd
./steamcmd.sh

如图:

Steam开头时,就是进入SteamCMD的交互模式了,我们使用:

login anonymous

即可匿名登录:

之后,进行饥荒服务器的拉取:

app_update 343050 validate


拉取成功:

最后,看了一下目录,就和Windows Server一模一样了,实际上的配置也是一样的:

初始化定制

但是,如果要启动,建议的配置是,首先创建一个地图配置目录:

# 当前是steam用户
mkdir /home/steam/myDoNotStarveTogetherData

之后,创建地图启动脚本:

# 当前是steam用户
cd /home/steam/Steam/steamapps/common/Don't Starve\ Together\ Dedicated\ Server/bin
echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam -conf_dir myDoNotStarveTogetherData -cluster World1 -shard Master" > master_start.shecho "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam -conf_dir myDoNotStarveTogetherData -cluster World1 -shard Caves" > cave_start.shchmod +x master_start.sh cave_start.sh

之后,运行即可:

# 当前在饥荒目录内的bin文件夹下
## 启动主世界
./master_start.sh
## 启动洞穴
./cave_start.sh

注意:启动过程中,需要保持交互模式,配合screen来后台运行饥荒洞穴和主世界。

i386支持问题

在Debian/Ubuntu上如果出现./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
或者./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

一般是因为你服务器是X86_X64的,你需要开启i386支持,并添加i386版本的libcurl-gnutls.so.4到其包内。切换到root用户运行:

# 开启支持
sudo dpkg --add-architecture i386
# 更新软件
sudo apt update
# 下载更新源
sudo apt-get dist-upgrade

之后,安装i386的库:

sudo apt install libcurl4-gnutls-dev:i386


之后,软连接到饥荒服务器内:

ln -s /usr/lib/i386-linux-gnu/libcurl-gnutls.so.4 /home/steam/Steam/steamapps/common/Don\'t\ Starve\ Together\ Dedicated\ Server/bin/lib32/libcurl-gnutls.so.4


同理,配置i386版本的libstdc++.so.6

sudo apt install libstdc++6:i386
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /home/steam/Steam/steamapps/common/Don\'t\ Starve\ Together\ Dedicated\ Server/bin/lib32/libstdc++.so.6

之后,就可以正常启动服务器了。正常会启动失败啦,不过已经可以运行了:

并且,我们设置的地图目录也成功出现地图配置目录:

后续想启动成功,跟着Windows Server上的教程,配置同步配置文件Auth Token就可以正常启动了(当然,还有服务器端口记得放哦)。记得配合screen来后台运行饥荒洞穴和主世界。

Q&A

CURL ERROR

服务器没有开启成功,查看日志发现是没有连接Klei服务器,出现错误:

CURL ERROR: (dst.metrics.klei.com) [28]Connection timed out after 5000 milliseconds

解决方法很简单,我们可以修改host,使其能够解析dst.metrics.klei.com这个域名到IP。服务器上,浏览器打开:

  • https://www.ipaddress.com/

并点击Go To Homepage后,将dst.metrics.klei.com放上去解析得到IP:

比如,我这里得到的是:3.230.203.39

之后,文件浏览内打开地址:C:\Windows\System32\drivers\etc\hosts,使用记事本打开:

在文末最加:

3.230.203.39 dst.metrics.klei.com

不要直接抄我的,每个人服务器可以连接的IP不一样,强烈建议按上述方法,自己解析IP。

之后,保存并退出即可。之后,重新运行bat执行文件即可。如果还是不行,就切换其他Host啦。

如何服务器迁移

服务器迁移其实很简单,把上次的存档打包即可:

如何更新饥荒服务器

更新饥荒服务端其实很简单。不过,更新饥荒前:

  • 退出饥荒进程,也就是关闭cmd的“黑窗”。
  • 建议先备份服务器存档,避免更新失败,存档损坏。

总的来说,就是重复同步饥荒服务器的过程,比如我回到SteamCMD目录,以此重新执行:

login anonymous
app_update 343050 validate

即可更新成功。

修改配置不生效

修改服务器配置,如:允许传送等配置。但是客户端查看服务器却没有生效,可以排查:

  • 修改配置后,服务器上饥荒服务器需要重新启动;
  • 配置可能填错了。

END

到此,饥荒服务器的搭建流程就结束了嗷,有问题可以留言哦~~

(*☻-☻*)~~

零基础搭建自己的饥荒Don‘t Starve服务器,摆脱联机卡顿和小伙伴快乐联机相关推荐

  1. 新手小白零基础搭建个人博客(一)服务器篇

    搭建博客,第一步肯定就是要准备一个服务器了,除非你找到别人帮你代挂,这里给大家推荐阿里云的服务器.如果不想花钱,也可以使用Github进行代码托管,但是GitHub是国外服务器,读取速度肯定不如阿里云 ...

  2. 搭建自己的饥荒Don‘t Starve服务器-饥荒Don‘t Starve开服教程

    前言 饥荒这个游戏,虽然首发于2016年,但是贵在好玩呀.和Minecraft一样,可玩性很高,并且有很多mods,最近和小伙伴玩的过程中,就想着搭建一个服务器,方便在主机玩家不在线时候,也可以让其他 ...

  3. app后台运行会给服务器发信息吗_零基础搭建电视直播APP平台第一弹(支持安卓+电视盒子)...

    大家好 , 我是阿尘,欢迎来到:极梦小屋. 由于公众号改版,建议大家 星标置顶 本公众号,就可以第一时间接收到我们所推荐的精品资源啦! 为了大家更方便的交流和可以不错过每天的分享,所以特意建了一个交流 ...

  4. 最新最全vuepress零基础搭建(github搭建+新增插件)

    最新最全vuepress零基础搭建 标注:最终版以及修改最终都在www.javanode.cn是最终版本,在学习中需要修改的内容以及笔记全在这个网站,谢谢!有任何不妥的地方望纠正 看完了,发现对你有用 ...

  5. 【Workshshop No.3 | Kyligence X 青云QingCloud Workshop】零基础搭建云上大数据平台

    7月13日Kyligence 与青云QingCloud 联合举办的"零基础搭建云上大数据平台" Workshop诚邀您参加. Kyligence Cloud 是 Kyligence ...

  6. 局部配置和全局配置_06. 教你零基础搭建小程序(解读全局配置文件-tabBar字段)...

    自从开始在知乎上发教程后,发现一个事情啊, 大家对于我写的教程,都在偷偷地收藏~~ 但是, 却没有银点赞~ 知乎这个平台吧,点赞的分量比收藏更大, 这里也不是要赞(我知道自己还能做的更好), 只是希望 ...

  7. apk安装到电视上看不到图标_零基础搭建电视直播APP平台第二弹(修改APP)

    大家好 , 我是阿尘,欢迎来到:极梦小屋. 由于公众号改版,建议大家 星标置顶 本公众号,就可以第一时间接收到我们所推荐的精品资源啦! 为了大家更方便的交流和可以不错过每天的分享,所以特意建了一个交流 ...

  8. 零基础搭建获利的外卖cps平台公众号

    1 .前言 很多小伙伴想做外卖CPS赚钱,那给大家做一起超详细的外卖CPS教程.话不多说,直接上货 为什么说能赚钱?例如你有一千个好友(四,五个微信群),如果每个人一天吃一顿外卖20块,你拿5% 10 ...

  9. php 上传apk包到cdn_零基础搭建自己的博客网站和配置CDN设置wordpress篇

    零基础搭建自己的博客网站 博客类的建站程序有很多例如wordpress. typecho.zblog.emlog等等这几种是最常见的 平时我们用的见的更多的都是wordpress,因为wordpres ...

  10. 零基础搭建基于知识图谱的电影问答系统

    零基础搭建基于知识图谱的电影问答系统 一.项目准备 二.项目数据 三.训练问题分类器 四.准备问答模板 五.搭建webapp 六.问题预处理 一.项目准备 首先需要一款python编译器,本人选用的是 ...

最新文章

  1. Word中以交叉引用的方式插入参考文献
  2. RIP(Routing Information Protocol)精析04
  3. 基于jQuery带图标的多级下拉菜单
  4. Quick Audience组织和工作空间功能解读
  5. 杭电2502--月之数
  6. C++设计模式之桥接模式
  7. Android studio 的快捷键 MAC 和Win版本
  8. allegro标注尺寸设置_标注新升级 | SOLIDWORKS 2020新功能揭秘
  9. 从/etc/inetd.conf学习服务(4)
  10. solr5 导入oracle,Solr7使用Oracle数据源导入+中文分词
  11. 驱动开发专家解读《寒江独钓——Windows内核安全编程》
  12. lg空调代码大全解决_LG空调故障代码大全-kg空调维修-lg空调维修手册
  13. 金蝶专业版过账提示运行时错误5_金蝶KIS专业版常见故障及解决办法
  14. Markdown入门指南 --写博客,word必备技术
  15. 万兆单模模块_万兆(10G SFP+)单模光模块的介绍及应用
  16. window 下使用typo3 neos 和 flows
  17. 各大媒体优劣对比_各大自媒体平台优缺点对比
  18. bugku-web-source
  19. c51语言语句 指令集,关于 NOP 指令 汇编
  20. Element表单验证规则

热门文章

  1. 李帅燕山大学计算机,燕山大学第二十三届学生会复试结果
  2. python爬虫文字加密_涉及字体加密的爬虫分析
  3. sdnu oj 1357.Text Reverse 字符串
  4. 【cvpr2020】Referring Image Segmentation via Cross-Modal Progressive Comprehension
  5. 从0开始:win10系统下基于V831的目标检测
  6. 最难学的七大编程语言,VB 第一,Python垫底,看你学的排第几
  7. iOS IPv6测试环境搭建及服务器ipv6测试
  8. win7声音小图标不见了,如何修复
  9. 金色传说:SAP-PPDS-SAPAPO/RRP3增强:控制界面需求数量字段修改后检查增强/用户事件USERCOMMAND响应增强
  10. C#实现程序一次打开两个窗口,两个窗口分别放置在两个屏幕