参考链接 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)
所以可以
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\