1 前言
搭建CSGO服务器比较简单,Valve开发者社区wiki也给出了安装指导,也可以使用LinuxGSM更快捷的搭建。这里根据我自己搭建服务器的经历做一个记录(不是用LinuxGSM)

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

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

注:

① 没有公网IP,则搭建的服务器只能在局域网内使用,解决办法是内网穿透

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

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

2.2 开启CentOS的27015端口

csgo服务器使用的默认端口为27015,需要在防火墙中开启27015的tcp和udp,如果是云服务器则需要在安全组中进行设置

依次输入下方的命令(//之后的是注释,不需要输入):

su root //切换到root账户,需要输入root密码

systemctl enable firewalld.service //设置开机启用防火墙

systemctl start firewalld.service //开启防火墙

firewall-cmd --zone=public --add-port=27015/tcp --permanent //开启27015 TCP端口

firewall-cmd --zone=public --add-port=27015/udp --permanent //开启27015 UDP端口

firewall-cmd --reload //重新加载防火墙使配置生效

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

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

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

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

获取token
2.4 下载两个基础插件,下载时选择linux版本

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

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

2.5 下载安装windows版本的Xshell和Xftp软件,官网提供的免费版本即可

官网免费版的下载页面:https://www.xshell.com/zh/free-for-home-school

Xshell用途:通过ssh协议连接服务器。同类的终端软件还有putty,也可以使用windows的cmd命令行进行连接

Xftp用途:① 向服务器端传输插件、Mod、第三方地图等文件;② 如果不喜欢使用linux命令的话,可以用Xftp进行新建文件夹、解压文件、编辑文档等操作

3 搭建服务器
3.1 使用Xshell连接到CentOS,以root账户登录后,首先更新CentOS的软件库,命令:yum update

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

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

注:不同linux版本对应的指令不同,x64和x86的也不同

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

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

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

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

最后切换到用户steam的根目录,命令:cd

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

3.4 将SteamCMD的安装包下载到用户steam的根目录,命令: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

下载完成后,命令行会变成以Steam>开头

注:

① 如果提示bash: wget: command not found,则需要用命令su root切换到root账户再安装wget下载命令器,命令:yum install wget -y,安装wget后再切换回steam账户的根目录

② 接下来的3.5~3.7步骤均在是Steam>后输入命令

3.5 指定服务器端的csgo的安装目录,命令:force_install_dir ./csgo_server

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

3.7 安装以及校验csgo,命令:app_update 740 validate

要下载的游戏文件大概有30G大小,等下载完后退出steam>,命令:exit

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

空间不足报错 0x202
3.8 理论上服务器已安装完成,还可以安装SourceMOD和MetaMOD这两个基础的插件,其他插件依个人需求来安装

注:使用解锁皮肤相关的插件可能违反V社规定,有封号风险

3.9 在CentOS里,打开csgo游戏文件目录,命令:cd /home/steam/csgo_server/csgo/

再输入命令:ls

可以看到一个名为cfg的文件夹,本文3.12章节会用到,现在不用管它

另外再新建一个addons文件夹,命令:mkdir /home/steam/csgo_server/csgo/addons

注:addons文件夹存放的是插件、Mod和第三方地图文件。

3.10 以安装SourceMOD为例,根据本文2.4章节下载到安装包,解压后得到addons和cfg两个文件夹,将这两个文件夹里的所有东西通过Xftp传输到服务器端对应的addons和cfg中

同样的操作也适用于安装MetaMOD

注:传输过程中提示文件重复,选择全部覆盖

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

在CentOS里,修改插件的配置文件,命令:vi /home/steam/csgo_server/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
在CentOS里,在cfg文件夹里新建一个server.cfg文件,命令:vi /home/steam/csgo_server/csgo/cfg/server.cfg

然后按下键盘的i键进入编辑模式,写入以下蓝色字体的内容(黑色字体的是注释内容,可以删掉,但建议也写上)

sv_setsteamaccount "xxx" //设置服务器登录令牌,将xxx替换为本文2.3章节获取的token

hostname "xxx的服务器" //设置服务器名称,游戏内按Tab打开计分板,会在右上角显示

sv_region 4 //设置服务器区域为亚洲

rcon_password "" //在引号内填写远程连接服务器控制台的密码,引号内不填就是不设密码

sv_password "" //在引号内填写客户端连接服务器的密码,引号内不填就是不设密码

sv_maxrate "196608" //设置服务器最大宽带使用量,网上也有建议填最大值786432

sv_minrate "80000" //设置服务器最小宽带使用量

mp_match_end_restart 0 //一局比赛结束后自动重开

mp_autokick 0 //防止自杀次数过多被服务器踢出房间

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

注:以上是基础的开服配置指令,更多指令在本文7.2章节

3.13 启动csgo服务器

在CentOS里,打开srcds_run文件所在目录,指令:cd /home/steam/csgo_server

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

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

./srcds_run -game csgo -insecure -usercon -console -debug -nomaster +port 27015 +mapgroup mg_bomb +map de_dust2 +game_type 0 +game_mode 1 +exec server.cfg -maxplayers_override 10 -tickrate 64

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

,代表csgo服务器启动完成

方式② 写一个包含启动项的启动脚本,命令:vi /home/steam/csgo_server/start.sh,按下键盘的i键进入编辑模式,写入:

/home/steam/csgo_server/srcds_run -game csgo -insecure -usercon -console -debug -nomaster +port 27015 +mapgroup mg_bomb +map de_dust2 +game_type 0 +game_mode 1 +exec server.cfg -maxplayers_override 10 -tickrate 64

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

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

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

注:

① 配置服务器27015端口的方法在本文2.2和7.5章节

② 关于启动项的说明在本文7.3章节

③ 服务器端更新csgo的方法在本文7.4章节

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

4 日常使用
4.1 启动csgo服务器,启动方法在本文3.13章节

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

⑤ 客户端连接服务器失败的检查方法在本文7.1章节

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

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

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

② 插件没安装好,启动服务器后在Xshell中查询所有已安装的插件,命令:meta list

查询已安装的插件
③ 没有设置管理员权限,按本文3.11章节的步骤进行配置

4.4 更换地图

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

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

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

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

4.5 开启作弊

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

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

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

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

4.6.1 安装screen

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

在CentOS里安装screen,命令:yum install screen

注:如果安装时提示权限不足,需切换到root账户后再安装screen,命令:su root

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

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

4.6.3 然后启动csgo服务器,启动方法在本文3.13章节

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

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

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

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

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

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

5 服务器设置128tick
5.1 参考本文3.13章节,修改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
打开csgo游戏,等待游戏自动下载已订阅的地图。然后从STEAM创意工坊地图中打开此地图,确认是否能进入地图,同时记下此地图支持的游戏模式

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

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

6.1.5 打开Xftp并连接到CentOS,打开路径/home/steam/csgo_server/csgo/maps,在这里新建一个workshop文件夹,并把2050926271文件夹传输到workshop中

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

① 将+mapgroup mg_bomb和+map de_dust2删除,加上+map  workshop/2050926271/1v1.bsp

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

注:常用游戏模式

    模式            game_type    game_mode

【休闲模式】        0                    0

【竞技模式】        0                    1

【搭档模式】        0                    2

【军备竞赛】        1                    0

【爆破模式】        1                    1

【死亡竞赛】        1                    2

【练习模式】        2                    0

【自定义模式】    3                    0

【守护模式】        4                    0

【合作精英】        4                    1

【武器专家】        5                    0

【头号特训】        6                    0

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

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

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

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

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

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

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

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

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

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

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

查找新建的合集
从浏览器地址栏里查找合集的id
参考本文6.1.2章节,在创意工坊搜索地图,然后订阅并添加到新创建的合集中。

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

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

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

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

① 删除+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切换地图时,可选列表并没有合集中的地图,可能是因为服务器从创意工坊下载地图比较慢,需要等它下载完才能切换地图

7 补充说明
7.1 客户端连接不到服务器的原因

① 检查连接服务器的指令

检查ip地址是否正确?

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

CentOS是否打开启动项里指定的端口?如果是云服务器可能还需要在安全组里打开端口

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

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

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

② 检查地图文件

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

7.2 csgo常用指令

bot_quota 5 //bot的最大数量

bot_quota_mode fill //填充bot的方式是填满

mp_autoteambalance 0 //双方阵营人数自动平衡(0禁用;1启用)

mp_limitteams 0 //双方阵营最大相差人数(0代表不限制)

mp_maxrounds 30 //休闲&竞技模式最大局数设为30局

mp_warmuptime 10 //热身时间改为10秒

mp_warmup_end //提前结束热身

mp_roundtime 60 //死亡竞赛模式每局时间60分钟

mp_roundtime_hostage 60 //人质图每局时间60分钟

mp_roundtime_defuse 60 //休闲&竞技模式每局时间60分钟

mp_freezetime 0 //开局出生原地冻结时间0秒

mp_free_armor 2 //甲(2大甲;1小甲;0无甲)

mp_drop_knife_enable 1 //可以扔掉匕首

sv_full_alltalk 1 //开启全局语音(无论CT、T、死、活、观察者)

mp_round_restart_delay 5 //回合结束的等待时间(休闲默认10秒,竞技默认5秒)

mp_maxmoney 60000 //最高金钱60000

mp_startmoney 60000 //出生金钱为60000

mp_buytime 3600 //开局购买时间3600秒(1小时)

mp_buy_anywhere 1 //在任意地点都能购买武器

mp_respawn_on_death_ct 1 //开启CT死后在家复活(0死了不复活)

mp_respawn_on_death_t 1 //开启T死后在家复活(0死了不复活)

sv_infinite_ammo 1 //弹药及投掷物无限(0关闭1无限弹药不换弹夹2无限备弹)

sv_grenade_trajectory 1 //显示投掷物飞行轨迹

sv_grenade_trajectory_time 6 //投掷物飞行轨迹显示时长6秒

sv_grenade_trajectory_thickness 3 //轨迹线粗细(3加粗)

sv_grenade_trajectory_dash 1 //轨迹线类型(0单色线;1双色线)

sv_showimpacts 2 //显示着弹点(1红蓝2仅红;红/蓝:本地/服务器计算的着弹点)

sv_showimpacts_time 3 //着弹点的显示时长3秒

mp_restartgame 1 //1秒后刷新游戏

注:

① 以上指令直接写在server.cfg中可能不会生效,建议另外新建一个cfg文件,然后在服务器端使用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.3 服务器启动项说明

-game csgo //指定游戏为csgo

-insecure //禁用VAC(-secure是启用VAC)

-usercon //允许拥有rcon密码的人进行远程管理

-console //启用控制台输出

-nomaster //隐匿服务器的公网IP(防止别人恶意攻击服务器)

-debug //打开调试模式

+port 27015 //服务器端口默认是27015,可更改端口号(同时在服务器防火墙或安全组里打开此端口的TCP和UDP,配置防火墙的相关命令在本文2.2和7.5章节)

+mapgroup mg_bomb //设置地图组为拆弹地图组

+map de_dust2 //设置默认打开的地图,这里de_dust2指炙热沙城2

+game_type 0 //设置game_type,具体说明在本文6.1.6章节

+game_mode 1 //设置game_mode,具体说明在本文6.1.6章节

+exec server.cfg //服务器启动时自动执行server.cfg

-maxplayers_override 10 //设置服务器的最大玩家数量

-tickrate 64 //设置服务器为64tick

其他可选的启动项

+host_workshop_collection xxx //设置服务器使用创意工坊地图合集,将xxx替换为合集id

+host_workshop_map xxx //设置服务器使用创意工坊地图合集时默认打开的地图,将xxx替换为地图id

-authkey xxx //使用创意工坊地图合集时需要填写密钥,将xxx替换为API密钥

注:常用地图组名称

mg_bomb //拆除地图组

mg_casualsigma //炸弹拆除地图组I号

mg_casualdelta //炸弹拆除地图组II号

mg_hostage //人质解救地图组

mg_reserves //后备生涯地图组

mg_demolition //爆破模式地图组

mg_armsrace //军备竞赛地图组

7.4 服务器端更新csgo

7.4.1 在CentOS里,打开路径/home/steam,找到steamcmd.sh(如果没有,则按本文3.4章节的步骤重新下载并解压),同路径下新建一个txt文档,命令:vi update_csgo.txt,写入:

force_install_dir ./csgo_server

login anonymous

app_update 740

quit

然后保存并退出

7.4.2 与steamcmd.sh同路径下创建一个脚本用来更新csgo,命令 :vi csgo_server_update.sh,写入:

#!/bin/bash

./steamcmd.sh +runscript update_csgo.txt

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

7.4.3 当客户端的csgo更新时,服务器端的csgo也需要更新

在服务器端先打开路径/home/steam,再运行此脚本即可,命令:./csgo_server_update.sh

7.5 CentOS开启防火墙端口的相关命令

firewall-cmd --state //查看防火墙状态

systemctl enable firewalld.service //开机启用防火墙

systemctl start firewalld.service //开启防火墙

firewall-cmd --zone=public --add-port=27015/tcp --permanent //开启27015 TCP端口

firewall-cmd --zone=public --add-port=27015/udp --permanent //开启27015 UDP端口

firewall-cmd --reload //重新加载防火墙使配置生效

firewall-cmd --zone=public --list-ports //查看防火墙指定空间的所有开放端口

firewall-cmd --list-all //查看防火墙所有开放端口

systemctl disable firewalld.service //开机禁用防火墙

systemctl stop firewalld.service //关闭防火墙

systemctl restart firewalld.service //重启防火墙

firewall-cmd --zone=public --remove-port=27015/tcp --permanent //关闭27015端口TCP

7.6 CentOS的常用命令

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

7.6.2 查看磁盘占用情况

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

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

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

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

7.6.3 查看内存占用情况,命令:free -h

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

使用Ctrl+C退出刷新

注:

-h 取整数显示

-k 以Kb为单位

-m 以Mb为单位

-s delay 刷新间隔

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

使用键盘按键改变显示形式:

space 立即刷新

Q 退出

1 切换显示不同CPU的负载率

M 按内存占用排序

P 按cpu占用排序

m 切换内存占用显示形式

t 切换cpu占用显示形式

c 切换显示命令名称和完整命令行

i 不显示闲置(Idle)或无用(Zombie)进程

d 指定更新间隔

注:

VIRT 虚拟内存占用量

RES 物理内存占用量

SHR 共享内存占用量

S 进程状态(S休眠;R运行;Z僵死;N此进程优先级为负数)

%CPU CPU使用率

%MEM 内存使用率