好物优选点击查看详情 京东购买

暂无内容

饥荒搭建云服务器综述

Note1:本文写就于2020年7月份,内容有效截止时间未知

Note2:可能算非小白向

Note3:可能省略了大量细节

饥荒搭建云服务器综述插图

文章内容:

一、全手动搭建以及管理饥荒云服务器。

二、其他半自动化搭建管理方法一览。

三、其他托管方式。

四、部分常见问题以及细节

饥荒搭建云服务器综述插图

一、全手动搭建以及管理饥荒云服务器

0.本文前置环境

两个阿里云(1核2.5GHz,2G内存,40G SSD系统盘,5M峰值带宽)分开搭建地上地下世界;均为Ubuntu18.04LTS系统。随便用什么SSH软件连接云服务器。

1.安装宝塔面板(双服务器都这么干)

这是我个人习惯,每买来一台VPS,先安装宝塔面板。(宝塔面板也有一个SSH)可以不装,但是装上可视化、修改配置、传文件、纠错方便一些。下面步骤按已有宝塔面板来讲解。装完了记住最后出现的Bt-Panelusername,password。

2.开放游戏等所需的端口(双服务器都这么干)

首先按照宝塔面板的教程,在阿里云控制台开放宝塔面板需要的端口,然后为游戏,开放TCP:10999和UDP:10999,TCP:10998和UDP:10998,TCP:10888和UDP:10888。虽然宝塔面板的安全规则只是TCP,但还是最好开放10999、10998、10888。

3.安装环境依赖(双服务器都这么干)

不管是32位系统还是64位,或者后面可能出错再安装什么依赖,统统装上。

sudo apt-get update

sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386

sudo apt-get install libstdc++6 libgcc1 libcurl4-gnutls-dev

sudo apt-get install lib32gcc1 lib32stdc++6

sudo apt-get install screen

4.安装steamcmd(双服务器都这么干)

安装各种软件的路径都可以修改,但是记得改全了,不要改完一个忘了改另外一个。

mkdir ~/steamcmd #在root下创建一个文件夹

cd ~/steamcmd #进去

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz #下载steamcmd安装包

tar -xvzf steamcmd_linux.tar.gz #解压缩

./steamcmd.sh #运行steamcmd

5.匿名登录Steam以及安装饥荒(双服务器都这么干)

这是在Steam运行的前提下

login anonymous #匿名登录

force_install_dir ../dstserver #指定安装路径

app_update 343050 validate #安装或更新饥荒

quit #退出Steam

6.试运行服务器(双服务器都这么干)

cd ~/dstserver/bin #去游戏文件夹下

./dontstarve_dedicated_server_nullrenderer #不带启动参数运行饥荒

看到类似的提示:

[200] Account Failed (6): "E_INVALID_TOKEN"

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!! Your Server Will Not Start !!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

按Ctrl+C结束运行

7.得到令牌文件和创建管理员名单(双服务器都这么干)

把复制得到的令牌放到cluster_token.txt里,管理员的KU_ID一行一个放到adminlist.txt。先放好,一会放到服务器的/root/.klei/DoNotStarveTogether/Cluster_1存档下面。保险起见,在/root/.klei/DoNotStarveTogether下也放一份。

8.创建存档或者迁移存档(双服务器都这么干)

创建存档:打开饥荒,创建世界,设定好包括MOD在内的世界设置,把文档/Klei/DoNotStarveTogether/数字文件夹/Cluster_X整个复制到服务器的/root/.klei/DoNotStarveTogether的下面,当然要提前把原有的Cluster_1删掉。X指代的是你的世界位置,创建的第几个世界X就是几,复制过去后最好都重命名为Cluster_1。

迁移存档:把文档/Klei/DoNotStarveTogether/数字文件夹/Cluster_X整个复制到服务器的/root/.klei/DoNotStarveTogether的下面,当然要提前把原有的Cluster_1删掉。X指代的是你的世界位置,创建的第几个世界X就是几,复制过去后都重命名为Cluster_1。

把第7步的令牌文件和管理员名单放到对应的位置。

9.配置或更新存档中的Mods(双服务器都这么干)

首先讲几个前置知识:

控制往你服务器上下载哪些MOD的是/root/dstserver/mods/dedicated_server_mods_setup.lua。

控制你的地上地下世界用什么MOD不用什么MOD、各个MOD配置的是/root/.klei/DoNotStarveTogether/Cluster_1/Master/modoverrides.lua和/Cluster_1/Caves/modoverrides.lua两个文件。

所以第一步,配置dedicated_server_mods_setup.lua把mods下载到服务器上。

首先在Steam创意工坊(需梯子访问)创建一个你自己的合集,把你在用和以后想用的mod添加进去。然后复制合集页面的URL,得到ID,在/root/dstserver/mods/dedicated_server_mods_setup.lua的–ServerModCollectionSetup("379114180")下面添加一行ServerModCollectionSetup("ID"),这个应该不会重置,而上面–ServerModSetup("350811795")会重置。

效果即每次启动饥荒服务器都会自动更新下载mods。

至于配置mod则不需要再动手,本地创建世界时已经配置好了,想要后续修改mod设置,需要知道mod对应的ID号,了解点lua语法,然后照葫芦画瓢修改Master和Caves/modoverrides.lua啥的。

10.分别配置两个饥荒服务器的网络设置

地上世界的/root/.klei/DoNotStarveTogether/Cluster_1/cluster.ini把bind_ip修改为bind_ip = 0.0.0.0;

地下世界的cluster.ini注释掉#bind_ip = 127.0.0.1(不注释貌似并无影响),master_ip改为master_ip = 地上服务器公网IP。

11.创建饥荒服务器启动脚本(双服务器都这么干)

Master和Caves分开启动的脚本文件

创建两个脚本文件

cd /root/dstserver/bin #去这个文件夹里

echo "./dontstarve_dedicated_server_nullrenderer -console -cluster Cluster_1 -shard Master" > master_start.sh #创建Master启动脚本

echo "./dontstarve_dedicated_server_nullrenderer -console -cluster Cluster_1 -shard Caves" > caves_start.sh #创建Caves启动脚本

分别赋予运行权限

chmod u+x ./master_start.sh

chmod u+x ./caves_start.sh

注意事项:因为我是默认路径启动的,服务器启动路径参数有些我没写,如果你修改了启动路径可以查询着写上启动参数。

12.分别正式启动或关闭饥荒地上地下服务器

screen -S dst #创建一个可以放到后台的窗口,nohup和&好像有点问题(双服务器都这么干)

cd /root/dstserver/bin #进这个文件夹(双服务器都这么干)

./master_start.sh(地上世界输入这个)./caves_start.sh(地下世界输入这个)

等到出现Sim Pause时差不多就启动好了

Ctrl+A+D将dst窗口放到后台运行(双服务器都这么干)

注:screen -r dst可以查看服务器运行反馈(查看完了记得再放回后台)

关掉SSH窗口就行了。

关闭服务器需要screen -r dst,然后c_save(),c_shutdown()

饥荒搭建云服务器综述插图

二、其他半自动化搭建管理方法一览

1. 有一个go.sh shell脚本文件可以开服以及管理服务器https://github.com/heroydx/for_download/blob/master/go.sh

2. 这是另外一个shell开服脚本https://github.com/TauWu/DST_server_config

3. 这又是一个shell开服脚本https://github.com/moonprism/installDSTserver.sh

4. 贴吧有一个云服工具https://tieba.baidu.com/p/5997047746?share=9105&fr=share&see_lz=0&sfc=copy&client_type=2&client_version=10.3.8.0&st=1564663480&unique=5DE7302&red_tag=1525416786

5. 贴吧还有一个Web开服管理面板,19年据作者说不支持Ubuntu,故没试。https://tieba.baidu.com/p/6166394484?pid=126148787014&cid=#126148787014

6. Google到一个Docker部署饥荒服务器的方法,这是作者放教程和软件的地址https://github.com/mathielo/dst-dedicated-server#dont-starve-together—dedicated-server。(可以借助宝塔面板管理Docker)

7. 这是一个写得非常详细的搭建教程https://steamcommunity.com/sharedfiles/filedetails/?id=590565473(需要梯子访问),可能有点旧了。其中包括了安排一个任务,每天早上6:00更新服务器;使用crontab,来允许在Linux上创建计划任务;以及其他回滚、重置世界的操作。

8. 这是饥荒论坛的一篇搭建、修改配置指南https://dontstarve.fandom.com/wiki/Guides/Don%E2%80%99t_Starve_Together_Dedicated_Servers

9. 这是一篇十分实用的服务器架构以及配置文件的详细说明,可据此修改双服务器为单服务器,也可据此搭建多服务器的多层世界。https://steamcommunity.com/sharedfiles/filedetails/?id=1616647350(需要梯子访问)

10. 自建服务器物理机,搞内网穿透,从性能上看一般是过剩的,长期是比较划算的,但开始比较麻烦。

饥荒搭建云服务器综述插图

三、其他托管方式

1. 英文Google饥荒服务器管理可以搜索到许多托管饥荒服务器的厂商,但多数是国外服务器地址。

2. 淘宝同样有带管理面板的类似服务,价格较为便宜,实际具体情况不了解。

饥荒搭建云服务器综述插图

四、部分常见问题以及细节

1. 可以查询端口查看服务是否启动成功:

netstat -nlp |grep :10999

netstat -nlp |grep :10998

2. 搜索不到服务器、服务器无响应可能需要更新饥荒

cd ~/steamcmd

./steamcmd.sh

login anonymous #匿名登录

force_install_dir ../dstserver #指定安装路径

app_update 343050 validate #安装或更新饥荒

quit #退出Steam

3. 什么房间都搜索不到就在游戏控制台中输入c_connect("地上公网IP",10999,"密码")

没有密码就输入c_connect("地上公网IP",10999)

4. 网络原因mod自动下载更新失败可以在本地下载好,在游戏里面更新、应用后,把对应ID号的mod文件夹复制到双服务器上

5. 提示更新mod就关闭饥荒服务器,再重新按照步骤打开就行了。

6. 长时间没使用的令牌token可能存在问题,删掉后重新申请一个。

7. 服务器的密码名字人数上限什么的在Cluster_X的cluster.ini中修改,地上地下的世界设定动植物、灾难什么的在Master或Caves的leveldataoverride.lua中修改。

8. 可以根据需要自行修改开源的那些开服脚本,没有太复杂的逻辑。

五、参考文献

太多了,统统来源网络。

原文链接:https://www.bilibili.com/read/cv6767832/

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享