CentOS CSGO服务器教程(二)搭建服务器
前传
上一篇文章介绍了搭建服务器必要的基本准备工作。 本文使用LinuxGSM来练习如何搭建最简单的CSGO服务器。
1.云服务器设置
笔者使用的云服务器为腾讯云2C4T 5M带宽,服务器OS部署如下
作者使用的操作系统版本是7.9
2.LinuxGSM部署
接下来,部署LinuxGSM并搭建CSGO服务器
部署过程参考LinuxGSM文档
使用PuTTY以root身份登录云服务器
配置LinuxGSM所需的EPEL环境
配置安装服务器所需的工具
注意:官方文档中缺少 nmap-ncat
上一篇文章CV14253977介绍了如何配置hosts,这里不再赘述。 另一种获取ip的方式是通过ip查询网站直接从域名中获取ipv4地址。
由于LinuxGSM无法在root用户下部署慈云数据自营海外云服务器,高稳定高性价比,支持弹性配置,因此需要新建一个csgoserver用户,并将服务器部署过程转移到该账户下。 流程如下:
切换到csgoserver用户后,下载LinuxGSM所需的脚本
脚本安装完成后,执行
安装过程中,由于下载速度或者主机问题,如果出现错误,可以按ctrl+c取消安装,然后重新输入./csgoserver install进行安装
LinuxGSM的LOGO设计真不错
当出现这一步时,证明服务器文件已经在下载。 这时,你只需静静等待下载完成即可。
安装完成后会询问是否安装结束,输入“Y”,然后会要求输入GSLT。 这里可以选择不填写,因为后面配置参数时会涉及到这部分。
安装完成后就可以启动服务器了
但此时由于没有配置GSLT,所以此时的服务器只能在局域网内连接,无法在公网中打开
3、参数设置
3.1 LinuxGSM常用命令介绍
3.2 配置LGSM下的csgoserver.cfg
使用WinSCP连接云服务器,进入/home/csgoserver/lgsmconfig-lgsm/csgoserver目录
lgsm下的csgoserver.cfg
运行 ./csgoserver start 将读取文件夹中的 csgoserver.cfg。 这里的cfg是一个空文件,需要根据_default.cfg中的内容进行修改。
打开common.cfg并将内容复制到csgoserver.cfg
csgo服务器配置文件
PredefinedParameters部分预设了各种模式对应的gametype和gamemode参数,例如官方游戏对应gametype=0和gamemode=1。
mapgroup 确定地图组(地图循环)
defaultmap 确定服务器启动或刷新时的默认映射。
maxplayer、ticrate等参数不再解释。
在gslt处,可以参考之前的文章CV14253977填写获得的令牌(Token); wsapikey 也是如此。
3.3 启动参数
本部分将分别对启动项参数进行说明。 LinuxGSM提供的默认参数如下
下面是一些有用的参数,命令后面的{xxx}表示该参数出现在命令之外(具体参见csgoserver.cfg)
-usercon 允许从控制台控制服务器
-ip 服务器映射ip地址 云服务器从127.0.0.1映射到公网ip,所以这里不需要重新映射,就是0.0.0.0
+sv_setsteamaccount 添加 gslt 令牌
-tickrate 服务器的有效帧率怎么访问云服务器的IP,即服务器每秒读取游戏状态的次数。 常见的tickrate是128和64,demo的tickrate是32。
+servercfgfile 服务器控制文件怎么访问云服务器的IP,这部分在下一篇文章中会提到,这里按no
-maxplayers_override 最大玩家数量
+mapgroup 地图组
+game_type +game_mode 上面3.2节提到的
-authkey 这里填写wsapikey,方便玩家下载地图
-nobreakpad 保持旧版本的插件可用
这里还有三个比较重要的参数
-nobots 防止机器人出现在服务器上
-nomaster 隐藏服务器的公网IP(防止他人随意连接和外部攻击)
+sv_pure 0 全部白名单,避免加入服务器被拒绝
经过以上步骤,搭建一个128tick、10人正式服务器的启动项大致为
3.4 运行服务器
完成上述修改后,再次运行服务器
打开CSGO,按“~”键(选项卡上的键)调出控制台,输入
输入服务器
成功进入服务器
4、补充
4.1 更新时出现错误0x202
执行中
更新时出现错误,错误信息如下
原因是现有服务器大小 + 更新包大小 > 服务器磁盘大小
建议清理一下服务器系统,删除csgo目录下的一些地图文件(map)
4.2 CentOS 7.6版本内核问题
CentOS 7.6下安装LinuxGSM后,后期服务器可能无法正常更新。经排查,是Kernel版本较低导致的(怀疑7.6之前的版本也会出现同样的问题),需要通过以下步骤来解决
4.3 GSLT失败问题
当CSGO服务器长时间没有使用时,会出现服务器正常启动,但连接服务器不断掉线的情况
可能的原因之一是 GSLT 已过期。 这时参考上一部分CV14253977中的方法,重新申请GSLT并填写。
本文主要介绍使用LinuxGSM搭建CSGO服务器的过程。 下一篇我会介绍SourceMod&MetaMod,插件的部署以及cfg的修改