织音云(www.zhiyinidc.com)可为部分小型CNCS比赛提供服务器,需要请联系商务或客服
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 内存使用率