CS:GO服务器搭建(Linux 您所在的位置:网站首页 服务器搭建v2p CS:GO服务器搭建(Linux

CS:GO服务器搭建(Linux

2023-07-29 19:54| 来源: 网络整理| 查看: 265

1 前言&目录

1.1 前言

        搭建CSGO服务器比较简单,Valve开发者社区wiki也给出了安装指导,也可以使用LinuxGSM更快捷的搭建(本文不是用LinuxGSM)

        Valve开发者社区wiki地址:https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers:zh-cn

        对于新手的建议:① 对自己充满信心,对教程充满信任。游戏发行十多年了网上教程一大堆,你在百度、B站、CSDN等网站能搜到的热门教程我差不多都看过,挑不出大毛病,选一篇你看的顺眼的就行 ② 完全依照教程步骤进行,不要漏看任何一句话,99%的失败原因都是没有按教程操作 ③ 同时参考多个教程进行搭建是大忌。如同你在ABC三家店买了零件组装成电脑,发现有故障,却分不清问题出在哪里,又把烂摊子交给D店去排查……

        CentOS 7就像win 7一样,很多人说好用,但随着时代的发展会有越来越多的软件不兼容旧系统,因此不推荐使用CentOS,我更推荐用debian和ubuntu来搭建csgo服务器。(CS2即将到来,csgo的搭建方法可能不适用,所以暂时不想搞debian的专栏)

1.2 目录

2.x章节 ==> 搭建服务器前的准备工作

2.2章节 ==> 开放CentOS防火墙和安全组的27015端口

2.3章节 ==> 获取建服所需的token

3.x章节 ==> 搭建服务器的详细步骤(含插件)

4.x章节 ==> 服务器的日常使用方法

4.3章节 ==> MetaMOD和SourceMOD插件的用法

4.4章节 ==> 服务器切换官方地图

4.5章节 ==> 服务器开启作弊

4.6章节 ==> 服务器保持后台运行的方法(screen)

5.1章节 ==> 服务器设置128tick

5.2章节 ==> net_graph网络参数的说明

6.x章节 ==> 添加第三方地图到服务器

7.1章节 ==> csgo服务器启动失败的处理办法

7.2章节 ==> 玩家连接csgo服务器失败的处理办法

7.3章节 ==> MetaMOD和SourceMOD的故障处理

7.4章节 ==> csgo常用控制台指令

7.5章节 ==> 更新csgo服务器

7.6章节 ==> CentOS防火墙相关的命令

7.7章节 ==> CentOS的常用命令

2 准备工作

2.1 带公网IP的电脑或云服务器,安装CentOS_7.x x64版本

注:

① 没有公网IP,则搭建的服务器只能在局域网内使用。经测试使用frp技术实现的内网穿透不能用于csgo服务器,即便内网穿透成功了玩家也连接不到csgo服务器(网上有人说是因为GSLT会验证服务器注册ip)。如果你的网络有动态公网ip(或者叫弹性公网ip)也可以用来搭建csgo服务器,可能需要用到ddns服务、路由器的端口映射功能,请自行网上搜索教程

② 服务器硬盘可用空间最好不低于35G(csgo游戏文件约32G,其他空间预留给游戏更新包、插件、Mod、第三方地图)

③ 建议安装无图形化界面的CentOS以节省资源开销,提高服务器性能

2.2 开放CentOS防火墙和安全组的27015端口

csgo服务器使用udp协议进行数据传输,默认端口为27015

如果使用的是云服务器,先检查CentOS的防火墙有没有打开,如果防火墙是关闭状态,只需要在服务器安全组中开放27015端口的udp协议即可

注意!注意!注意!

CentOS的防护墙和云服务器的安全组是两个不同的工具,都需要开放相应的端口!另外如果云服务器还安装了宝塔面板之类的工具,也要检查一下它自带的防火墙功能

如果使用的不是云服务器,可以依次输入下方的命令来打开防火墙27015端口的udp协议(//之后的是注释,不需要输入)

注:更多CentOS防火墙相关指令在本文7.6章节

2.3 获取token,这个是将自己的csgo服务器注册到csgo社区服务器所必须的令牌,获取方法如下图所示

令牌获取地址:https://steamcommunity.com/dev/managegameservers

获取token

注:

① 如果没有token,自建服务器只能在局域网内使用

② 获取新token后,如果没有启动csgo服务器,大概一天后token会自动失效;如果有几个月不启动csgo服务器,token也会自动失效,这个在csgo服务器的启动日志里会有失效提醒

2.4 下载两个插件,下载时选择linux版本

SourceMOD下载地址:https://www.sourcemod.net/downloads.php?branch=stable

MetaMOD下载地址:http://metamodsource.net/downloads.php?branch=stable

SourceMOD下载页面MetaMOD下载页面

2.5 下载安装WinSCP和Putty软件

WinSCP用途:① windows与debian之间传输插件、地图、Mod等文件 ② 如果不喜欢使用linux命令的话,可以在WinSCP里进行新建文件夹、解压文件、编辑文档等操作

Putty用途:通过ssh连接debian系统

WinSCP下载页面:https://winscp.net/eng/docs/lang:chs

WinSCP中文语言包下载页面:https://winscp.net/eng/translations.php

Putty下载页面(仅下载putty.exe即可):https://www.putty.be/latest.html

注:

① B站有WinSCP+Putty的使用教学(或者我的另一篇Debian专栏第7.11章节有介绍)。同类型的软件组合还有Xshell和Xftp

② 还可以用FinalShell来代替WinSCP和Putty,FinalShell免费版的功能就够用了

FinalShell下载页面:http://www.hostbuf.com/t/988.html

FinalShell相比其他终端的优点是能方便的监控CPU、内存、磁盘和网络等资源的使用情况,但个人感觉它的文件管理界面不如WinSCP好用

3 搭建服务器

3.1 使用Putty连接到CentOS,以root账户登录后,首先更新CentOS的软件库,命令:yum update

注:

如果下载速度非常慢,可能是CentOS系统默认的yum源在国外,可以将yum源仓库改为国内的源以提高下载速度,例如:清华源、中科大、华为源、阿里云

3.2 安装CentOS常用软件

安装vim,命令:yum install vim -y

vim相当于windows系统的记事本,具有更强大的文本编辑功能

安装wget,命令:yum install wget -y

wget相当于windows系统下的迅雷之类的下载工具

3.3 安装SteamCMD所需的依赖库,命令:yum install glibc.i686 libstdc++.i686

注:

① 不同linux版本对应的指令不同,如果你同时还参考了网上其他教程可要别安装错了

② 自2023年2月csgo更新后,CentOS仅安装上述依赖库是无法启动csgo服务器的,仍需要安装或升级其他依赖库文件,因为操作繁琐就单独写成另一个专栏:点我跳转

3.4 在CentOS里,以root管理员身份新增一个普通用户,命令:adduser aaa

再修改指定用户aaa的密码,命令:passwd aaa

在窗口提示New password:之后输入新密码99999(窗口不会显示输入的内容,但其实是有输入的),在提示Retype new password:之后重复输一次新密码99999,看到提示passwd: all authentication tokens updated successfully.代表已修改好密码

然后切换到普通用户aaa,命令:su aaa

注:

① 这里“aaa”和“99999”只是示例,可自定义用户名和密码

② 有些人觉得新建普通用户没啥用就跳过此步骤,全程用root用户来操作,表面上也能正常运行服务器,实则暗藏了很多隐患

3.5 安装SteamCMD

SteamCMD相当于windows系统下的steam客户端,只不过它没有图形化界面,只能通过输入命令来执行各种操作

① 新建一个Steam文件夹用来存放SteamCMD程序,命令:mkdir /home/aaa/Steam

② 打开Steam文件夹,命令:cd /home/aaa/Steam

③ 下载SteamCMD的安装包,命令:wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

④ 解压,命令:tar xvf steamcmd_linux.tar.gz

⑤ 删除安装包,命令:rm steamcmd_linux.tar.gz

⑥ 安装SteamCMD,命令:./steamcmd.sh

⑦ 等待SteamCMD下载安装完毕,命令行会变成以Steam>开头

3.6 下载安装csgo服务器

在Steam>后依次执行以下几条命令

① 指定服务器端的csgo的安装目录,命令:force_install_dir /home/aaa/Steam/csgo-ds

② 匿名登录steam,命令:login anonymous

③ 安装并校验csgo,命令:app_update 740 validate

④ 要下载的文件约32G,等下载完后退出steam>,命令:exit 或 quit

注:

① 如果下载时报错:Error! App '740' state is 0x202 after update job.(如下图所示),原因是安装csgo的磁盘分区可用空间不足,查看硬盘可用空间的方法在本文7.7.2章节。

如果是更新csgo服务器时遇到此报错,检查磁盘分区可用空间充足的情况下,可能是你更新时写错了安装路径,又在系统的其他目录下载了完整的csgo服务器文件

空间不足报错 0x202

② 如果下载时报其他错误,先在网上搜索报错内容的解决方法,如果搜索不到,可以继续尝试下载或改天再下载,因为大概率是网络问题

3.7 理论上服务器已安装完成,但强烈建议安装SourceMOD和MetaMOD这两个插件(也可以不安装,直接跳转到3.10章节),其他插件依个人需求来安装

注:使用解锁皮肤相关的插件可能违反V社规定,对应的惩罚是GSLT封禁(开挂对应的是VAC封禁),steam规定:https://help.steampowered.com/zh-cn/faqs/view/07AF-502E-A104-BD4B

3.8 安装SourceMOD和MetaMOD

① 按本文2.4章节提供的网址下载SourceMOD和MetaMOD的linux版插件

② 安装MetaMOD步骤:先解压,得到一个addons文件夹,内含metamod、metamod.vdf、metamod_x64.vdf,使用WinSCP将整个addons文件夹传输到CentOS系统的/home/aaa/Steam/csgo-ds/csgo/路径下

③ 安装SourceMOD步骤:先解压,得到addons和cfg两个文件夹,使用WinSCP将addons和cfg传输到CentOS系统的/home/aaa/Steam/csgo-ds/csgo/路径下

④ 再检查一下文件目录,命令:ls /home/aaa/Steam/csgo-ds/csgo/,确保能找到addons和cfg两个文件夹

注:SourceMOD和MetaMOD有一些文件是相同名称的,如果传输过程中有提示文件重复,选择全部覆盖(一般情况下,重复的文件夹是默认自动合并其中的内容,而重复的文件是默认自动用新文件替换旧文件) 

3.9 有了插件,就需要设置管理员权限来管理这些插件

修改SourceMOD的配置文件,命令:vi /home/aaa/Steam/csgo-ds/csgo/addons/sourcemod/configs/admins_simple.ini,按下键盘的i键进入编辑模式,将光标移动到文档末尾,按下键盘的Enter键另起一行,写入:

"STEAM_x:x:xxxxxxxxx" "99:z"

写入后按下键盘的Esc键,再输入:wq即可保存并退出

注:

① 这里的STEAM_x:x:xxxxxxxxx要替换为自己的steamID

② 99:z指的是权限大小,一般不需要调整权限,照抄就行

③ 如果还要添加更多管理员,再另起一行按同样格式进行书写

④ 获取steamID有两种方法

方法一:打开csgo进入任意地图,在控制台输入status就会显示玩家的steamID

方法二:在浏览器中登录steam网站,打开个人资料页面,将地址栏的网址复制到查询网站的搜索框即可搜索出steamID,SteamID查询网址:https://steamid.io/lookup/

查询steamID

3.10 在cfg文件夹里新建一个server.cfg文件,命令:vi /home/aaa/Steam/csgo-ds/csgo/cfg/server.cfg

然后按下键盘的i键进入编辑模式,写入以下内容(//之后是注释内容,可以不写)

写入后按下键盘的Esc键,然后输入:wq即可保存并退出

注:以上是基础的开服配置指令,更多csgo控制台指令在本文7.4章节

3.11 启动csgo服务器

打开srcds_run文件所在目录,命令:cd /home/aaa/Steam/csgo-ds

接下来有两种方式启动csgo服务器

方式一: 使用srcds_run配合一系列启动项来启动csgo服务器,输入命令:

稍等片刻,看到GC Connection established for server version 1481, instance idx 1

,代表csgo服务器启动完成

方式二: 写一个包含启动项的启动脚本,命令:vi /home/aaa/Steam/csgo-ds/start.sh,按下键盘的i键进入编辑模式,写入:

写入时注意每个启动项之间只能有一个空格

写入后按下键盘的Esc键,再输入:wq即可保存并退出

然后给脚本赋予可执行权限,命令:chmod +x start.sh

最后通过此脚本启动csgo服务器,命令:./start.sh

注:

① CentOS防火墙开放27015端口的方法在本文2.2章节,请仔细阅读,区分防火墙和安全组

② 更新csgo服务器的方法在本文7.5章节

③ csgo服务器启动项说明

其他可选的启动项

④ 常用地图组名称

3.12 关闭csgo服务器,在csgo服务器端输入命令:quit 或 exit

4 日常使用

4.1 启动csgo服务器,启动方法在本文3.11章节

4.2 玩家在csgo游戏控制台输入连接指令:connect xx.xx.xx.xx:27015;password xxx

注:

① 这里将xx.xx.xx.xx替换为服务器的公网IP,同时将27015替换为启动项里指定的端口号,将xxx改为自定义的服务器连接密码

② 第一次连接成功后电脑会记住密码,以后的连接指令里可不写;password xxx

③ 如果没有设置服务器连接密码(见本文3.12章节),连接指令里可以不写;password xxx

④ 如果使用的是默认的27015端口,连接指令里可以不写:27015

⑤ 玩家连接csgo服务器失败的检查方法在本文7.2章节

4.3 SourceMOD和MetaMOD插件的用法

csgo服务器安装SourceMOD和MetaMOD插件并且已经设置过管理员权限后,有权限的玩家可以按Y打开游戏内聊天框,输入指令打开插件的功能菜单,指令:!admin 或 /admin

注:如果输入!admin没有出现菜单,可能的原因有

① !admin命令中要使用英文感叹号

② 插件没安装好,启动csgo服务器后查询MetaMOD已安装插件列表,命令:meta list

查询已安装的插件

如上图所示,要确保MetaMOD已安装插件列表里有SourceMOD

③ 没有设置插件的管理员权限,按本文3.9章节的步骤进行配置

4.4 服务器切换官方地图

第三方地图的使用方法在本文第6章节,以下是官方地图的换图方法

方法一: 启动csgo服务器后,在Putty输入map 地图名格式的换图指令,示例:map de_dust2

使用此方法换图后,所有玩家需要重新连接csgo服务器

方法二: 启动csgo服务器后,在Putty输入changelevel 地图名格式的换图指令,示例:changelevel de_dust2

使用此方法换图后,所有玩家自动加入新地图,无需重新连接csgo服务器

方法三: 已安装SourceMOD和MetaMOD插件并且有管理权限的玩家可以按Y打开游戏内聊天框内,输入!admin或!map打开菜单更换地图

4.5 开启作弊

方法一: 启动csgo服务器后,在Putty输入命令:sv_cheats 1

方法二: 有插件管理权限的玩家在游戏内控制台输入指令:sm_cvar sv_cheats 1

注:大部分的csgo指令需要在服务器端输入(即Xshell里输入)才能生效,少部分指令例如noclip可以在客户端控制台里使用,多尝试几次就能发现规律

4.6 保持csgo服务器在后台运行

4.6.1 安装screen

Screen是能防止网络异常中断和同时控制多个远程终端窗口的程序,使用screen启动csgo服务器的好处是即使断开Putty与CentOS的远程连接,csgo服务器仍继续运行

先切换到root账户,命令:su root

再安装screen,命令:yum install screen -y

4.6.2 新建一个托盘用来运行csgo服务器,命令:screen -S csgo

注:csgo是托盘名称,可按自己喜好来命名。为防止多个托盘名字相同,系统会自动给托盘名称前面添加id,示例:4764.csgo

4.6.3 启动csgo服务器,启动方法在本文3.11章节

4.6.4 如有需要,可将csgo服务器程序切换到后台继续运行,方法:键盘上先按Ctrl+A,再按Ctrl+D

4.6.5 打开指定托盘,命令:screen -r csgo

注:如果只有一个托盘,可简化命令:screen -r

4.6.6 查看现有的所有托盘,命令:screen -ls

4.6.7 关闭指定托盘,命令:screen -S 4764.csgo -X quit

4.6.8 查看screen的所有指令,命令:screen -h

5 服务器设置128tick

5.1 参考本文3.11章节,修改csgo服务器启动项,将-tickrate 64改为-tickrate 128

5.2 验证128tick是否设置成功

客户端打开网络参数信息,控制台指令:net_graph 1

看到tick:128.0,即代表服务器是128tick

注:

① 若看到up:64.0/s和cmd:64.0/s,则需要玩家在控制台输入指令修改为128.0/s,控制台指令:cl_updaterate 128;cl_cmdrate 128

② 网络参数的解释

net_graph

第一行

fps:游戏帧数

var:电脑输出帧速率差,与玩家自己电脑硬件配置有关,此值越小越好

ping:客户端与服务器之间的延迟,此值越小越好

up:客户端从服务器下载数据的频率,此值应等于服务器的tick值

第二行

loss:服务器向客户端发送数据的丢包率,正常值为0%

choke:客户端向服务器发送数据的丢包率,正常值为0%

cmd:客户端向服务器上传数据的频率,此值应等于服务器的tick值

第三行

tick:服务器与客户端之间每秒交换数据的频率

sv:服务器处理每tick的用时,此值越小越好。当字体颜色变红时代表服务器性能不足,玩家会有卡顿感

var:服务器处理每tick的速度差,此值越小越好。当字体颜色变红时代表服务器性能不足,玩家会有卡顿感

online:代表当前使用的是在线服务器

③ 如果网络参数信息影响视线,可以关闭,控制台使用指令:net_graph 0

也可以使用下方的指令调整其显示位置和字体大小

net_graphpos 3 //此参数控制其在水平方向的位置(1偏右、2居中、3偏左)

net_graphheight 1030 //此参数控制其在垂直方向的位置,与电脑屏幕显示分辨率有关

net_graphproportionalfont 0.9 //此参数控制字体大小

6 添加第三方地图到服务器(创意工坊地图)

6.1 方法一(适合添加单张地图)

6.1.1 使用浏览器登录steam,在网页上方的菜单依次选择:社区-->创意工坊

在此页面上搜索栏输入游戏名来切换到csgo的创意工坊,csgo的全称是:Counter-Strike: Global Offensive

切换到csgo的创意工坊

6.1.2 切换到csgo的创意工坊后,页面内的搜索栏搜索地图名,打开地图详情页后在浏览器地址栏看到地图id(id是一串数字),同时订阅此地图

从浏览器地址栏中查找map的id

6.1.3 打开csgo游戏,等待游戏自动下载已订阅的地图。然后从STEAM创意工坊地图中打开此地图,确认是否能进入地图,同时记下此地图支持的游戏模式

查看地图所支持的游戏模式

6.1.4 打开csgo的创意工坊地图目录,一般情况下路径应该是:Steam\steamapps\common\Counter-Strike Global Offensive\csgo\maps\workshop

在workshop文件夹里可以找到与订阅地图相同id的地图文件夹(假设第三方地图id是2050926271,那么地图所在文件夹的名字就是2050926271)

6.1.5 打开WinSCP并连接到CentOS,打开路径/home/aaa/Steam/csgo-ds/csgo/maps,在这里新建一个workshop文件夹,并把2050926271文件夹传输到workshop中

6.1.6 参考本文3.11章节,需要修改启动项中的两个地方

改动一: 将+mapgroup mg_bomb和+map de_dust2删除,加上+map  workshop/2050926271/1v1.bsp

改动二: 将+game_type 0和+game_mode 1修改成地图支持的模式

注:

① 常用游戏模式

如果不清楚要用哪种模式,可以先试试自定义模式

关于游戏模式,可参考V社wiki文档,地址:https://developer.valvesoftware.com/wiki/CS:GO_Game_Modes

② 修改启动项时一定要注意空格的数量,例如连续的两个空格会导致空格之后的启动项失效

6.1.7 修改完启动项后就可以启动csgo服务器了,注意所有玩家也要在创意工坊订阅此地图,否则玩家会连接不到服务器

6.2 方法二(适合添加多张地图)

6.2.1 使用浏览器登录steam,在网页上方菜单依次选择:社区-->创意工坊

在此页面内的搜索栏搜索Counter-Strike: Global Offensive来切换到csgo的创意工坊

6.2.2 切换到csgo的创意工坊后,如下图所示,选择:浏览-->合集

然后点击右侧的创建合集,然后按要求填写信息,最后将创建的合集提交审核

在csgo的创意工坊里创建合集

6.2.3 经审核通过的合集,可以在创意工坊中找到,选择:浏览-->订阅的物品-->合集-->项目

点击打开合集,在浏览器地址栏链接里能找到合集的id(id是一串数字)

查找新建的合集从浏览器地址栏里查找合集的id

6.2.4 参考本文6.1.2章节,在创意工坊搜索地图,然后订阅并添加到新创建的合集中

另外还需要记录一个地图的id作为合集的默认地图

将地图添加到合集

6.2.5 在CentOS中,把合集中的全部地图id添加到地图列表maplist.txt中,命令:vi /home/aaa/Steam/csgo-ds/csgo/maplist.txt

同理,将合集中的全部地图id添加到地图循环列表mapcycle.txt中,命令:vi /home/aaa/Steam/csgo-ds/csgo/mapcycle.txt

6.2.6 参考本文3.11章节,需要修改启动项中的两个地方

改动一: 删除+mapgroup mg_bomb和+map de_dust2,加上+host_workshop_collection xxx +host_workshop_map xxx -authkey xxx

注:需分别将3个xxx替换为合集id、默认地图id、API密钥

API密钥获取地址:https://steamcommunity.com/dev/apikey

改动二: 将+game_type 0和+game_mode 1修改成默认地图所支持的模式,参考本文6.1.6章节

6.2.7 修改完启动项后就可以启动csgo服务器了,服务器启动时会自动从创意工坊中下载合集中的所有地图(这是方法一和方法二的最大区别)

另外有插件管理权限的玩家可以按Y在聊天框输入!admin或!map更换合集中的地图(一定要完成本文6.2.5章节中的两个添加地图id的操作)

注:

① 若使用!map切换地图时,可选列表并没有合集中的地图,可能是因为服务器从创意工坊下载地图比较慢,需要等它下载完才能切换地图

② 关于创意工坊合集的详细信息,请参考V社官方社区的指导文档:https://developer.valvesoftware.com/wiki/CS:GO_Workshop_For_Server_Operators:zh-cn

7 补充说明

7.1 csgo服务器启动失败的处理办法

csgo服务器启动成功的情况下,应该能看到最后两句话(见下图),第一句是说VAC有没有启用,第二句意思不太清楚,大概是说已启动哪个版本号的服务器,总之见到这两句才可认为服务器已启动成功

csgo服务器启动成功

反之,如果启动不成功就会出现各种各样的情况,就需要从启动日志里找报错的提示,然后在网上搜索解决办法。

情况一:启动日志里有连接不到server之类的语句,同时提示只能在局域网使用,大概率是csgo服务器连接不到steam造成的,这种网络问题全凭运气,只能尝试重启csgo服务器

情况二:因为linux系统更新或csgo服务器更新导致某些依赖库缺失的(这种在启动日志里很容易找到提示是丢失了什么文件或什么文件加载失败,在网上搜索怎么重新安装此文件即可,重新安装时要注意此文件是否适用你服务器系统,如debian系或redhat系,还有是否有32位和64位的区别)

关于2023年2月csgo更新导致的服务器启动故障,我写了对应的处理办法:B站专栏

情况三:长时间未启动csgo服务器,server.cfg里填写的那个token会自动失效(这种启动日志里有明显提示语句,重新申请一个token即可)

情况四:注意本文3.11章节里的启动项,每项之间只能有一个空格,连续的空格会使后面的启动项失效,导致csgo服务器某些功能缺失甚至服务器启动失败

7.2 玩家连接不到csgo服务器的处理办法

检查点一: 连接服务器的指令

检查ip地址是否正确?

检查是否含有中文标点符号?

CentOS的防火墙是否已开放启动项里指定的端口?(如果防火墙是关闭状态,可视为已开放全部端口)如果是云服务器,还需要在安全组里打开端口(有的云服务器厂家把安全组也叫做防火墙)

再次提醒:CentOS的防火墙和云服务器的安全组是两个不同的东西,都需要开放端口

客户端连接时所写的端口号与服务器端指定的端口号是否一致?

检查服务器是否有设置连接密码?

服务器连接密码是否正确?

检查点二: 地图文件

检查服务器端开启的是哪张地图,客户端的maps文件夹(或workshop文件夹)中是否有相同版本的地图,最好是客户端在离线模式下单独测试能否打开此地图

检查点三:csgo版本

服务器端的csgo需要手动执行更新命令,服务器端的csgo与玩家电脑上的csgo游戏版本不一致就会出现此问题。网上有自动更新csgo服务器的方法,有需要的请自行查找

7.3 MetaMOD和SourceMOD的故障处理

7.3.1 MetaMOD

MetaMOD是SourceMOD功能实现的基础,所以MetaMOD没有正常运行时,SourceMOD和其他大多数插件都会失效

当MetaMOD故障时,可以打开/addons/metamod/bin目录,找到metamod-fatal.log(无故障时不会生成此文件),里面会显示故障原因

故障示例:

MetaMOD故障示例

很明显是找不到libstdc++.so.6导致的故障,接下来以它为关键词在网上搜索解决方法即可

如果MetaMOD能正常运行,在启动csgo服务器后可查看MetaMOD的菜单,命令:meta

查看MetaMOD下的所有已安装插件,命令:meta list

查看MetaMOD的版本信息,命令:meta version

MetaMOD菜单

7.3.2 SourceMOD

大多数插件都是安装在SourceMOD下的,如果插件出现故障,可以打开/addons/sourcemod/logs目录,查看名称含有errors的log文件,里面会显示故障原因

故障示例:

SourceMOD故障示例

通过错误日志可以判断故障原因与PTaH插件有关,这个是解锁全皮肤要用到的插件,这些报错语句也看不太懂且日常玩游戏时没发现有什么bug,暂时就不处理它了

如果SourceMOD能正常运行,在启动csgo服务器后可查看SourceMOD的菜单,命令:sm

查看SourceMOD下的所有已安装插件,命令:sm plugins list

查看SourceMOD的版本号,命令:sm version

SourceMOD菜单

7.4 csgo常用控制台指令

注:

① 以上指令直接写在server.cfg中可能不会生效,建议另外新建一个cfg文件,然后在csgo服务器端使用exec指令加载新的cfg文件

② 关于bot的数量限制,优先级最高的是csgo服务器启动项中的-maxplayers_override 10,其次是bot_quota 5

例如启动项限制人数最多为10,而bot_quota值为15,真人玩家有3个,填充bot的方式是填满,那么最终地图中应该是3个真人玩家和7个bot

另外如果想让阵营一方为1个真人+2个bot,另一方为2个真人+4个bot,应禁用人数自动平衡,然后将最大相差人数设为大于等于3的值,或设为0不限制

③ 获取物品或武器的指令可参考另一篇专栏里的5.6章节

④ 如需了解其他的可用指令,可参考V社的wiki,网址:https://developer.valvesoftware.com/wiki/List_of_CS:GO_Cvars

7.5 更新csgo服务器

7.5.1 在CentOS里,打开路径/home/aaa/Steam,找到steamcmd.sh(如果没有,则按本文3.5章节的步骤重新下载并解压),同路径下创建一个脚本用来更新csgo,命令 :vi update-csgo.sh,写入:

然后保存并退出,再赋予脚本可执行权限,命令:chmod +x update-csgo.sh

7.5.2 当csgo游戏更新时也要更新csgo服务器,命令:./home/aaa/Steam/update-csgo.sh

7.6 CentOS防火墙相关的命令

7.7 CentOS的常用命令

7.7.1 查看CentOS版本,命令:cat /etc/redhat-release

7.7.2 查看CentOS磁盘占用情况

查看CentOS的磁盘整体占用情况,命令:df -hl

查看csgo服务器的整体大小:du -h --max-depth=0 /home/aaa/Steam/csgo-ds

查看csgo服务器中workshop文件夹的大小,命令:du -h --max-depth=0 /home/aaa/Steam/csgo-ds/csgo/maps/workshop

查看csgo服务器中workshop里每个地图文件的大小,命令:du -h --max-depth=0 /home/aaa/Steam/csgo-ds/csgo/maps/workshop/*

7.7.3 查看CentOS内存占用情况

① 运行free命令:free -h

② 每5秒刷新一次内存占用情况,命令:free -h -s5

③ 关闭每5秒刷新方法:键盘Ctrl+C

7.7.4 查看CentOS资源占用情况,命令:top

使用键盘按键(注意字母的大小写)可以改变显示形式:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有