L4D2 服务器搭建(Linux)
之前 Windows 的:https://www.jianshu.com/p/52c1635876e7
https://developer.valvesoftware.com/wiki/SteamCMD#Linux
dpkg --add-architecture i386
apt update
apt install lib32gcc1 -y
apt install steamcmd -y
运行 steamcmd
login anonymous
force_install_dir /data/syncthing/L4D2Server
app_update 222860 validate
quit
其中 /data/syncthing/L4D2Server
为下载路径
SourceMod 官网:https://www.sourcemod.net/
SourceMod 稳定版下载:https://www.sourcemod.net/downloads.php?branch=stable
当然下载 Linux 版的
Metamod官网:https://www.sourcemm.net/
当然不要忘记生成对应游戏的VDF文件:https://www.sourcemm.net/vdf
L4DToolZ:https://forums.alliedmods.net/showthread.php?t=93600
L4DToolZ的GitHub:https://github.com/ivailosp/l4dtoolz/
L4D2的是下1.0.0.9h版本
总共是4份文件
安装顺序是无所谓的
将 mmsource-1.10.7-git971-linux.tar.gz
的addons解压出来与 ./left4dead2/addons/
合并
再将之前生成的 metamod.vdf
覆盖addons里的 metamod.vdf
(这个文件其实就是个路径设置)
同理将 sourcemod-1.10.0-git6497-linux.tar.gz
里的 addons
和 cfg
与./left4dead2/addons/
和 ./left4dead2/cfg/
合并
将 l4dtoolz(L4D2)-1.0.0.9h.zip
里的两个文件夹 l4dtoolz
和 metamod
放到 ./left4dead2/addons/
里。
./srcds_run -game left4dead2 -insecure +maxplayers 16 +hostport 27015 +map c1m2_streets
命令行参数详见:https://developer.valvesoftware.com/wiki/Command_Line_Options
在 Console 里输入 meta list
meta list
Listing 3 plugins:
[01] SourceMod (1.10.0.6497) by AlliedModders LLC
[02] L4DToolZ (1.0.0.9h-2-g7465d71b-dirty) by Ivailosp
[03] SDK Tools (1.10.0.6497) by AlliedModders LLC
像这样就安装成功了
输入命令:
sm_cvar sv_maxplayers 16;sm_cvar sv_visiblemaxplayers 16
当然这些命令可以预先放到 ./left4dead2/cfg/server.cfg
里。
./left4dead2/addons/sourcemod/configs/admins_simple.ini
里的增加一行"STEAM_1:1:125637774" "99:z" "passwd"
第一个引号是 steamID 或者是 Steam 个人资料名(游戏里的名字);第二个引号是权限大小;第三个引号是密码。具体说明文件里都有。
core.cfg
里修改"PassInfoVar" "_password"
setinfo _password passwd
当然可以放进你游戏目录里的 ./left4dead2/cfg/autoexec.cfg
里,这样每次运行游戏时就会自动执行这条命令
大图:./left4dead2/motd.txt
小图:./left4dead2/host.txt
一般到 http://www.sourcemod.net/plugins.php 搜索下载,按照作者说明来就行了
推荐下载源码自己用 ./left4dead2/addons/sourcemod/scripting/compile.sh
编译
这里用 gettickrate
插件演示
tickrate.sp
放入 ./left4dead2/addons/sourcemod/scripting/
里./compile.sh tickrate.sp
,插件编译成功后会在 compiled
文件夹里生成 tickrate.smx
tickrate.smx
放到 ./left4dead2/addons/sourcemod/plugins/
里就算安装成功了data
到指定文件夹(往往是放同时兼容 Windows/Linux 服务器的参数),自己认真看作者的插件说明。./left4dead2/cfg/sourcemod/
。当然这个插件功能简单就没有生成~输入 sm_gettickrate
,得到返回
The server tickrate is 29
当然你可以修改 compile.sh
直接编译生成到 plugins
里
上次搞 Windows 服务器的时候是2017年1月,没想到论坛7月份就有接盘侠搞了个新的: https://forums.alliedmods.net/showthread.php?t=299669
下载 tickrate_enabler.zip
addons
文件夹-tickrate 100
别忘 server.cfg
加上几个参数,比如 sv_minrate、sv_maxrate、sv_maxupdaterate、sv_maxcmdrate、fps_max
之类的
输入 sm_gettickrate
,得到返回
The server tickrate is 100
https://github.com/HMBSbige/SouceModPlugins/blob/master/scripting/hostname.sp
上面一样的方法下载编译插件,之后直接在 /left4dead2/addons/sourcemod/configs/hostname/hostname.txt
修改,保存为UTF-8,好像无所谓带不带BOM
组 ID 大于 16777216 的话进入服务器显示封面跳转的链接会跳转到错误的组,熟悉这个数字的朋友一看就知道为什么了
https://github.com/HMBSbige/SouceModPlugins/blob/master/scripting/sv_steamgroup_fixer.sp