⑴ 搭建饥荒服务器(2024.3更新)
如果你遇到了上面的问题,可以尝试看下这篇文章,也许能解决你的问题。
正片开始,最近和小伙伴联机总有人延迟、掉线,有时候开了加速器都没用。而且这么多人一起开加速器着实不划算,还不如搞台服务器,新用户一年150+,几乎无延迟。
搞完之后照例输出一下详细的教程
服务器选择
15+MOD的饥荒服务启动后会占用1.2GB左右的内存,64位服务的话差不多1.8GB,双核CPU常驻15%左右的使用率,4~6人一起玩没啥压力。
所以一台1核2G的服务器基本够用,比较推荐2核4G,可以加载更多MOD,玩到后期也不会太卡
P.S 这里启用的都是些功能增强型MOD行为排队论之类的,如果启用的MOD会添加很多新物品,内存建议4G起步
腾讯云服务器1核2G4M的服务器新用户一年150左右,可以免费升配到2核4G8M(找不到在哪问下客服),感兴趣领券看看吧
阿里云11月活动,2核2G3M新老同享99/年,很香
部署教程
在启动脚本有用到教程中创建的文件夹和文件名称,不建议更改
用有sudo权限的用户登录到服务器
1. 安装依赖
先安装steam和饥荒服务器需要用到的依赖,
2. 安装 SteamCMD
创建steamcmd文件夹
下载 steamcmd程序
解压steamcmd_linux.tar.gz文件
启动steamcmd
3. 安装饥荒联机版
如果上面没出啥问题的话,将会进入steam服务,接下来控制steam下载饥荒联机版
前面的steam> 不需要输入,只是说明你在steam服务中
app_update 343050 validate就是去steam中下载饥荒联机服务器的命令,需要等待一会,当执行完成后输入quit退出steam服务
4. 创建服务器存档
在服务器上直接创建新地图的话后续配置会比较麻烦,一般都是在Windows上先创建地图,然后找到地图文件上传到服务器中。
在Windows上打开《饥荒联机版》,在选单界面点击【创建游戏】对联机需要创建的世界进行配置,服务器模式选择【公共】,配置好密码,并勾选要使用的MOD
配置完成后,点击“生成世界”,等待世界创建完成,在进入选择人物界面后,就可以退出了
在服务器中创建存档的存放文件夹
在C://User/xxx/文档/klei/DoNotStarveTogether文件夹下,找到你刚才创建的存档,上传到/.klei/DoNotStarveTogether/Cluster_1这个文件夹里面,cluster_token.txt没有没关系,后面会创建。
访问 accounts.klei.com/accou... 获取服务器token
在服务器的Cluster_1文件夹下创建文件cluster_token.txt, 将服务器token保存到文件中
5. 为自己添加管理员权限
访问 accounts.klei.com/accou... 页面,找到自己的klei ID
创建管理员权限文件,复制klei ID到文件中
6. 为服务器订阅MOD
这里只是告诉服务器要订阅或者说要下载哪些MOD,是否在地图中启用MOD在其它文件中(后面会讲)
在文件最下面添加需要订阅的MOD,其中的数字是MOD的ID,可以在.klei/DoNotStarveTogether/Cluster_1/Master/modoverride.lua中查看
P.S .klei/DoNotStarveTogether/Cluster_1/Master/modoverride.lua就是这个地图的MOD配置,如果订阅了新MOD,一定要到这里添加配置,不然MOD不会生效。 Caves中也有一个modoverride.lua文件,记得一起修改。
7. 编写启动脚本
回到根目录,创建boot.sh文件
把下面的命令粘贴到boot.sh中
脚本中默认启动的是32位服务器,如果想启动64位服务(会用更大的内存,相对也会更流畅一些),只需要更改这两行
改成下面这样之后保存就可以了
赋予boot.sh执行权限
到这里,饥荒服务器的部署就全部完成了,接下来还要开放防火墙端口,不然别人是访问不进来的。
开放端口
具体需要开放的端口可以查看存档文件夹下的这几个文件
注意开放的协议,饥荒端口都是UDP协议,steam的保险起见两种协议都开。
我总共开放的端口如下,每个人可能不一样,具体要按照上面给出的那几个文件来配置。
启动饥荒服务器
到根目录,也就是boot.sh所在的目录,运行下面的代码
执行后饥荒服务器会在后台运行,可以通过下面这个命令查看输出的日志
能看到下面这样的输出就是启动成功了
关闭服务器
因为是后台运行,关闭服务器需要先找到服务器的PID,然后用kill命令杀死
要kill的PID是上面图片中圈出来的,服务器在退出会执行一些方法,建议不要用kill -9强制杀死
其它
1. 修改服务器名称和密码
服务器的名称的名称和密码在.klei/DoNotStarveTogether/Cluster_1/cluster.ini 文件中,修改后重启即可
2. 更新服务器到最新版本
每次饥荒联机版更新后都需要同步更新服务器,不同版本之间不能在一起玩,而且搜索不到房间
这里推荐一个查询饥荒服务器的网址,如果你在这个网址上能搜到自己的服务器,但是其他人搜不到,那应该就是版本不同导致的。
饥荒网页版服务器列表
可以将上面的更新命令编写成脚本方便以后执行,步骤如下:
在steamcmd.sh文件的同级目录创建脚本文件update.sh,复制下面的命令到脚本中后保存
赋予脚本执行权限
以后更新饥荒服务器直接运行 ./update.sh
3. 服务器卡顿可能原因排查
导致玩家在服务器上卡顿的原因有很多,比如
用服务器IP替换 xxx.xxx.xxx.xxx,会得到如下输出,观察时间那一列是否经常会跳出一些比较大的数字,一般来说<60ms都是正常的。
如果服务器不支持ping命令可以试试tracert,这个输出复杂些,看不明白的可以参考下这篇文章
2. 服务器性能排查,在ubuntu系统中可以使用top或者htop命令查看服务器资源使用情况
可以看到当前CPU负载是8.1%,内存还剩366.5+671.9=1038.4MB,如果CPU负载长期高于80%,内存少于100MB,那么卡顿很可能就是因为服务器资源不足,建议少加载些MOD,不要养太多生物,打扫一下地面掉落物。
3. MOD问题
可以上传一个纯净存档(不开任何MOD)试试,如果不卡顿再一个个关掉MOD尝试,没啥太好的办法。
⑵ 饥荒你的服务器无应答怎么办
当饥荒游戏出现“服务器无应答”的情况时,可以尝试以下几种解决方法:
1. **检查网络连接**:确保你的网络连接稳定,尝试重启路由器或网络设备,以排除网络波动或不稳定的问题。
2. **查看服务器状态**:访问游戏官网或相关社区论坛,查看是否有服务器维护或故障的公告。如果是服务器问题,需要等待官方修复。
3. **优化游戏设置**:检查游戏内的网络设置,确保它们与你的网络环境相匹配。同时,减少游戏中使用的MOD或资源,以免因内存不足导致服务器响应慢或掉线。
4. **防火墙与安全软件**:暂时禁用防火墙或安全软件,看是否是它们阻止了游戏与服务器之间的通信。如果问题解决,可以在防火墙中设置允许饥荒游戏通过。
5. **尝试重置网络**:如果DNS或hosts文件出现异常,可以尝试重置网络设置或清理缓存,然后重新连接游戏服务器。
6. **联系服务器管理员**:如果你是在多人服务器上遇到此问题,且上述方法均无效,可以联系服务器管理员,询问是否有其他玩家也遇到同样问题,并寻求他们的帮助。
7. **更新游戏与MOD**:确保你的游戏版本与服务器版本一致,并检查所有MOD是否兼容当前游戏版本。如果需要,更新游戏和MOD到最新版本。
通过上述步骤,你应该能够解决饥荒游戏中“服务器无应答”的问题。如果问题依旧存在,建议继续寻求官方或社区的帮助。