你想要一台全天候运行的 Left 4 Dead 2 专用服务器,只对你和朋友开放,几乎不加任何模组,保持原版体验。这就是完整的配置。它之所以这么简短是故意的:原版L4D2本身已经能满足你的大部分需求,关键只是要知道哪几个cvar真正重要。
配置文件的位置
通过 SteamCMD(app 222860)安装的专用服务器,其配置文件保存在这里:
<install>/left4dead2/cfg/server.cfg如果该文件不存在,就创建一个。只要在启动行(见下方)中用 exec 调用它,它就会在每次切换地图时自动执行。
一份接近原版的 server.cfg
把这段粘贴进去,修改标记为 CHANGE ME 的四个值,就完成了。不需要插件,也不需要附加内容。
// --- Identity ---
hostname "My Private L4D2 Server" // CHANGE ME
sv_tags "private"
rcon_password "pick-a-long-secret" // CHANGE ME - admin console over RCON
// --- Lock it down ---
sv_password "friends-only" // CHANGE ME - join password
sv_search_key "my-private-key" // CHANGE ME - see "Private lobbies" below
// --- Vanilla behaviour ---
sv_pure 1 // reject client-side file overrides
sv_consistency 1
sv_cheats 0
z_difficulty Normal // Easy / Normal / Hard / Impossible
sv_region 255 // 255 = world; set your region for lower ping
// --- 24/7 housekeeping ---
sv_alltalk 0
sv_allow_lobby_connect_only 0 // keep direct IP connects open
mp_disable_autokick 1一个私人合作服务器真正需要的就是这些了。游戏模式和起始地图要写在启动行里,而不是这里,因为L4D2会忽略写在 server.cfg 中的 mp_gamemode。
启动行
在安装目录中用 srcds_run 启动服务器:
./srcds_run -game left4dead2 -console -port 27015 \
+exec server.cfg \
+mp_gamemode coop \
+map c1m1_hotel- exec server.cfg 会先执行,这样在地图加载之前你的cvar就已经生效了。
- mp_gamemode 的取值为 coop、realism、versus、survival、scavenge 之一。它必须写在命令行里。
- c1m1_hotel 是 Dead Center 战役的第1张地图。你可以换成任何你喜欢的战役起始地图。
- 27015端口既是游戏端口,也是A2S查询端口。请在防火墙中开放该端口(UDP + TCP)。
两种保持私密的方法
- 密码(最简单):设置 sv_password 后,只有输入正确密码的人才能连接。把IP和密码分享给你的小队。注意:设置密码会让服务器不再显示为可公开加入,这正是你想要的效果。
- 私人大厅(sv_search_key):如果你想通过普通的Steam大厅邀请朋友,而不是分享IP,就在服务器上设置一个搜索密钥,并让每位朋友在开设“Best Available”大厅之前,在自己的游戏控制台中输入 sv_search_key my-private-key。只有密钥匹配的服务器才会显示出来,这样就能保证只有你们能找到它。
- Steam 群组(可选):将 sv_steamgroup 设置为你的群组 ID,并将 sv_steamgroup_exclusive 设为 1,即可只允许群组成员连接。
唯一的限制:四名玩家
原版L4D2的合作模式正好容纳四名幸存者,而且通过Steam大厅加入的方式无论如何都会把真人玩家人数硬性限制在四人。没有任何cvar能改变这一点。如果四人对你的小队来说已经够用,那你就完成了,而且完全不需要任何模组。如果你想要五人或更多,就需要一个小型模组(L4DToolZ),并且所有人都要通过直连IP而不是大厅来加入。