之前 Windows 的:https://www.jianshu.com/p/52c1635876e7
没错,没钱续费了,干脆重新搞个 Linux 放家里
安装 SteamCMD
https://developer.valvesoftware.com/wiki/SteamCMD#Linux
dpkg --add-architecture i386
apt-get update
apt-get install lib32gcc1
apt-get install steamcmd
用脚本更新/安装服务器
vim ~/l4d2.txt
login anonymous
force_install_dir /root/syncthing/L4D2Server
app_update 222860 validate
quit
其中 /root/syncthing/L4D2Server
为下载路径,当然不推荐用 root 用户执行
下载L4D2服务器
steamcmd +runscript ~/l4d2.txt
SourceMod、Metamod、L4DToolZ 插件
下载
SourceMod
SourceMod官网:https://www.sourcemod.net/
SourceMod下载:https://www.sourcemod.net/downloads.php?branch=stable
就下载最新的稳定版~
Metamod
Metamod官网:https://www.sourcemm.net/
当然不要忘记生成对应游戏的VDF文件:https://www.sourcemm.net/vdf
L4DToolZ
L4DToolZ:https://forums.alliedmods.net/showthread.php?t=93600
L4DToolZ的GitHub:https://github.com/ivailosp/l4dtoolz/
L4D2的是下1.0.0.9h版本
总共是4份文件
安装
安装顺序是无所谓的
Metamod
将 mmsource-1.10.7-git970-linux.tar.gz
的addons解压出来与 ./left4dead2/addons/
合并
再将之前生成的 metamod.vdf
覆盖addons里的 metamod.vdf
(这个文件其实就是个路径设置)
SourceMod
同理将 sourcemod-1.9.0-git6281-linux.tar.gz
里的 addons
和 cfg
与./left4dead2/addons/
和 ./left4dead2/cfg/
合并
L4DToolZ
将 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.9.0.6281) by AlliedModders LLC
[02] L4DToolZ (1.0.0.9h-2-g7465d71b-dirty) by Ivailosp
[03] SDK Tools (1.9.0.6281) 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
SourceMod 插件安装
一般到 http://www.sourcemod.net/plugins.php 搜索下载,按照作者说明来就行了
推荐下载源码自己用 ./left4dead2/addons/sourcemod/scripting/compile.sh
编译
这里用 gettickrate
插件演示
- 找到插件并下载源码 https://forums.alliedmods.net/showthread.php?p=649755
- 将
tickrate.sp
放入./left4dead2/addons/sourcemod/scripting/
里 - 运行
./compile.sh tickrate.sp
,插件编译成功后会在compiled
文件夹里生成tickrate.smx
- 将
tickrate.smx
放到./left4dead2/addons/sourcemod/plugins/
里就算安装成功了 - 有些插件需要放
data
到指定文件夹(往往是放同时兼容 Windows/Linux 服务器的参数),自己认真看作者的插件说明。 - 一般要服务器运行一次后自动生成该插件所需cfg文件到
./left4dead2/cfg/sourcemod/
。当然这个插件功能简单就没有生成~
输入 sm_gettickrate
,得到返回
The server tickrate is 29
服务器 Tickrate 修改
上次搞 Windows 服务器的时候是2017年1月,没想到论坛7月份就有接盘侠搞了个新的:
https://forums.alliedmods.net/showthread.php?t=299669
下载 tickrate_enabler.zip
- 将对应文件解压放入
addons
文件夹 - 运行时加上参数
-tickrate 64
别忘 server.cfg
加上几个参数,比如 sv_minrate、sv_maxrate、sv_maxupdaterate、sv_maxcmdrate、fps_max
之类的
因为我要速砍就不调成 100 tick了
输入 sm_gettickrate
,得到返回
The server tickrate is 64
修改服务器名为中文名
https://github.com/HMBSbige/SouceModPlugins/blob/master/scripting/hostname.sp
上面一样的方法下载编译插件,之后直接在 /left4dead2/addons/sourcemod/configs/hostname/hostname.txt
修改,保存为UTF-8,好像无所谓带不带BOM
修复 Steam 组链接错误
组 ID 大于 16777216 的话进入服务器显示封面跳转的链接会跳转到错误的组,熟悉这个数字的朋友一看就知道为什么了
https://forums.alliedmods.net/showthread.php?t=300683
网友评论