且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ESC搭建L4D2服务器

更新时间:2022-09-05 22:47:17

本人是电子信息工程的大二学生,选用CentOS 8.5作为服务器系统,虽然对linux系统也不能说得上熟练,但是同样搭建简单的服务器所涉及到的Linux命令和shell脚本也并不复杂。搭载Linux的服务器对硬件要求不高,1H2G的ESC就能满足要求,1M的带宽就能支持8人联机。

具体步骤:
首先在阿里云控制台修改root用户的密码,并在安全组设置对端口:27015,协议:TCP,UDP的入方向允许。
连接到服务器后,首先进行更新。
yum -y update
其后安装依赖库和screen。
yum -y install glibc.i686 libstdc++.i686
yum -y install screen
虽然现在SteamCMD已经可以在root用户下运行了,但我个人还是倾向于新建一个用户。
adduser steam
接下来切换到刚刚建立的steam用户的根目录下。
su steam
cd
下载SteamCMD压缩包。
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
将得到的压缩包解压后删除。
tar -zxvf steamcmd_linux.tar.gz
rm -f steamcmd_linux.tar.gz
然后就可以使用SteamCMD下载游戏的服务端了,首先执行steamcmd.sh文件。
./steamcmd.sh
指定一个文件夹来保存服务端。
force_install_dir ./l4d2server
匿名登录并下载服务端,完成后退出。
login anonymous
app_update 222860 validate
exit
在网上找到steam.dll、steamclient.dll、steamclient64.dll下载直链并下载到“l4d2server/bin”目录下。
cd l4d2server/bin
wget 下载链接
到了这一步就已经搭建好了一个纯净服务器,但仍建议安装插件平台SourceMOD和MetaMOD来完成一些基本且必要的功能。
首先打开游戏目录。
cd l4d2server/left4dead2
下载SourceMOD和MetaMOD的压缩包(建议到官网上复制最新版的下载直链)。
wget https://sm.alliedmods.net/smdrop/1.10/sourcemod-1.10.0-git6536-linux.tar.gz
wget https://mms.alliedmods.net/mmsdrop/1.11/mmsource-1.11.0-git1145-linux.tar.gz
解压后删除压缩包。
tar -zxvf sourcemod-1.10.0-git6536-linux.tar.gz
tar -zxvf mmsource-1.11.0-git1145-linux.tar.gz
rm -f sourcemod-1.10.0-git6536-linux.tar.gz
rm -f mmsource-1.11.0-git1145-linux.tar.gz
接下来添加自己为管理员。
cd addons/sourcemod/configs
vi admins_simple.ini
在admins_simple.ini文末添加格式如下的话(前面那一串是SteamID)
"STEAM_x:x:xxxxxxxxx "99:z"
然后设置服务器参数。
cd ..
cd ..
cd ..
cd cfg
vi server.cfg
在server.cfg中写的命令就是每次服务器开服时执行的命令,我在这里列举一小部分。

sm_cvar rcon_password ""
sm_cvar sv_password ""
sv_allow_lobby_connect_only 0
sv_tags hidden
sm_cvar sv_region "4"
sm_cvar mp_gamemode "coop"
sm_cvar z_difficulty "Normal"
sm_cvar sv_cheats "1"
sm_advertisements_enabled "1"
sm_cvar sv_consistency "0"

再然后就是开启服务器了,先回到l4d2server文件夹。
cd ..
cd ..
写一个启动脚本。
vi start.sh
写下这些命令,其中insecure参数禁用VAC,map参数设置初始地图,hostport参数决定联机端口(与在安全组开放的端口要一致),condebug参数输出debug信息,exec参数执行server.cfg,nomaster参数隐藏服务器,如果有多人插件使用maxplayers参数设置最大人数,有tickrate插件使用tickrate参数设置服务端tick。
./srcds_run -game left4dead2 -insecure +map c3m1 -maxplayers 8 +hostport 27015 -condebug +exec server.cfg -nomaster -tickrate 60
然后为start.sh加上权限。
chmod +x start.sh
使用screen执行start.sh使服务器可以后台执行。
screen sh start.sh
自此服务器基本配置完成,插件与第三方地图的安装参照插件平台的安装步骤。进入游戏按下‘~’呼出控制台,输入connect ip:端口连接到服务器即可。
Linux系统搭建L4D2服务器的步骤并无特殊性,222860是L4D2的服务端代码,如果使用其他代码如cs:go的740便可搭建cs:go服务器,举一反三,大部分游戏都可以如此搭建出自己的专属服务器。