参考链接 SteamCMD 自建一个Linux下的求生之路2服务器 - 木皆之森 搭建求生之路2服务器和插件分享 - 知乎 求生之路2服务器搭建(Linux-Debian)

1.安装steamcmd

docker run -p 27015:27015/udp -it --name=steamcmd docker.1ms.run/cm2network/steamcmd bash 

2.启动steamcmd

./steamcmd.sh

3.创建安装目录

force_install_dir ./l4d2

4.匿名用户登录

login Anonymous

4.实际上steamcmd匿名用户已经不能下载l4d2的服务器了要登录自己拥有的账户,如果有二次验证需要在app上确认

login 用户名

5.安装l4d2服务器

app_update 222860 validate

6.下载两个文件

SourceMod: Half-Life 2 Scripting Metamod:Source - Snapshots

7.上传到服务器后复制到docker容器里

docker cp sourcemod-1.12.0-git7200-linux.tar.gz steamcmd:/home/steam/
docker cp mmsource-1.12.0-git1219-linux.tar.gz steamcmd:/home/steam/

8.解压文件

tar -xvf mmsource-1.12.0-git1219-linux.tar.gz | tar -xvf sourcemod-1.12.0-git7200-linux.tar.gz

9.需要把解压获得的文件放到此处对应的目录~/Steam/steamapps/common/Left 4 Dead 2 Dedicated Server/left4dead2

mv ./addons/* ~/steamcmd/l4d2/left4dead2/addons
mv ./cfg/* ~/steamcmd/l4d2/left4dead2/cfg

10.去cfg文件夹下编辑server.cfg

nano server.cfg

内容大概如下

hostname "my_room"
sv_tags hidden
sv_tags "hidden"
sm_cvar mp_gamemode "coop"
sm_cvar director_no_human_zombies "1"
l4d_maxplayers 12
sv_maxplayers 12
sv_visiblemaxplayers 12
sv_removehumanlimit 1
sv_force_unreserved 1
// Difficulty Setting: easy, normal, hard, impossible
z_difficulty "hard"
sv_region 4 
sv_steamgroup "xxxx"
sv_steamgroup_exclusive 1
sm_cvar sv_region "4"
sm_cvar rescue_min_dead_time "60"
sm_cvar sv_allow_lobby_connect_only "0"
sm_cvar director_afk_timeout "10"
sm_cvar sb_melee_approach_victim "1"
sm_cvar sb_max_team_melee_weapons "8"
sm_cvar sb_all_bot_game 1
sm_cvar allow_all_bot_survivor_team 0

其中的id可以从steamdb获取"STEAM_1:1:xxxxxxxxx"应该是后面的数字 服务器配置具体可以参考L4D2-Server-Configuration/server.cfg at master · tretray/L4D2-Server-Configuration或者开头2,3链接也有对应的配置 粘贴后Ctrl+S保存,Ctrl+O写入,Ctrl+X退出 11.设置自己为管理员 编辑~/Steam/steamapps/common/Left\ 4 Dead\ 2\ Dedicated\ Server/left4dead2/addons/sourcemod/configs/admins_simple.ini 加入

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

11.启动服务器

./l4d2/srcds_run -game left4dead2 -condebug -insecure -nomaster +hostport 27015 +ip 0.0.0.0 +exec server.cfg

可以放到一个.sh文件里,记得chmod +x赋予权限


如果遇到问题,怎么也无法连接

先看看有没有你设定的端口

docker inspect steamcmd

12.使用screen保持运行

首先启动docker,然后启用root模式进入docker

docker exec -it --user root steamcmd bash

然后更换源(我的是debian12)

debian镜像站使用帮助

所以可以

nano /etc/apt/sources.list

然后更换源,接着更新

apt update
apt install screen
exit

安装完成后退出,重新以非root进入

docker exec -it  steamcmd bash

创建screen

screen -S l4d2

然后在此启动即可

13 安装地图和插件

地图:https://www.gamemaps.com/l4d2

插件:SourceMod

以下来自求生之路2服务器搭建(Linux-Debian) - 哔哩哔哩

【.smx】 插件的核心部分,安装位置为:\left4dead\addons\sourcemod\plugins
【.cfg】 配置文件,安装位置为:\left4dead\cfg\sourcemod
【.sp】  源码,可以不用安装,安装位置为:\left4dead\addons\sourcemod\scripting
【.txt】 安装位置为:\left4dead\addons\sourcemod\gamedata
【.vpk】 地图,安装位置为:left4dead2\addons\