中旅网

当前位置: 首页 > 人文

杀戮空间2服务器搭建Ubuntu20.04

本文于2021年8月16日写于百度贴吧杀戮间吧,现对原帖做补充记录。笔者已退坑,上一次KF2运行时间为2022年10月29日。


(资料图片)

本文不算教程,算是一个服务器搭建记录,希望对屏幕前的读者有所帮助

现在是 2021年8月15日20:43,大约在10分钟前,由于我的失误操作,/home/steam目录被完全删除,且没有任何备份,导致其目录下的所有服务器(一个KF2服务器和一个饥荒服务器及其存档)数据清空,无异于rm -rf /*的操作。因此,所有服务器搭建操作从零开始,特写下本纪实。

服务器已重置完毕,Ubuntu

准备工作

参考资料/princesskat/p/

之前用过centos开服,遇到一个极难解决的问题:version `GLIBCXX_' not found。百度谷歌各种资料,说是要更新库,更新半天也没解决,搞得头疼,故放弃centos开服。唉,要是有windows云服就好了。

教程中的sudo apt-get install lib32gcc无法直接运行,故用上面命令

添加名为steam的用户

跳转到steam目录下

突然发现阿里云监控没了,重新安装一下

运行阿里云监控

安装服务端本体

参考资料steamcmd的安装 - 哔哩哔哩 ()

先安装环境

顺便给用户steam设置个密码,方便后续操作

在/home/steam创建一个名为steamcmd的文件夹

简简单单下载个steamcmd

解压

把压缩包删了,不然看着乱

2023年注:才发现之前开服一直使用的root用户开服,太铸币了

运行steamcmd

当出现Steam>的字样时,说明已经打开了steamcmd,接下来可以在这里进行下载各种steam服务端,按ctrl+c退出。

匿名登录steam,好像用自己的steam账号也行,不过太麻烦了,不要多此一举

设置安装目录为/KF2Server

下载KF2服务端,大概26G,要等很久,先干点别的事

下好了,ctrl+c退出steamcmd

KF2Server文件夹就是刚刚在steamcmd里面下好的服务端

一下给我吃了26G

文件夹下是这些东西,其中.bat批处理文件是windows系统专用,linux系统用不了,所以要写一个脚本来开服

在该目录下创建一个名为的文件并输入以上内容,kf-outpost是服务器地图名,可以修改成别的地图,比如说kf-bioticslab

将的权限修改为777

输入./进行开服

出现这一大串时表示服务器已开启,Ctrl+c关服,我们需要配置一下服务器文件

服务端配置文件

在该目录下,我们需要编辑的就是这三个文件,linux系统开服的话下面几个文件的开头是LinuxServer,windows系统开服的话是PCServer,其实是一样的

引用上面提到的教程,记得把云服的8080tcp端口打开。建议下载到本地再编辑,用vim命令也行,具体操作自行百度进行学习

这个帖子已经说的很详细,我就不再说明了,不过要注意的是,linux系统开服时对中文的编码格式有要求。如果房间名和欢迎界面要出现中文的话,需要UTF-16 LE编码,UTF-8还会乱码,我用的notepad++不提供UTF-16 LE转码,然而windows自带的记事本可以转…

这个bannerlink也折磨了我一段时间,首先链接不能是https开头,只能是http开头,需要找到一个http开头的图床(但是我找不到这样的图床)。在我谷歌查询了大量资料后,我找到一个解决方案:使用lofter(一个国内博客网站)上传一张图片(要求512x256)(貌似不是这个分辨率也行?不过官方的示范是这个分辨率)

右键,在新标签页中打开图像

把s删除,把.png后面的一串字符全部删除

你会发现图片没变,但是浏览器显示不安全,这样链接的图片才能在服务器欢迎界面中正常显示,把这段新链接复制粘贴到bannerlink=后面。注意,游戏中的亮度很低,在外部看起来很正常的图片可能在游戏中显得昏暗,善用PhotoShop把图片亮度调高,修图过程就不讲了

上面的操作已经非常详细,不再赘叙,创意工坊的URL添加到配置文件后保存并开启服务器,服务器就会自动下载,不过linux可能会遇到下面的问题

问题1:linux服务器无法下载创意工坊物品

貌似windows服务器没有这个问题,又在我谷歌了大量资料后在T社论坛中找到了解决方案,帖子链接?threads/cant-download-ste/

大意为服务端有两个,只需要调用其中一个

操作方法如上,命令意思是,将/KF2Server/linux64中的文件改为/KF2Server/Binaries/Win64/lib64中的文件,用filezilla手动操作也行

问题2:服务器无法下载创意工坊中的地图

上面讲了服务器无法下载创意工坊物品的解决方案,难道第三方地图不是创意工坊的物品吗?当然是,但是我的服务器能顺利下载插件,而半天也下不好地图,不知道是创意工坊抽风还是我的服务器有问题,总之我选择手动上传地图

在自己电脑上跳转到以上目录,里面的文件夹全是在游玩服务器时下载好的地图以及插件

比如说这个文件夹是Dust2地图

一直点到Maps这个文件夹

再点进去就会看到这个,.kfm文件就是地图本体

服务器存放地图的目录如上,直接把想上传的地图拖到这里就行

有些地图像ZASHIKI,Maps文件夹下还有一个文件夹,点进这个文件夹才是地图本体,我们需要把Maps下的这个文件夹整个拖进去,就像这样(也许不用上传文件夹?)

杂七杂八

服务器更新创意工坊物品时是这样的,这个item state我至今没有弄懂,懂的可以讲讲

23点28分,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,知道刚刚发生了什么吗,我试图把之前的配置文件直接上传给服务器使用,却意想不到地报了错,服务器直接把我的用默认配置文件覆盖掉了,我百思不得其解,以为是编码问题,又是一波查资料给ubuntu设置utf-8中文环境,还是不行。实在是没办法,我只好老老实实把服务器新生成的配置文件拿过来手动编辑,结果一次成功……………………………………

目前已知的一个BUG,至今未找到解决方案,中设置了中文并使用utf-16 LE的第一次开服,服务器能够正常显示中文,但此时会发现此文件已被修改(之前已经设置了不可写入),参考下图

发现服务器传回来的文件体积大了将近一倍,且内容变成这样

目前没有很好的解决办法,只能每次开服前都上传一次\。。。。。。。。。。。。。。

2021年10月6日1:55,杀戮空间2迎来大更,需要更新服务端,使用T社WIKI给出的更新方案:使用steamcmd输入app_update 232130,出现如下提示

Steam社区告诉我0x202的意思是服务器硬盘不足,然而空间确实还有很多

从别的服主那了解到

250M的空间谁没有啊!!真是怪了

另一个服主则表示硬盘剩11G空间也能正常更新,且更新后内存大小无异,怪。我决定把现有的服务端删除,重新下载一份新服务端,首先备份一下和两个配置文件、AccessPlus插件与配置文件、一些第三方地图。

和上次比起来也就多了200多M的样子,居然要我重新下载,可恶的T社

,将权限设置为544,使用非root账户开服,不会被覆盖。

困于无法开2服,重新在steamcmd中输入app_updatae 232130 validate提示硬盘不足,推测为steamcmd重新下载了新服务端,可能是我没有设置路径吧,正在重新下载服务端。

突然想起来我有快照,但是我已经重置系统了……

重新执行本纪实的所有操作

Ubuntu系统本身加上前置的总占用如上

正在下载服务端,先截图记录一些配置文件

1服《妹红与辉夜》的启动脚本文件,2服的文件则改为-ConfigSubDir=2,2服暂时不加AccessPlus插件,故删除?AccessControl= -QueryPort=27015

Web配置,2服的端口改为8081

1服端口为7777和7778,2服端口为7000和7001。

2服名为 妹红与慧音

笑死。检查来检查去,发现2服的开服文件

少了个”KF-”!!!!!!!!!!!!逆天

Segmentation fault

用root开一次服就好了

非root用户则将config/xxx递归修改文件权限为755

无法读取第三方地图,cache文件夹显示已经下好了第三方图

在网页后台打指令换图就会自动下载了

尝试开启四个服,下午上完课回来发现服务器炸了…远程都连不上

经测试,一个6人纯净服占用800M左右内存,带宽

日12点57分

土豆更新minecraft地图,返回的结果是Item state is 12

该问题已解决,需要使用root用户开服,换图后服务器会自动下载创意工坊物品,推测原因是一般用户没有在root用户目录下创建文件的权限的可能。

加了几张三方图,用kf用户(一般用户)开服,换图报错,说无法打开这张地图,推测还是权限问题,先试试chmod改权限。

大胆假设,谨慎求证,我把/cache递归修改权限文件为755试试。成功。顺带一提,的地图循环中,地图名字最好(也许是必须?)复制/cache里面的地图名字

2021/11/8/18:29

今天用kf用户开服,后台反馈的信息居然没有乱码!但是刷不出服务器了。。。发现返回的文件体积小了一半,本地重新上传一次后正常

2021/12/10,貌似是昨天?T社更新了KF2,圣诞节版本,因此服务器也要更新。之前的一次更新,steamcmd貌似不会覆盖原文件,又下载了一个新的服务端,而且下载的具体位置我找不到,因此迫不得已重置一遍服务器再操作一次,非常蛋疼…今天根据T社的wiki再试一遍。(Killing_Floor_2)

2012/12/22

服务器突然连不上了,SSH也不行,推断为服务器崩溃,直接阿里云重启,顺便看了下这个月的内存占用情况。

第一次开服且没有玩家进入时,KF房间的占用非常小,每个房间占用400M不到,而满人的时候每个服务器占用800M左右。

按理说应该有一个机制,在玩家退出服务器后,服务器自动释放这部分玩家占用的内存,理应回到400M的水平。

然而从本月内存情况来看,·服务器并没有释放这部分内存,反而这部分内存越来越多,堆积到一定程度时,服务器崩溃。

内存陡降一半的是其中一个服务器崩溃的情况,之前没留意过,手动开一次服就好了。今天是整个服务器都连不上,引起了我的重视。

两个思路:一、写一个脚本,定时关服再开服。二、写一个脚本,定时释放内存。

选择第一个思路,因为第二个我不知道怎么释放指定程序的内存。

(略去原文的折腾过程,直接给出解决方案)

简单解释:每分钟都执行一次./的命令,服务器崩了就让他崩,反正一分钟之内就会开服,就算没崩,这个命令也不影响服务器运行

有人请我帮他开一个三方纯净服和一个CD服。Win2012R2系统。

使用UTF-8编码,设置只读,不然会遇到部分三方图打不开的情况,比如说能打开沙1打不开沙2

好吧,正确的解决方案是UTF-16LE编码并设置为只读。

服务器居然还有空间更新,接着开

由于无人机BUG会导致炸服,我开始思考写一个炸服自动重启的脚本,或者找一个能托管服务器的工具。我转念一想,直接每十分钟执行一次开服脚本不就完了么,服没炸的话也不会有什么事发生,服如果炸了就能在十分钟内开好。

创意工坊的地图不仅会下到cache文件夹里,也会下到Binaries里面,删图的时候两边都要删。

晚,KF2大更,改了医疗屎枪的负重和HRG堡垒,游戏更新下载2G安装10G,服务器更新也是2G,真亏我服务器还有空间继续更新啊,没空间更新的话就宣布倒闭停服

居然还能更新

还有400M左右的空间,删除KF-Minecraft,这个图服务器无法下载,导致玩家进不了服,把服务器卡住了,也懒得折腾,几个月前就出现很多服务器不下载地图的情况

全文结束,有疑问欢迎留言讨论或指出错误。

关键词: