前言

作为一个战役娱乐玩家,快速匹配总会出一堆妖艳的服务器和RPG服务器,各种技能特效满天飞,毫无游戏体验,索性便自己搭个服务器。

求生之路2的服务器对性能和带宽要求不高,1核2G1M就足够一个默认Tick的8人战役服,存储空间占用在10G左右。但是非常容易被打,一个隐藏不好就会收到DDoS攻击提醒。

服务器搭建

安装依赖

RedHat系 如CentOS:

1
sudo yum install glibc.i686 libstdc++.i686 -y

Debian系 如Ubuntu:

1
sudo apt-get install lib32gcc1

新建用户

1
2
adduser steam
passwd steam

下载steamcmd

1
2
3
4
5
6
su steam
cd ~
mkdir steamcmd
cd steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -zxvf steamcmd_linux.tar.gz

下载l4d2

1
2
3
4
5
6
mkdir /home/steam/l4d2
cd /home/steam/steamcmd
./steamcmd.sh
Steam>login anonymous
Steam>force_install_dir /home/steam/l4d2
Steam>app_update 222860 validate

下载完成后会提示’Success! App ‘222860’ fully installed’,输入quit即可退出steamcmd

建立配置文件

1
2
cd /home/steam/l4d2/left4dead2/cfg
vim server.cfg

配置文件内容为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//服务器名
hostname "servername"
//隐藏服务器
sv_tags hidde
//开启语音服务
sv_voiceenable 1
//根据自己的steam组ID绑定服务器
//sv_steamgroup "ID"
//设置组私有化
//sv_steamgroup_exclusive 1

//以下配置需要安装插件
//地区代码: 0 - 美国东海岸, 1 - 美国西海岸, 2 - 南美洲, 3 - 欧洲, 4 - 亚洲, 5 - 澳大利亚, 6 - 中东, 7 - 非洲, 255 - 世界
//sm_cvar sv_region "4"
//设置大厅匹配(正版服务器关闭匹配才能开4人以上) 0=关闭匹配, 1=开启匹配.
//sm_cvar sv_allow_lobby_connect_only "1"
//玩家多长时间无操作自动闲置的时间/秒.
//sm_cvar director_afk_timeout "20"
//启用电脑使用近战? 0=禁用, 1=启用.
//sm_cvar sb_melee_approach_victim "1"
//设置允许多少电脑使用近战.
//sm_cvar sb_max_team_melee_weapons "8"
//设置游戏模式"coop=战役,versus=对抗,survival=生存,realism=写实"
//sm_cvar mp_gamemode "coop"
//设置游戏默认难度(分别对应:简单=Easy、普通=Normal、高级=Hard、专家=Impossible)
//sm_cvar z_difficulty "Normal"
//幸存者死亡后出现在任意房间被营救. 默认60秒.
//sm_cvar rescue_min_dead_time "60"

完成后按下ESC键后输入”:wq”并回车保存退出文件

建立启动脚本

1
2
cd /home/steam
vim start_l4d2.sh

脚本内容为

1
2
#!/bin/bash
./l4d2/srcds_run -game left4dead2 -condebug -insecure -nomaster +hostport 端口 +ip 0.0.0.0 +exec server.cfg

完成后按下ESC键后输入”:wq”并回车保存退出文件

其中’-insecure’为关闭反作弊,使用插件需要这个参数,‘-nomaster’参数为完全隐藏服务器,开启后只能通过connect +IP连接服务器2021-1-4更新:安装插件平台后可以在server.cfg中增加参数”sm_cvar sv_allow_lobby_connect_only 1”开启大厅匹配,同时不会出现在服务器浏览器中),建议开启防止DDoS攻击,’+hostport 端口’为服务器运行的端口

使服务器后台运行

RedHat系 如CentOS:

1
2
3
su root
yum -y install screen
screen -S l4d2

Debian系 如Ubuntu:

1
2
3
su root
apt-get -y install screen
screen -S l4d2

开启服务器

1
2
3
su steam
cd ~
bash start_l4d2.sh

至此无插件服搭建完成,在开启控制台后输入connect IP即可进入服务器

使用插件

安装插件平台

使用插件需要安装 SourceMODMetaMOD插件平台,为了方便可以直接采用豆瓣整合包或者望夜整合包,整合包内包含了SourceMOD和MetaMOD。将整合包目录”JS-MODS/插件平台/left4dead2”中的”left4dead2”文件夹复制到”/home/steam/l4d2”中即可(注意豆瓣整合包插件平台自带server.cfg,会覆盖原来的server.cfg)。

接下来设置管理员

在l4d2控制台输入status会出现 “STEAM_1:1:xxxxxxxxx”这一串就是你的Steam UniqueID,复制一下

回到服务器输入

1
2
su steam
vim /home/steam/l4d2/left4dead2/addons/sourcemod/configs/admins_simple.ini

在最后加上

1
"STEAM_1:1:xxxxxxxxx"  "99:z" //Steam管理员

完成后按下ESC键后输入”:wq”并回车保存退出文件

插件的使用

大部分插件都包含.smx本体文件和.cfg配置文件,将本体文件xxxx.smx放入 “/home/steam/l4d2/left4dead2/addons/sourcemod/plugins”文件夹内,配置文件xxxx.cfg放入”/home/steam/l4d2/left4dead2/cfg/sourcemod”文件夹内就可以使用了,如果没有以上文件夹请检查插件平台安装是否正确。有些插件还含有其他文件,根据文件夹名字或者后缀名放入服务器相应的文件夹即可。

踩过的坑

1.使用豆瓣整合包启动时可能会遇到错误,删除/home/steam/l4d2/left4dead2/cfg/autoexec.cfg即可

2.使用豆瓣整合包时在控制台输入quit命令停止服务器时可能会遇到xxx核心段错误,Ctrl+C可停止运行

3.豆瓣和望夜整合包的插件平台自带8人战役破解平台,开启服务器匹配后需要第一个进服的人需要订阅8人大厅Mod,不然会卡4人服

4.豆瓣整合包的插件平台和望夜整合包的插件平台中的文件不完全相同,不要无脑混用

5.非高防服务器启动参数一定要加’-nomaster’,不然就会受到炸服狗的关心

6.修改H键公告的标题需修改文件/home/steam/l4d2/left4dead2/host.txt,修改内容需修改/home/steam/l4d2/left4dead2/motd.txt

7.服务器没人时基本不会有人匹配,需要自己进入服务器挂机一会儿才会有人

2021-1-24更新:

8.开启大厅匹配后最多只能8人,多的人进不去服务器
9.xxx核心段错误,吐核错误解决办法:
(1)某些插件引起的,删除插件排错
(2)偶然发生的,似乎是steam的锅,尝试在server.cfg中增加:

1
2
3
//尝试解决崩溃问题
sm_cvar steamworks_immediate_upload "0"
sm_cvar steamworks_stats_disable "1"

10.使用整合包后聊天窗输入!rygive 管理员多功能菜单,!admin 管理员管理菜单

11.快捷键绑定(游戏控制台输入):bind “i” “say !rygive”, 解除快捷键绑定:unbind “i”

2021-3-17更新:

12.无限弹夹的关键参数是主武器弹夹无限:sm_cvar sv_infinite_primary_ammo 1而不是sm_cvar sv_infinite_ammo 1,后者会造成投掷物也无限

插件分享

插件基本都来自贴吧,除了望夜和豆瓣整合包里的插件外其他插件可能在新版本不能使用,需要自己尝试

百度网盘: https://pan.baidu.com/s/1gb1zpxVBcKZfDGNzA_bnTQ 提取码: 84e8

蓝奏云:https://wwa.lanzoui.com/b09fnso0f 密码:fah3

2021-1-24更新:

服务器参数大全(写入server.cfg中或者服务器控制台输入):

蓝奏云:https://wwa.lanzoui.com/b09fsecva 密码:ghvi

收藏的链接

番外:在CentOS上搭建求生之路2服务器

Linux环境搭建Left 4 Dead 2/求生之路2专用服务器

在 Linux 上搭建一个求生之路 2 服务器

[原创] +++【2201】-★★★整合插件★★★2020-10-6+++

【技巧分享】如何屏蔽烦人的RPG服务器

【自整理】【RPG 服务器 IP 黑名单列表】

抛砖引玉——对近期DDoS的分析及看法

2021-1-24更新:

SourceMOD 插件制作基础教程

Main - SourceMod Scripting API Reference

Left 4 dead 2 events

SourceMod SDK