在Linux上搭建L4D2服务器
移动大内网,玩P2P游戏还是很蛋疼的……
搭建
选择主机
首先你需要申请一台云主机,考虑到延迟和价格,建议选择国内主机商(例如腾讯、阿里、华为等)的轻量应用服务器。
本文使用了阿里云轻量应用服务器,并测试成功,其配置如下表。
项目 | 参数 |
---|---|
处理器 | 1核心 |
内存 | 2GB |
硬盘 | 40GB |
网络 | 5Mbps 公网出口带宽(1TB流量) |
系统 | CentOS 7.6 |
价格 | 学生认证9元/月 |
申请完主机后,你会得到主机的IP地址,root密码,使用终端软件与主机进行通信即可。
同时,记得在主机的安全组(或防火墙),开放对应的TCP+UDP端口(本文使用的是默认27015
端口)。
阿里云轻量应用服务器添加安全组:点击跳转
环境准备
以root身份登录至服务器后,请参照以下顺序输入命令。
更新服务器相关组件:
1 | yum update -y |
安装相关依赖库
1 | yum install -y glibc.i686 libstdc++.i686 |
创建新用户l4d2server
,并设置密码
1 | adduser l4d2server |
提示:请务必将 l4d2server_password
替换成你自己设定好的密码。
进入创建好的用户l4d2server
1 | su - l4d2server |
安装服务端
以l4d2server身份登录服务器后,请按照以下顺序输入命令。
下载并解压SteamCMD
在SteamCMD
项目官网下载本地,使用tar
命令进行解压操作
1 | wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz && tar xf steamcmd_linux.tar.gz |
使用SteamCMD
使用SteamCMD,以匿名身份安装求生之路2服务端(其ID为222860),完成后自动退出
1 | ./steamcmd.sh +login anonymous +force_install_dir ./l4d2 +app_update 222860 validate +quit |
当命令行显示Success! App '222860' fully installed.
时,服务端已安装完成。现阶段是官方原生版本的游戏,无任何插件和辅助工具;如果只是想做官服的话,可以跳过下面安装插件的步骤。
安装插件
游戏是开发多元的,通过多样的插件系统,可以获得前所未有的游戏体验;下面将逐一介绍这些插件和其使用方法。
1.SourceMod
插件平台可以说是装载插件的前提条件,没有插件平台的支持,插件也就无法在服务器中启用。
SourceMod是一款用于起源引擎的开源的插件平台;通过简单的命令编写插件,实现原生服务器无法实现的功能,如:防踢防封、权限管理、言论过滤、更换地图、修改Ticket参数、修改后坐力等等。
当然,SourceMod支持Windows和Linux系统,两版本互不兼容,使用前请注意区分。
首先,点击跳转Sourcemod下载页面,下载Linux版本的SourceMod。
2.Metamod:Source
Metamod:Source
是一款用于起源引擎的开源的插件管理器;安装前需要安装SourceMod插件平台,并确保插件平台能正常工作。
当然,SourceMod支持Windows和Linux系统,两版本互不兼容,使用前请注意区分。
首先,点击跳转Metamod:Source下载页面 ,下载Linux版本的Metamod:Source
。
由于Metamod:Source
是依据VDF文件来判断接管的游戏;这时候需要点击左侧菜单栏的Make your VDF
选项, 在Game
选项卡中选择Left 4 Dead 2
(下面的Game Folder
可以留空),点击Generate metamod.vdf
生成并下载求生之路2的VDF文件。
3.插件平台
插件平台集成了许多求生之路2的辅助插件,例如显示NPC血量、显示友伤情况、游戏RPG化等等。这里使用了豆瓣酱的汉化版插件(基于L4DToolZ)
豆瓣酱插件说明:贴吧转发
豆瓣酱插件(蓝奏云链接,密码为fah3
): 点击跳转
4. L4D2服务端配置文件
在自己电脑上,用记事本新建一个名为server.cfg
的文件。
1 | hostname "NiXie's L4D2 Room" //设置房间名 |
5. 解压、打包、上传
第一步:将MetaSource和SourceMod解压后放在一起,便会出现addons
和cfg
共两个文件夹,并将创建好的server.cfg
文件放入cfg
文件夹。
第二步:解压插件包,将第一步解压出来的两个文件夹覆盖到插件解压的目录中,这样插件的准备就基本完成了。
第三步:如何添加插件管理员?首先我们在求生之路游戏中获取STEAM_ID
。
打开求生之路2,在选项→键盘/鼠标→启用允许使用开发者控制台,如图下图所示。
随便进入一个游戏(人机联机都可以),加载完成后,按 ~ 键调出控制台,输入status
后回车,复制userid name uniqueid connected ping loss state rate adr
的下面一行,如图下图所示。
在解压插件文件夹的/addons/sourcemod/configs
目录中,打开admins_simple.ini
文件,在文末处将SETAM_ID
粘贴上去,并空格输入99:z
内容(添加管理员权限,保存文件,这样该玩家可以不用输密码直接管理游戏进程)。
第四步:检查无误后,通过FTP或SCP工具,将处理好的目录上传至服务器的/home/l4d2server/l4d2/left4dead2/
目录中。
上传完成后,就大功告成了。
运行服务
通过终端软件访问服务器,可以是root
用户,也可以是刚刚创建的l4d2server
用户,这里以后者做演示。
输入以下命令,运行服务器(以默认的27015端口对外服务,不要忘记开放对应端口的防火墙)
1 | cd l4d2/ |
命令行参数详见:点击此处跳转
在控制台(Console)里输入 meta list
,可查看插件的安装情况。
客户端访问
服务端启动后,客户端按 ~ 打开控制台,输入connect xxx.xxx.xxx.xxx:27015
(即connect+IP地址:端口,或者connect+域名),稍等片刻,你就进入自己的服务器了。