转载自https://www.bilibili.com/read/cv16824745?spm_id_from=333.999.0.0
1 前言
l4d2是发行于2009年的老游戏了,网上搭建服务器的教程特别多,这里根据我自己搭建服务器的经历做一个记录

2 准备工作
2.1 带公网IP的电脑或云服务器,安装CentOS_7.x x64版本的系统(无图形化界面)
注:
① 没有公网IP,则搭建的服务器只能在局域网内使用,解决办法是内网穿透
② 服务器硬盘可用空间最好不低于15G(l4d2游戏文件约10G,其他空间预留给游戏更新包、插件、Mod、第三方地图)
③ 建议安装无图形化界面的CentOS以节省资源开销,提高服务器性能
2.2 下载4个插件,均下载linux版本,注意分辨“l4d”和“l4d2”
SourceMOD 下载地址:https://www.sourcemod.net/downloads.php?branch=stable
MetaMOD 下载地址:http://metamodsource.net/downloads.php?branch=stable
l4dtoolz 下载地址:https://github.com/accelerator74/l4dtoolz
Tickrate Enabler 下载地址:https://github.com/accelerator74/Tickrate-Enabler
注:
① l4dtoolz 用于解锁多人战役(官方战役模式最多4人),如果没有此需求可以不装
② Tickrate Enabler 用于解锁服务器最高30tick的限制,如没有此需求可以不装
2.3 下载安装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通过SSH协议连接到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,安装之后再切换回steam账户的根目录
② 接下来的3.5~3.7步骤均在是Steam>后输入命令
3.5 指定服务器端的l4d2的安装目录,命令:force_install_dir ./l4d2server
3.6 匿名登录steam,命令:login anonymous
3.7 安装以及校验l4d2,命令:app_update 222860 validate
要下载的游戏文件大概有9.2G大小,等下载完后退出steam>,命令:exit
注:如果下载时报错:Error! app '222860' state is 0x202 after update job.,原因是安装l4d2的磁盘分区可用空间不足,查看硬盘可用空间的方法在本文7.12.2章节
3.8 理论上l4d2服务器已安装完成,接下来安装SourceMOD和MetaMOD这两个基础插件
如果不想安装任何插件,请略过3.9~3.11步骤,直接从3.12步骤继续配置服务器
如果需要安装插件,就将下载好的linux版插件压缩包进行解压,同时使用Xftp软件连接到CentOS,方便下个步骤将插件传输到服务器端
3.9 在CentOS里,打开l4d2游戏文件目录,命令:cd /home/steam/l4d2server/left4dead2/
再输入命令:ls
可以看到一个名为cfg的文件夹,本文3.12章节会用到,现在不用管它
另外再新建一个addons文件夹,命令:mkdir /home/steam/l4d2server/left4dead2/addons
注:addons文件存放的是第三方插件和第三方地图文件
3.10 以安装SourceMOD为例,根据本文2.2章节下载到安装包,解压后得到addons和cfg两个文件夹,将这两个文件夹里的所有东西分别通过Xftp传输到服务器端对应的addons和cfg中
同样的操作也适用于安装MetaMOD
注:
① 传输过程中提示文件重复,选择全部覆盖
② 安装l4dtoolz,需要将解压后得到的两个文件夹l4dtoolz和metamod直接传输到服务器端addons文件夹中
③ 安装Tickrate Enabler,需要将解压后得到的两个文件tickrate_enabler和tickrate_enabler.vdf也直接传输到服务器端addons文件夹中
3.11 安装插件后,就需要设置管理员权限来管理插件
在CentOS里,修改插件的配置文件,命令:vi /home/steam/l4d2server/left4dead2/addons/sourcemod/configs/admins_simple.ini,按下键盘的i键进入编辑模式,将光标移动到文档末端,按下键盘的Enter键另起一行,写入:
"STEAM_x:x:xxxxxxxxx" "99:z"
然后按下键盘的Esc键,再输入:wq即可保存并退出
注:
① 这里的STEAM_x:x:xxxxxxxxx要替换为自己的steamID
② 如果还要添加更多的管理员,再另起一行按同样格式进行书写
③ 99:z指的是权限大小,一般不需要调整权限,照抄就行
④ 获取steamID有两种方法
方法一:打开l4d2游戏进入任意地图关卡,控制台输入status就会显示玩家的steamID
方法二:在浏览器中登录steam网站,打开个人资料页面,将地址栏的网址复制到查询网站的搜索框即可搜索出steamID,SteamID查询网址:https://steamid.io/lookup/

3.12 在CentOS里,在cfg文件夹里新建一个server.cfg文件,命令:vi /home/steam/l4d2server/left4dead2/cfg/server.cfg,按下键盘的i键进入编辑模式,写入以下蓝色字体的内容(黑色字体的是注释内容,可以删掉,但建议也写上)
rcon_password "" //在引号内填写远程管理密码,引号内不填即为不设密码
sv_password "" //在引号内填写服务器密码,引号内不填即为不设密码
sv_allow_lobby_connect_only 0 //是否允许从大厅选择组服务器来连接,0为不允许
sv_tags hidden //在服务器浏览列表的中隐藏(防止别人恶意攻击服务器)
sm_cvar sv_gametypes coop //游戏模式:coop合作;versus对抗;survival生存;realism写实
z_difficulty Normal //游戏难度:easy简单;normal普通;hard高级;impossible专家
sm_cvar sv_region 4 //设定服务器地区为亚洲
sm_cvar sv_consistency 0 //关闭模型(mod)冲突
sm_advertisements_enabled 1 //插件开关:1为开;0为关
sm_cvar sb_all_bot_game 1 //防止人数不足而自动关闭
写入完成后按下键盘的Esc键,再输入:wq即可保存并退出
注:以上是基础的开服配置指令,更多指令在本文7.2章节
3.13 启动l4d2服务器
在CentOS里,打开srcds_run文件所在目录,命令:cd /home/steam/l4d2server
接下来有两种方式启动l4d2服务器
方式一:使用srcds_run配合启动项来启动l4d2服务器,在Xshell中输入命令:
./srcds_run -game left4dead2 -insecure +hostport 27015 -condebug +map c2m1_highway +exec server.cfg -nomaster
稍等片刻,看到Connection to Steam servers successful. VAC secure mode disabled.,代表l4d2服务器启动完成
方式二:新建一个启动脚本,命令:vi /home/steam/l4d2server/start.sh,写入:
/home/steam/l4d2server/srcds_run -game left4dead2 -insecure +map c1m2_streets -condebug +exec server.cfg -nomaster
写入后保存并退出
再给脚本赋予可执行权限,命令:chmod +x start.sh
最后运行此脚本启动l4d2服务器,命令:./start.sh
注:
① 服务器启动失败的可能原因在本文7.1章节
② 关于启动项的说明在本文7.3章节
③ 服务器端更新l4d2的方法在本文7.10章节
3.14 关闭l4d2服务器,在服务器端输入命令:quit 或 exit
3.15 自定义今日消息内容
玩家连接服务器进入地图后会有一个今日消息的显示窗口(按H键打开),此内容保存在服务器端的motd.txt中,文件所在路径为:/home/steam/l4d2server/left4dead2
如需自定义内容,建议在同路径下新建一个motd1.txt文档,将要展示的内容写在里面,同时在服务器端的server.cfg中添加指令:motdfile "motd1.txt"
注:
① 今日消息的内容有字数限制,超出限制的部分不显示
② 今日消息不仅支持文本,也支持显示图片和网页。如文本显示乱码,需要将motd1.txt以utf-8编码进行保存

4 日常使用
4.1 启动服务器,启动方法在本文3.13章节
4.2 玩家打开l4d2游戏,打开控制台,输入服务器ip地址和端口号,指令:connect xx.xx.xx.xx:27015
注:这里将xx.xx.xx.xx替换为服务器的公网IP,同时将27015替换为启动项里指定的端口号
4.3 服务器安装SourceMOD和MetaMOD插件并且已经设置过管理员权限后,有权限的玩家可以按Y打开游戏内聊天框,输入指令打开插件的功能菜单,指令:!admin或/admin
注:如果输入!admin没有出现菜单,可能的原因有
① !admin指令中要使用英文感叹号
② 插件没安装好,启动服务器后在服务器端查询所有已安装插件,命令:meta list
③ 没有设置管理员权限,按本文3.11章节的步骤进行配置
4.4 更换地图或关卡
方法① 在Xshell输入map 地图关卡名格式的换图指令,服务器换图时会断开连接,所有玩家需要重连服务器
方法② 在Xshell输入changelevel 地图关卡名格式的换图指令,所有玩家会加载指定的地图章节,不需要玩家重连服务器
方法③ 已安装SourceMOD和MetaMOD插件且有管理权限的玩家可以按Y键打开游戏内聊天框,输入!admin或!map打开菜单更换地图
注:查询地图关卡名的方法在本文7.9章节
4.5 开启作弊
方法① 启动服务器后,在Xshell输入命令:sv_cheats 1
方法② 有管理权限的玩家在游戏内控制台使用指令:sm_cvar sv_cheats 1
注:方法①和②的区别就是加了远程管理的命令sm_cvar,同理在客户端控制台使用无敌指令god 1也要先加上sm_cvar;但获取物品类的指令不需要加sm_cvar,例如获取AK的指令:give rifle_ak47

5 服务器设置60tick / 100tick
5.1 服务器端需要的配置
5.1.1 在服务器端安装Tickrate Enabler插件,安装方法在本文2.11章节
5.1.2 在CentOS里,打开路径/home/steam/l4d2server/left4dead2/cfg/,找到server.cfg
如果是设置60tick,则在server.cfg里新增以下指令:
sm_cvar net_splitpacket_maxrate 30000
sm_cvar nb_update_frequency 0.024
sm_cvar tick_door_speed 1.3
sm_cvar fps_max 0
sm_cvar sv_minrate 60000
sm_cvar sv_maxrate 60000
sm_cvar sv_mincmdrate 60
sm_cvar sv_maxcmdrate 60
sm_cvar sv_minupdaterate 60
sm_cvar sv_maxupdaterate 60
sm_cvar sv_client_min_interp_ratio -1
sm_cvar sv_client_max_interp_ratio 2
如果是设置100tick,则在server.cfg里新增以下指令:
sm_cvar net_splitpacket_maxrate 50000
sm_cvar nb_update_frequency 0.024
sm_cvar tick_door_speed 1.3
sm_cvar fps_max 0
sm_cvar sv_minrate 100000
sm_cvar sv_maxrate 100000
sm_cvar sv_mincmdrate 100
sm_cvar sv_maxcmdrate 100
sm_cvar sv_minupdaterate 100
sm_cvar sv_maxupdaterate 100
sm_cvar sv_client_min_interp_ratio -1
sm_cvar sv_client_max_interp_ratio 2
5.1.3 启动l4d2服务器时,在启动项里添加一项:-tickrate 60 或 -tickrate 100
5.2 以下是客户端需要的配置
5.2.1 打开steam安装路径:\Steam\steamapps\common\Left 4 Dead 2\left4dead2\cfg,新建一个autoexec.cfg文件,写入以下命令后保存即可
rate 30000
cl_cmdrate 100
cl_updaterate 100
5.2.2 设置客户端的lerp值,在autoexec.cfg中继续添加以下两条指令:
cl_interp_ratio 0
cl_interp 0
注:客户端较低的lerp值配合服务器端的100tick可以有效降低游戏延迟,关于lerp的说明在本文7.4和7.5章节

6 服务器保持后台运行
6.1 安装screen
Screen是能防止网络异常中断和同时控制多个远程终端窗口的程序,使用screen启动服务器的好处是即使断开Xshell与CentOS的远程连接,服务器仍继续运行
在CentOS里安装screen,命令:yum install screen
注:如果安装时提示权限不足,切换到管理员身份输入管理员密码后再安装screen,命令:su root
6.2 新建一个托盘用来运行l4d2服务器,命令:screen -S qiusheng
注:“qiusheng”是托盘名称,可按自己喜好来命名。为防止多个托盘名字相同,系统会给托盘名称前面添加id,示例:4764.qiusheng
6.3 然后启动服务器,启动方法在本文3.13章节
6.4 如有需要,可将l4d2服务器程序切换到后台继续运行,方法:键盘上先按Ctrl+A,再按Ctrl+D
6.5 打开指定托盘,命令:screen -r qiusheng
注:如果只有1个托盘,命令简化为:screen -r
6.6 查看现有的所有托盘,命令:screen -ls
6.7 关闭指定托盘,命令:screen -S 4764.qiusheng -X quit
6.8 查看screen的所有指令,命令:screen -h

7 补充说明
7.1 服务器无法正常启动
第一次启动服务器时曾遇到此问题,经排查是Tickrate Enabler版本过旧造成的(2021年l4d2有一次大更新),将其替换成从github上获取的新版本即可解决
总之,服务器启动不成功的原因大多与插件有关,逐个排查插件一般能解决。
更常见的是客户端连接服务器出现问题,常见的原因有客户端把网址和端口号写错的、客户端的addons文件夹里没有对应的地图文件、客户端下载的地图版本号与服务器端的地图版本号不一致
7.2 服务器端server.cfg补充指令
sm_cvar sv_forcepreload 1 //强制所有客户端预加载
sm_cvar sv_client_predict 1 //强制所有客户端进行预测
motdfile "motd1.txt" //防止游戏更新时覆盖默认的motd.txt文档
sm_cvar survivor_burn_factor_easy 0 //关闭简单难度的火焰伤害
sm_cvar survivor_burn_factor_normal 0 //关闭普通难度的火焰伤害
sm_cvar survivor_burn_factor_hard 0 //关闭高级难度的火焰伤害
sm_cvar survivor_burn_factor_expert 0 //关闭专家难度的火焰伤害
sm_cvar survivor_allow_crawling 1 //倒地后可以移动(默认不可移动)
sm_cvar survivor_crawl_speed 100 //倒地后的移动速度为100
sm_cvar survivor_limp_health 25 //设置血量低于25后为减速状态(默认40)
sm_cvar survivor_revive_duration 1 //救起队友需要1秒(默认5秒)
sm_cvar first_aid_kit_use_duration 1 //使用急救包需要1秒(默认秒)
sm_cvar ammo_smg_max 900 //冲锋枪备弹量(默认650)
sm_cvar ammo_assaultrifle_max 900 //步枪备弹量(默认360)
sm_cvar ammo_shotgun_max 500 //单喷备弹量(默认72)
sm_cvar ammo_autoshotgun_max 500 //连喷备弹量(默认90)
sm_cvar ammo_huntingRifle_max 500 //1代狙备弹量(默认150)
sm_cvar ammo_sniperrifle_max 500 //2代狙备弹量(默认180)
sm_cvar ammo_m60_max 900 //M60备弹量(默认0)
sm_cvar ammo_grenadelauncher_max 100 //榴弹发射器备弹量(默认30)
sm_cvar rescue_min_dead_time 10 //玩家死亡10秒后复活在任意房间(默认60s)
sm_cvar director_afk_timeout 60 //设置玩家60s无操作自动闲置(默认45秒)
sm_cvar sb_melee_approach_victim 1 //启用bot使用近战武器(默认0不启用)
sm_cvar sb_max_team_melee_weapon 4 //设置能使用近战武器的bot数量(默认0)
sm_cvar sb_temp_health_think_factor 0.4 //设置血量低于40后bot使用医疗包(默认0.5)
sm_cvar allow_all_bot_survivor_team 1 //所有玩家死亡后bot继续游戏(默认0)
注:参考V社的wiki,网址:https://developer.valvesoftware.com/wiki/List_of_L4D2_Cvars
7.3 服务器启动项说明
-game left4dead2 //指定游戏为求生之路2
-insecure //禁用 VAC(-secure是启用VAC)
+hostport 27015 //服务器端口默认是27015,可更改端口号(同时在服务器防火墙或安全组里打开此端口的TCP和UDP,配置防火墙的相关命令在本文7.11章节)
+condebug //在left4dead2文件夹下生成console.log的记录文件
+exec server.cfg //服务器启动时自动执行server.cfg
-nomaster //隐匿服务器的公网IP(防止别人恶意攻击服务器)
+map c1m2_streets //设置默认打开的地图,这里c1m2_streets是官方地图关卡的名称
-tickrate 100 //设置服务器为100tick
7.4 客户端修改lerp
以修改50 lerp为例,在控制台输入以下两条指令(或者将指令添加到autoexec.cfg中)
cl_interp_ratio 1;
cl_interp 0.05;
注:
① cl_interp的默认值是0.1(即100 lerp),最大值0.5(即500 lerp) 最小值0(即0 lerp),数值越大,HitBox和贴图的偏离度就越大
② cl_interp_ratio的默认值是2,最低为0
想要0~10 lerp的把此值设为0,其他情况下把值设成1
③ 多数玩家的lerp值设为0或50,这个没有好坏之分,依自己实际游戏体验来设置
7.5 验证lerp和100tick是否设置成功
玩家在l4d2游戏中打开网络参数信息,控制台指令:net_graph 1
如果这些参数信息影响视线,可以使用以下指令调整其位置
net_graphpos 3 //此参数控制其在水平方向的位置(1偏右、2居中、3偏左)
net_graphheight 1030 //此参数控制其在垂直方向的位置,与电脑屏幕显示分辨率有关

注:
rate 客户端每秒接收数据包大小的上限,默认值为10000(Byte字节)
cl_updaterate 客户端每秒向服务器请求刷新的次数,默认值为20 (即20tick)。如果值过大,超过了服务器的tick值的那部分算是浪费资源
cl_cmdrate 客户端每秒向服务器汇报的次数上限,默认值为30(即30tick),最大值为100。如果值过大,超过了服务器的tick值的那部分算是浪费资源
7.6 插件获取渠道
① 从SourceMOD论坛获取,论坛网址:https://www.sourcemod.net/plugins.php
下图以夜视仪插件为例,下载完解压得到smx格式的夜视仪插件


② 大佬们制作的插件整合包
常用的有望夜插件整合包和豆瓣酱插件整合包
7.7 服务器端的插件安装规则
从各渠道获取的插件一般包含多个文件,可按文件拓展名来分别放在服务器端的对应目录
.smx 插件的核心部分,安装位置为:\left4dead\addons\sourcemod\plugins
.cfg 配置文件,安装位置为:\left4dead\cfg\sourcemod
.sp 源码,可以不用安装,安装位置为:\left4dead\addons\sourcemod\scripting
.txt 安装位置为:\left4dead\addons\sourcemod\gamedata
注:一般在cfg格式的文件中可以找到插件的使用说明和参数调整说明
7.8 添加第三方地图到服务器
7.8.1 下载第三方地图,常用的地图下载网站:https://www.gamemaps.com/
下载后解压得到vpk格式的地图文件
7.8.2 在CentOS里,打开路径/home/steam/l4d2server/left4dead2/addons/,将vpk格式的地图文件通过Xftp传输到服务器端的addons文件夹中即可
7.8.3 操作服务器打开第三方地图,方法在本文4.4章节
如果服务器提示找不到地图,或用插件更换地图时找不到对应地图关卡,可能是地图文件名含有特殊字符,例如“.”。经测试空格、汉字不会影响服务器识别地图
以地图“广州增城”为例,地图名中含有“Lv7.3”,把它改成“v7_3”就能被服务器识别了,这个只修改服务器中的地图名,客户端不用修改
注:客户端也要在l4d2游戏安装目录中的addons文件夹中放入相同版本的vpk地图文件,否则客户端会连接不上服务器
7.9 获取地图关卡名
7.9.1 下载安装windows版本的地图解包软件GCFScape,下载地址:https://nemstools.github.io/pages/GCFScape-Download.html
7.9.2 在GCFScape中打开vpk格式的地图文件,找到missions文件夹,打开里面的txt文档,即可找到每个关卡的名称

7.10 服务器端更新l4d2
7.10.1 在CentOS里,打开路径/home/steam,找到steamcmd.sh(如果没有,则按本文3.4章节的步骤重新下载),同路径下新建一个txt文档,命令:vi update_l4d2.txt,写入:
force_install_dir ./l4d2server
login anonymous
app_update 222860
quit
然后保存并退出
7.10.2 与steamcmd.sh同路径下新建一个脚本用来更新l4d2,命令 :vi l4d2server_update.sh,写入:
#!/bin/bash
./steamcmd.sh +runscript update_l4d2.txt
然后保存并退出,再给脚本赋予可执行权限,命令:chmod +x l4d2server_update.sh
7.10.3 当服务器端l4d2需要更新时,服务器端的l4d2也需要更新
在服务器端打开路径/home/steam,然后运行此脚本,命令:./l4d2server_update.sh
7.11 CentOS开启防火墙端口的相关命令
su root //切换到root账户才能配置防火墙
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.12 CentOS的常用命令
7.12.1 查看CentOS版本,命令:cat /etc/redhat-release
7.12.2 查看磁盘占用情况
查看CentOS的磁盘整体占用情况,命令:df -hl
查看l4d2服务器的整体大小:du -h --max-depth=0 /home/steam/l4d2server
查看l4d2服务器中addons文件夹的大小,命令:du -h --max-depth=0 /home/steam/l4d2server/left4dead2/addons
查看l4d2服务器中addons里每个文件的大小,命令:du -h --max-depth=0 /home/steam/l4d2server/left4dead2/addons/*
7.12.3 查看内存占用情况,命令:free -h
每5秒刷新一次内存占用情况,命令:free -h -s5
使用Ctrl+C退出刷新
注:
-h 取整数显示
-k 以Kb为单位
-m 以Mb为单位
-s delay 刷新间隔
7.12.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 内存使用率

8 后记
由于游戏版本更新,最新版本的求生之路服务器插件已经无法在CentOS7.6下正常运行,控制台打印错误如下:
[META] Failed to load plugin addons/sourcemod/bin/sourcemod_mm: /lib/libm.so.6: version `GLIBC_2.29' not found
(required by /home/steam/l4d2server/left4dead2/addons/sourcemod/bin/source)
显然问题在于GLIBC这个Linux底层运行库,由于CentOS7已于2024年6月30日停止更新与维护。因此考虑将服务器系统重装为Debian10.2,其对应的GLIBC版本为2.31,满足插件的需求。搭建服务器涉及到的具体代码如下:
sudo dpkg --add-architecture i386 #配置包管理器以包含i386架构的调整
sudo apt-get update && sudo apt-get upgrade #更新apt
sudo apt-get install lib32gcc-s1 lib32stdc++6 libc6-i386 libcurl4-gnutls-dev:i386 screen #安装必需的32位库
其余步骤与在CentOS平台上的流程基本相同
Comments NOTHING