搭建自己的饥荒Don't Starve服务器,摆脱联机卡顿和小伙伴快乐联机

您所在的位置:网站首页 windows搭建kms本地服务器 搭建自己的饥荒Don't Starve服务器,摆脱联机卡顿和小伙伴快乐联机

搭建自己的饥荒Don't Starve服务器,摆脱联机卡顿和小伙伴快乐联机

2023-05-31 07:34| 来源: 网络整理| 查看: 265

搭建自己的饥荒Don't Starve服务器,摆脱联机卡顿和小伙伴快乐联机

本文最后更新于:2022年7月31日 下午

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

前言

饥荒这个游戏,虽然首发于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为主,照顾小白用户。

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

腾讯云轻量应用服务器学生优惠

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

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

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

辅助视频

嘿嘿,做教程视频不易(B站根本不会推荐引流),请务必一键三连嗷~B站视频地址:https://www.bilibili.com/video/BV1LB4y1v7n3

关于付费

首先,明确说明,小白用户完全可以看此篇文章后,自己搭建。

迫于生计:

接受付费远程帮忙搭建:博客协助端口(方式) 接受爱发电捐赠:@Mintimate

感谢所有捐赠用户⁄(⁄ ⁄ ⁄ω⁄ ⁄ ⁄)⁄

服务器初始化

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

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

之后,就可以远程连接服务器。你可以使用腾讯云的WebRDP(远程桌面):VNC远程

本地为macOS

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

并且创建一个共享的文件夹,用来文件交互:设置本地交互目录远程后效果进入文件夹

本地为Windows

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

打开高级选项:设置高级

并且,对本地文件夹进行映射:设置本地交互目录远程后效果进入文件夹

SteamCMD

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

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

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

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

同步饥荒服务器

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

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

1login anonymous

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

匿名登录

如果出现连接超时:连接超时操作就重新输入login anonymous进行登录一次,最后成功匿名登录结果:连接成功

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

1app_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,有这个执行文件,内容包含:启动文件

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

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

这个主要是:

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

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

同步配置文件

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

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

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

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

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

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

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

修改执行文件

Auth Token

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

之后,选择游戏:选择饥荒服务器

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

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

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

启动服务器

现在,再次点击执行文件,就可以创建服务器成功了。如果出现 CURL ERROR: (dstrics.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,按照:

1ServerModSetup("666155465")

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

Linux如何搭建

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

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

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

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

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

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

另外,steamcmd需要依赖包:

1234# Ubuntu/Debiansudo apt-get install lib32gcc1# CentOSyum install glibc.i686 libstdc++.i686 初始化与拉取

下载SteamCMD并安装:

12345678# 切换为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

如图:安装运行SteamCMD

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

1login anonymous

即可匿名登录:安装运行SteamCMD

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

1app_update 343050 validate

拉取饥荒服务器拉取成功:拉取饥荒服务器成功

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

初始化定制

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

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

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

1234567# 当前是steam用户cd /home/steam/Steam/steamapps/common/Don't Starve\ Together\ Dedicated\ Server/binecho "./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

之后,运行即可:

12345# 当前在饥荒目录内的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用户运行:

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

之后,安装i386的库:

1sudo apt install libcurl4-gnutls-dev:i386

安装过程之后,软连接到饥荒服务器内:

1ln -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:

12sudo apt install libstdc++6:i386ln -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&ACURL ERROR

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

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

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

https://www.ipaddress.com/

并点击Go To Homepage后,将dstrics.klei.com放上去解析得到IP:得到IP比如,我这里得到的是:3.230.203.39。

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

13.230.203.39 dstrics.klei.com

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

追加hosts文件

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

如何服务器迁移

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

如何更新饥荒服务器

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

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

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

12login anonymousapp_update 343050 validate

即可更新成功。

修改配置不生效

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

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

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

(*☻-☻*)~~

若对文章很感兴趣,可以B站关注我ヾ(≧▽≦*)o

点此跳转“爱发电”页面(○` 3′○)

Server 服务器 饥荒服务器搭建

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

基于Redis的Bitmap位图配合前端组件实现用户签到功能 上一篇 详解Linux宝塔面板,轻松管理和使用Linux服务器,助力零基础使用Linux 下一篇


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3