前篇
前篇介绍了搭建服务器的必要基础准备,本文就来利用LinuxGSM实践一下如何搭建一个最简单的CSGO服务器。
1.云服务器设置
笔者使用的云服务器为腾讯云2C4T 5M带宽,服务器OS部署如下
笔者使用的OS版本为7.9
2.LinuxGSM部署
接下来部署LinuxGSM,搭建CSGO服务器
部署过程参考自LinuxGSM文档
https://linuxgsm.com/servers/csgoserver/
利用PuTTY以root身份登陆至云服务器
配置LinuxGSM所需的EPEL环境
配置安装服务器所需的工具
注意:官方文档中遗漏了nmap-ncat
前篇 cv14253977 中介绍了如何配置hosts,这里不再赘述。另一种获取ip的方式是通过ip查询网站由域名直接得到ipv4 address。
由于LinuxGSM无法部署在root用户下,故需要新建csgoserver用户,并将服务器部署过程转至该账户中,过程如下:
切换至csgoserver用户后,下载LinuxGSM所需脚本
脚本安装完成后,执行
安装过程中,因为下载速度或者host问题,如果出现error可以按ctrl+c取消安装,然后重新键入https://www.bilibili.com/read/cv14271143/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
运行https://www.bilibili.com/read/cv14271143/csgoserver start 会读取文件夹中的csgoserver.cfg这里的cfg是空文件,需要参照_default.cfg中的内容进行修改。
打开common.cfg,将其中的内容复制到csgoserver.cfg
csgoserver.cfg
Predefined Parameters部分预设了各种模式对应的gametype、gamemode参数,例如官匹对应着gametype=0,gamemode=1。
mapgroup决定着地图组(地图循环)
defaultmap则决定了服务器开启或刷新时的默认地图。
maxplayer、tickerate等参数不再解释。
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 服务器的有效帧数,即服务器每秒钟读取游戏的状态次数。常见的tickrate为128,64,demo的tickrate为32。
+servercfgfile 服务器控制文件,该部分将在下一篇文章中提及,这里按下不表
-maxplayers_override 最大玩家人数
+mapgroup 地图组
+game_type +game_mode 上文3.2部分已提及过
-authkey 此处填写wsapikey,供玩家下载地图
-nobreakpad 保持旧版本插件可用性
此处再补充三个重要参数
-nobots 禁止服务器出现bot
-nomaster 隐匿服务器的公网IP(防止别人随意连接、外部攻击)
+sv_pure 0 全体白名单,避免被拒绝加入服务器
经过以上步骤,设置一个128tick,10人官匹服务器的启动项大致为
3.4 运行服务器
经过以上的修改后,再次运行服务器
打开CSGO,按“~”键(tab上键)调出控制台,输入
进入服务器
成功进入服务器
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的修改