unbunt 20.04.3搭建饥荒服务器
1. 前言
昨天和朋友一起在游玩了饥荒这个游戏,感觉十分不错,适合养老游玩,但是联机模式就意味着有人要做服务器,我朋友电脑当主机的时候,我这网络十分卡顿,且只有她在线的时候,我才能玩,制约太多了,于是我就想自己做个服务器
2. 准备工作
1.1 首先我们需要一个拥有“饥荒联机版”的steam账户
需要该账号中游戏账户生成的身份命令Token,服务器才能正常运行,后面会说到这个东西怎么生成以及怎么使用
1.2 需要一个有公网IP的服务器,动态公网也可以
阿里云或者腾讯云都可,饥荒对服务器硬件要求大概如下
内存方面需求,大概
65M bytes/玩家
处理器性能,一核就够用
带宽方面的要求:官方数据大概是每个玩家
8kbytes/玩家/秒
游戏需要开放
10999
和10998
作为通信端口,购买服务器的记得在服务器中配置防火墙和安全组,放行端口。
1.3 安装前的环境配置
首先保证自己系统处于最新状态
安装游戏运行需要的环境和常用的工具
2. 下载steamCMD并安装游戏
启动steam
匿名登录到steam,并下载饥荒游戏
#先设置好游戏下载位置
#再匿名登录到steam
#下载软件,343050是饥荒的id
#退出steam
运行steam时如果提示failed to init SDL thread priority manager: SDL not found
则执行如下代码修复
(参考链接:https://github.com/ValveSoftware/steam-for-linux/issues/7036) 作者:ColderCoder https://www.bilibili.com/read/cv6720451/ 出处:bilibili
如果在安装游戏时提示Error! App '232250' state is 0x402 after update job
之类无需担心,是网络超时导致,重新安装即可
进入安装尝试运行游戏,查看是否缺少环境
#进入游戏安装目录,看自己的程序安装位置
#运行程序
查看服务器是否报错,以及报什么错,针对性解决

我自己做的时候没截图,而且还以为这样的界面有问题还耽搁了很久,实际上这个错误是说你没有把身份令牌Token放到指定位置,输出这样界面就可以了,准备下一步生成令牌和游戏地图 mod等。
3 创建存档以及设置
这里我还是部分没有截图,就继续借用大佬们的图吧
首先在自己的电脑上启动饥荒联机版,点击账号

记住自己的klie用户ID,一会把它加到超级用户中,可以控制自己的服务器

点击游戏选项,并点击服务器

添加你自己的服务器,记住生成token这就是服务器生成服务所需要的身份令牌

记住填自己的令牌

然后打开游戏生成一个世界,根据自己的需要设置游戏模式,设定完成后,点击文件夹即可打开地图文件所在位置

我的打开如图所示,因为我没有创建地洞,所以只有一个文件夹,创建地洞会加大对服务器的负载,所以我没有创建,大家可以按照自己的硬件和需求来

这里我复制本地文件操作和详细介绍指南(自己懒),反正其实也只是给我自己看的
大多数情况下我们只需要关注其中部分文件即可,接下来在本地对存档中的这些文件进行适当修改:
编辑
cluster_token
文件,将其内容修改为之前保存的Token信息。打开cluster.ini文件,找到
shared_enabled
选项,并将其值设置为true
在存档文件夹下(与cluster.ini同级)新建
adminlist.txt
文件,并将自己的id添加在文件中,如果需要添加多个管理员,可以使用回车分隔,一行一个id在存档文件集下新建
blocklist.txt
,作为服务器黑名单,操作方式与adminlist.txt
一致。
先别急上传,我们再对服务上的mod进行修改,文件位于你的安装目录里面mod文件夹下,对于我来说为
#用vim打开文件
将一下mod添加至文件末尾
我们再来谈一下上传到服务器相关事项,首先我们要创建一个非root用户用来运行游戏,保证安全在root权限下输入以下命令
#创建新的用户
#给新用户设置密码
我使用的是xshell这个软件,创建新的连接使用新的用户名和密码登录到服务器,这样做是为了保证上传到服务器的文件拥有正确的读写权限,我在这里面吃大亏了,就算给了777权限还是出现了一些莫名奇妙的BUG,使用xftp连接到服务器,运行游戏././dontstarve_dedicated_server_nullrenderer
(注意一定要是steam用户,就是非root用运行)不同用户的游戏数据文件地址可能不同,查看游戏加载目录

复制到Cluser_1前,填入xftp地址栏里

.
开头的文件,在Linux里属于隐藏文件夹,正常无法查看到,如果想查看,使用命令ls -a
,所以建议直接复制路径填入
最后都配置好了,只差运行服务器就行了
如果服务器显示如下则表示服务器已成功运行,当然使用screen是不会有输出的,你可以指定输出到文件,或者进入后台查看(注意使用你创建的用户运行,如果真的有莫名写入权限问题,那你使用root账号吧,届时游戏数据目录会变,请仔细观察)

后面就是在饥荒联机版中搜索自己的服务器名称就好了,文章到此结束,文章中有引用他人的资料图片等,如有侵权,请联系我修改
主要参考资料
同类视频资料