【求生之路2】关于zonemod服务器的搭建指南

您所在的位置:网站首页 求生之路原神mod在哪下载安装 【求生之路2】关于zonemod服务器的搭建指南

【求生之路2】关于zonemod服务器的搭建指南

2023-11-27 15:44| 来源: 网络整理| 查看: 265

/*************************************文中引用指南原作者:Craicered译者:Mengsk本文首次发布:2021/07/20本文最后修改:2023/09/02**************************************/ 

      之前写过 Linux 下关于纯净服的搭建,恰好这台服务器性能还行,又顺便搭建了一下对抗服。在搭服过程中遇到了一些困难,就拿出来与大家分享一下。

        说到对抗,虽然国内最常见的是 diandian,但是国外和各种比赛又选用 ZoneMod,这样看, ZoneMod 应该是大家公认的。同时, ZoneMod 的作者 Sir 分享了他的插件,而 diandian 我没有找到对外公开的插件,因此我优先选择 ZoneMod。

       Sir 已经把 ZoneMod 的插件分享到了 Github 上,并且实时更新,可以在上面获取最新的版本。地址如下:

https://github.com/SirPlease/L4D2-Competitive-Rework

        事实上,Github 里已经写了一篇英文的搭建指南,不过对于我这种小白,依旧是太简略了。因此我的后文将在这个基础上进行拓展。指南的文件在 Sir 分享的首个文件夹里,或者见下网址:

https://github.com/SirPlease/L4D2-Competitive-Rework/tree/master/Dedicated%20Server%20Install%20Guide

第一个Dedicated Server Install Guide里有本文引用的指南

        首先,Sir 在开头说明这个插件仅供 Linux 使用,然后写了这篇指南的目的,接着写出了关于服务器系统和配置的选择。Sir建议使用 Ubuntu 18.04 或者更早版本的 OS,理由是高版本下屏幕的血迹会出现错误,不过我在全特效测试时并未出现严重影响体验的 bug,所以可能高版本也不成问题。然后,Sir 建议最低配置为1核1G,没有用这个配置的搭建过,这个不好评判,但是根据日常的性能监控来看,理论上能够运行8人游戏的。

Note: 虽然理论上找到所有so对应的dll,比如通过其他人的整合包等等,就能够在 windows 上运行,但是想完美找到替代并非易事,过程中难免遇到 bug,如果无法解决,建议还是在 linux 上运行。

开篇

        然后,是服务器里环境的搭建。首先需要连接到服务器,关于用第三方软件连接,Sir建议使用 Putty,我使用的是 Xshell,这款软件可以在国内免费获取。如何获取和使用可以见我的另一篇关于服务器搭建的专栏。不过国内各大云服务器运营商都会提供连接服务,也可直接在运营商处登录。

初期准备

        接着指南给出了几条指令,主要是准备求生之路运行所需要的库和环境,以及一个 Screen 程序。我们只需要在服务器内依次输入以下指令,等待每一条指令运行完毕,再输入下一条指令。有些指令在下载过程中需要确认,输入y后按回车键确认即可。

环境搭建

        下一步是创建一个新账户,个人也非常建议创建一个新用户。创建新用户对于服务器安全、插件控制、多服务器分离等等非常有用。        指南给出的命令如下:第一条指令是创建一个名字为 steam 的新用户,第二条指令是赋予这个新用户管理员权限。第三条指令是登陆。

        关于创建新用户,有 useradd 和 adduser 两种用法,理论上两种用法皆可,但是后者更佳。因为 useradd 不会生成对应用户的文件夹,因此用 useradd 这条指令的时候还需要自行生成用户文件夹。

账户创建

        要注意的是,第一条指令创建用户时,不一定要用指南所给的 steam,可以替换成任何你想要的名字;其次,创建用户时需要输入密码,Linux 的密码不会回显,因此输入你想要的密码,直接按下回车就行。第三条指令登录用户时,密码也不回显。

先输入用户名,再输入密码

        下一步,是下载游戏本体。L4D2 需要通过 steamCMD 下载,第一条指令是下载 steamCMD 压缩包,第二条指令是解压这个压缩包,第三条指令是运行解压出来的 steamCMD,第四条指令是匿名登录 steam,第五条指令是指定安装路径,第六条指令是下载 id 为 222860 的游戏(就是求生之路2),第七条指令是退出 steamCMD。

安装游戏

Note: 事实上,steamCMD 在 2021 年的一次更新时改变了命令顺序,如果按照 Sir 文中的方法,会出现以下 Warning。Github 上大部分的第三方工具都已经注意并适配了此更新,你在阅读官方文档时也会发现此改动。正确的顺序应为

该错误可能会导致安装过程出错

       接着,要修改指南给出的 srcd1 文件来符合我们的实际情况。通过 Notepad++ 或者记事本来打开指南提供的 srcd1 文件,该文件的路径为

L4D2-Competitive-Rework/Dedicated Server Install Guide/srcds1

srcd1文件介绍

        首先,要确认第 4 行的用户名称是否正确。此处灰色的 steam 要替换成之前创建用户时的名字,如果创建用户时用的名字就是 steam,就不用做任何修改。        然后,要确认第 10 行的运行路径。一般而言,如果前面步骤一样的话无需修改。

确认用户名和路径

第 36 行参数的含义是第几个服,默认为1。这是在同一个服务器上开设多个服所需要注意的地方。如果只打算开设一个,用默认的1即可。第 37 行的含义是 ip 地址,将1.3.3.7改为服务器的地址。第 38 行的含义是服务器开放端口,默认为 27015,可以改成自己喜欢的合法端口。第 39 行的含义是Screen名称,用于screen命名,一般不做修改。第 40 行的含义是开服时配置的参数。一般情况下会修改 +map 和 -maxplayers 这2个参数。关于 -ip 这个参数,我加入后服务器就无法开启,尚不清楚是什么原因。如果用原参数无法开启,不妨删除-ip这个参数试一试。第 41 行的含义是脚本运行时的提示信息,一般不做修改。

更多注释详见图中英文

        全部修改完毕后,保存并检查文件后缀。如果是用记事本修改,可能会出现 .txt 后缀,要手动删除这个后缀。然后将文件上传到服务器的 /etc/init.d 路径下。如何上传文件,Sir 建议使用 FileZilla ,个人使用的是 Xftp,如何获取和使用Xftp可见另一篇专栏。

        下一步,是给服务器加上必要文件。通过上面给出的网址,下载插件的压缩包并解压。然后开始修改必要文件。

sir写的指南(上传文件)选择Download ZIP下载压缩包

        首先修改 myhost.txt 和 mymotd.txt 。这两个文件的修改比较特别,要用到 html,嫌麻烦也可以不做修改。如果你要修改的话,可以在里面使用简单的html语言,比如指向某个url。这个url可以是某一张图的url,让你服务器的欢迎界面变成你想要的图片。也可以是某个网站,让你的可以在服务器里访问阅读一下简单的网站内容。当然,受限于解释器版本,url指向网址时,并不能完全访问资源,某些高版本才具有的特性将无法展现出来。

        然后修改 /cfg 下的 server.cfg 文件。将文件重命名为 server1.cfg。

第 8 行参数的含义为管理员密码,但大部分人都是直接修改 sourcemod 平台文件成为管理员。第 9 行的含义是所在 steam 组编号。

需要注意的是,我建议在 steam 上公开的服务器使用防火墙来抵御 ddos 攻击,如果没有防火墙,建议隐藏服务器。

sever.cfg文件内容

       全部修改完毕后,将解压下来的文件全部上传到服务器的 /home/steam/Steam/steamapps/common/l4d2/left4dead2 路径下。如果是不同的用户名会有不同的路径。

        下一步,是授予 scrd1 可执行权限。通过 Xshell 连接服务器(或者其他连接方式),用指南给的指令授予权限。

授予权限

        现在,所有的步骤都已完成。连接上服务器后,通过下面3条代码,可以实现服务器的重启/启动/关闭。如果嫌麻烦,也可以写一个简单的脚本来代替。

服务器指令

    那么,用 /etc/init.d/srcds1 start 这条指令来开心地启动服务器吧。进入服务器后在聊天框内输入 !match 来切换 zonemod 模式(如果已经加载了其他模式,请先输入 !rmatch 卸载模式)。

常见问题(由指南提供)

问题1

问1:我的服务器很强,我可以开很多很多服吗?

答1:可以。在一个服务器上开多个服,需要将 srcds1 文件粘贴多次,重命名为 scrds1 srcds2 srcds3等等,同时修改各个 scrds 中的 port 端口。并且在修改 server.cfg 文件时,也要复制多份文件,重命名为 server1.cfg server2.cfg 等等。在赋予可执行权限时也需要加上每一个 scrds。

问题2

问2:我想要 SirPlease 服里的 mix 插件

答2: 这个插件不公开,不过你可以用这个(原文蓝色字体可点击下载)。将下载下来的 smx 插件放在服务器的 addons/sourcemod/plugins/optional 路径下。再修改 cfg/cfgogl/zonemod/confogl_plugins.cfg 文件,在文件下方添加 sm plugins load optional/l4d2_mix.smx 这条指令。接着重启服务器就行。

问题3

问3:求生之路2更新了,我连接不到服务器了

答3:什么,求生更新3了?(雾)     你需要更新你的服务器,通过以下指令更新服务器。(其实就是开服是安装游戏本体的步骤)

Note: 同上文一样,此处也应调整命令顺序,先指定安装路径再匿名登录。

问题4

问4:我一切操作正确并设置了 tickrate 为128,但是 net_graph 显示只有100

答4:引擎限制了它只能到达 100,但是别担心,100 和 128 没什么区别。

问题5

问5:我安装了 Tickrate Enabler,但是 tickrate 没有达到预设值。

答5:首先,确认 server.cfg 文件的参数是否设置正确。在预设值附近的波动是正常的。然后确认是客户端还是服务端出了问题。接着解决对应的问题。

Note: 若按照前文步骤安装,此处的 server.cfg 应为server1.cfg。客户端的问题一般是客户端的帧数不够,或者网络引起的loss;服务端的问题一般是配置不够高,例如choke。

 

Admin Tips管理员小贴士(由Wiki提供)

来源    https://github.com/SirPlease/ZoneMod/blob/master/README.md

    bequiet.smx插件可以有效保证聊天框整洁,如果你想要在其他configs里面加载这个插件,请确保它优先于其他插件加载。

注意这个插件有着旁观监听的feature,这可能会与其他插件冲突。

发生冲突时卸载其他插件,或者将bequite.smx内的”bp_show_player_team_chat_spec”参数设置为0

       TickRateFixes插件现在修复了Slow Doors和Pistol Scripts(小手枪脚本)

使用这个插件时确保没有加载l4dpistoldelay 

确保没有在cfg/stripper里调整prop_rotating和pro_rotating_checkpoint两个参数

       Specrates.smx是一个很有用的插件,可以减轻旁观者对于服务器的负担(译者注:即服务器仅提供30tick给旁观者)

该插件会在保持良好观看体验的同时,传输更少的数据包给旁观者。

Ps:

问:我想要往服里加其他插件,我应该怎么做?

答: 步骤1:将smx插件放在服务器的 addons/sourcemod/plugins/optional  路径下。或者是 addons/sourcemod/plugins 路径中的其他文件夹。步骤2:如果你想添加这个插件到 zonemod 模式,则修改 cfg/cfgogl/zonemod/shared_plugins.cfg 文件,在文件下添加 sm plugins load optional/plugin_name.smx 这条指令。把 plugin_name 换成你插件的名字,如果插件在不同文件夹,就使用对应的路径。步骤3:重启服务器。步骤4:平台将依据文件顺序加载插件,部分插件对加载顺序有要求时,需自行调换指令的位置

       至此,sir的开服指南翻译结束。

拓展阅读:

zonemod服务器的部分指令及基础知识

头图来源:

https://baidu.gwliang.com



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3