本文于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,这个图服务器无法下载,导致玩家进不了服,把服务器卡住了,也懒得折腾,几个月前就出现很多服务器不下载地图的情况
全文结束,有疑问欢迎留言讨论或指出错误。