麦克雷
标题:
CS2服务器 - 满十&跑图&道具练习
[打印本页]
作者:
LeonardLic
时间:
2024-6-1 07:44
标题:
CS2服务器 - 满十&跑图&道具练习
1 前言
1.1 插件介绍
搭建过 csgo 和 l4d2 服务器的玩家应该都用过 MetaMod + SourceMod 插件,因为CS2换用了起源2引擎,目前主流的是 MetaMod + CounterStrikeSharp 插件组合,其中大多数插件是基于 CounterStrikeSharp 实现功能的,少量插件以及 CounterStrikeSharp 插件是基于MetaMod 实现功能的
3个插件之间的依赖关系图
本文要用到的插件是来自github大佬Shobhit Pathak制作的 MatchZy,当前插件版本为 v0.7.8,可实现的功能有:
① 组织一场CS2竞技比赛,包含热身、刀局、加时赛等环节
② 为CT、T阵营设置战队名称;设置教练席
③ 普通暂停、战术暂停、技术故障暂停;恢复到指定的回合数
④ 每回合结束后聊天框显示本回合的伤害统计信息;比赛完成后自动生成各项数据的统计表;默认使用配置好的SQLite数据库,也可修改配置换成MySQL数据库
⑤ 管理员功能,包含强制开始&暂停&重开比赛、白名单、管理员发言等功能。同时弥补了CS2缺失的rcon功能
⑥ 如果不想办比赛,可切换到练习模式,可在所有官方地图中跑图、放置bot、练习道具。聊天框可实时显示武器伤害值、道具伤害值、闪光致盲时间,还有计时器功能
⑦ 可制作道具练习脚本。能存储道具点位信息,方便其他人学习道具,类似于完美、5E的道具练习模式,只是界面比较简陋
⑧ 自动将比赛demo并上传到 URL(前提是已用tv_enable 1命令开启CS2自带的demo录制功能;另外demo相关的功能我都没测试过,请自行探索)
⑨ 在v0.6.0版本支持了Get5 Panel功能,这个很可能是未来MatchZy插件的核心功能,但个人认为学习成本较高就放弃了,且当前面板所提供的功能还有待完善,本文不介绍相关内容,请自行从插件的自述文档中了解其用法
【声明】插件来源于github,由插件造成的服务器崩溃、插件功能故障等情况本人概不负责,如有bug或改进建议请自行到github反馈给原作者
另外本文是以Debian12系统为基础搭建CS2服务器的,安装的插件也都是适用于Linux系统的,可以参考我的其他专栏
CS2服务器搭建(Linux-Debian)
1 前言&目录 1.1 前言 CS2官方社区最近推出了CS2服务器的搭建教程,我根据此教程进行了尝试,最终做成此专栏,后续会不断的更新和完善 CS2官方社区网址:https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers 目前已有docker版本的CS2服务器,请自行在网上搜索教程 如果有服务器插件和创意工坊相关需求,可以参考我的其他专栏 CS2服务器 - 添加创意工坊地图 CS2服务器 - 1v1单挑对战 Met
文章
KOFXII...
3198
46
40
CS2服务器 - 1v1单挑对战
1 前言本专栏是在使用Debian/Ubuntu系统搭建CS2服务器的前提下,介绍使用创意工坊地图进行1v1单挑的方法,也可根据个人需求修改配置实现更多人的对战【补充】如果觉得自己搭建CS2服务器太麻烦,也可以尝试 完美 和 5E 这两个第三方平台提供的单挑对战功能(目前是免费游玩的),尤其推荐5E,它提供了常见的1v1单挑地图和实战地图两种,比如沙二的实战地图,双方出生时的准星位置即对手即将出现的方位,十分考验预瞄水平;其他的非CS官方地图则需要仔细挑选,有些地图空间太大反而不利于单挑2 具体步骤2.1
文章
KOFXII...
3015
10
6
CS2服务器 - 添加创意工坊地图(Linux-Debian)
1 前言 2023年11月3日,V社开放了创意工坊,社区服也陆续上线 (目前国服未开放创意工坊,请用CS2国际服打开创意工坊地图) CS2服务器搭建(Linux-Debian) 本专栏以Debian系统搭建的CS2服务器为例,介绍CS2服务器如何运行创意工坊的地图 2 准备工作 2.1 玩家从steam打开CS2创意工坊 用你自己玩游戏的电脑登录steam,打开CS2的创意工坊,打不开的用加速器 [图片] 2.2 筛选适合CS2的地图 如下图所示,可以不筛选,排名靠前比较热门的一般是适合CS2的地图 [图
文章
KOFXII...
2410
21
17
【注意】如果你的linux服务器仅用于CS2游戏,请不要使用CentOS_7以及更早的版本,因为随着CS2的不断更新,以后必定会出现软件依赖库不兼容、版本过旧等问题,且已知CentOS_7版本在安装MetaMod dev版本时会有某些依赖库缺失的问题,需要一些linux基础才能解决
=======================================
本专栏最后更新于 2024年5月4日
① 整合了MatchZy 最新版本v0.7.8以及更早版本所提供的功能。
② 在3.4章节添加插件切换简体中文的方法
③ 在7.2章节添加插件故障案例二
这也应该是我最后一次补充新版本内容了,因为MatchZy在v0.7.4版本中加入了简体中文,大大降低了插件的使用难度,我本身也几乎只玩官匹,对于第三方平台和插件所提供的特色功能不太感兴趣,不想在这个插件上投入精力了
=======================================
1.2 目录
1.1 ==> 介绍MatchZy插件的各种功能
2.x ==> 下载和安装MetaMod
3.x ==> 下载和安装CounterStrikeSharp、MatchZy
3.4 ==> MatchZy切换简体中文
4.x ==> 组织一场CS2竞技比赛
5.x ==> 练习模式介绍
6.x ==> 制作道具练习脚本
7.x ==> 故障排查方法
2 安装MetaMod
2.1 下载MetaMod
目前开发版(Dev Builds)的MetaMod支持CS2游戏,需下载最新版的Linux版的MetaMod插件,下载网址:https://www.metamodsource.net/downloads.php?branch=dev
下载metamod
2.2 安装MetaMod
【示例】以1271版本为例,下载得到的压缩包为 mmsource-2.0.0-git1271-linux.tar.gz,先在windows系统里进行解压,得到一个 addons 文件夹
打开ssh终端连接到自己的linux服务器。根据我的个人习惯,这里以debian12系统作为CS2服务器,以FinalShell作为ssh终端软件,cs2服务器的文件目录为:/home/aaa/Steam/cs2-ds
在FinalShell中打开目录 /cs2-ds/game/csgo/,然后将刚才解压得到的addons文件夹整个拖动复制到csgo文件夹里,最终效果如下图所示
addons的安装位置
2.3 启用MetaMod插件
依旧是 /cs2-ds/game/csgo/ 这个目录,找到 gameinfo.gi 这个文件,鼠标双击打开进行编辑,写入一行文字:Game csgo/addons/metamod
然后键盘按Ctrl+S保存,效果如下图所示
编辑gameinfo.gi文件
至此,MetaMod已完成安装
以后如需更新MetaMod版本,用新版本解压后的addons文件夹直接覆盖到CS2服务器里的addons即可,然后重新编辑gameinfo.gi文件即可完成版本更新
【!!!注意!!!】
以后遇到插件无法使用的情况,首先要检查gameinfo.gi文件是否正确
因为CS2服务器文件更新后有时候会自动校验文件完整性,然后自动还原gameinfo.gi文件,导致所有插件失效
2.4 验证MetaMod是否已启用
在启动CS2服务器后,在ssh终端直接输入 meta 即可调出MetaMod的菜单,如下图所示
验证metamod是否已启用
3 下载和安装CounterStrikeSharp、MatchZy
3.1 下载插件组合包
如果CS2服务器之前没有安装过CounterStrikeSharp,那么推荐下载CounterStrikeSharp和MatchZy的组合包,下载网址:https://github.com/shobhit-pathak/MatchZy/releases
下载插件组合包
【注意】因为CS2及其插件更新频繁,本专栏的文字部分会随着插件同步更新,但配图仍采用旧版本插件的截图(实在是懒得更新配图了~)
3.2 安装插件组合包
与安装MetaMod的方法相同,以 v0.7.8版本为例,下载得到 matchzy-0.7.8-with-cssharp.zip,先解压,得到 addons 和 cfg 两个文件夹。然后用FinalShell终端打开目录:/cs2-ds/game/csgo/,直接用鼠标将这两个文件夹拖动到csgo文件夹即可实现覆盖安装
3.3 验证插件是否安装成功
首先,在CS2服务器启动完成后,输入:meta list,查看MetaMod已加载的所有插件
已成功加载CounterStrikeSharp
然后,继续输入:css_plugins list,会列出CounterStrikeSharp已加载的所有插件
已成功加载MatchZy
如果验证插件未成功加载,请参考本文7.2章节
3.4 切换简体中文
在 /addons/counterstrikesharp/plugins/MatchZy/lang 路径下可以看到MatchZy已加入简体中文翻译文件 zh-Hans.json ,打开此文件可以查看所有的中文翻译文本
切换中文的方法是打开路径 /addons/counterstrikesharp/configs ,编辑 core.json 文件,将 "ServerLanguage": "en" 改成 "ServerLanguage": "zh-Hans"
4 组织一场CS2竞技比赛
4.1 设置MatchZy的管理员
【注意】未特别说明时,本文所说的管理员和管理员权限,均指的是MatchZy这个插件里设置的管理员,而不是CS2服务器的管理员
要将自己的steam账号设为MatchZy插件的管理员,首先要获取64位steamid,最简单的方法是windows下打开steam软件,然后打开个人资料页面,上方的网址里就有自己的64位steamid,如下图所示
获取steamid
同理,查看其他人的steam个人资料页面也可以获取他们的steamid
还有一种方法是将steam玩家的个人资料页面网址或者其他形式的steamid复制到这个网站进行查询,网址:https://steamid.io/lookup
获取64位steamid后,在FinalShell终端打开目录:/cs2-ds/game/csgo/cfg/MatchZy,双击打开admins.json文件,将steamid填进去即可设置为管理员。如果有多个管理员,记得用英文逗号分隔,否则无法获得管理员权限
添加管理员id
另外MatchZy也提供了细化管理员权限的方法,具体用法请自行查看插件的自述文件,用法比较简单,这里就不多说了,网址:https://github.com/shobhit-pathak/MatchZy
管理员权限分配
4.2 切换地图
【示例】管理员在聊天框输入:.map de_dust2
官方地图名称:
远古遗迹 —— de_ancient
阿努比斯 —— de_anubis
炙热沙城2 —— de_dust2
炼狱小镇 —— de_inferno
荒漠迷城 —— de_mirage
核子危机 —— de_nuke
死亡游乐园 —— de_overpass
殒命大厦 —— de_vertigo
意大利小镇 —— cs_italy
办公室 —— cs_office
行李仓库 —— ar_baggage
山林小寨 —— ar_shoots
4.3 切换游戏模式
MatchZy插件提供四种模式(我很少玩社区服,不确定这些模式的翻译是否正确)
① pug mode 默认模式:已进入CS2服务器的玩家可自由组队进行一场竞技比赛
② practice mode 练习模式:参考第5、6章节。还包含一个dry-run模式
③ scrim mode 训练模式:即开启 .playout 功能(参考4.4章节)后的竞技模式。方便两个队伍在竞技模式的规则下组织练习,且不用担心有一方拿到13分而被迫结束比赛
④ match mode 匹配模式:定制的比赛。需提前将参赛的玩家信息、队伍信息、教练信息、选图等比赛规则写入一个json文件,然后用命令(参考4.13章节最后一个命令)加载这个json文件,且服务器会自动踢出与比赛无关的玩家。未加载比赛json时,pug mode和match mode的游戏界面以及玩法都是相同的
当CS2服务器加载MatchZy插件后,默认是 pug mode
可通过编辑cfg文件夹里的config.cfg文件来指定默认运行的游戏模式
也可由管理员按Y在聊天框输入:.prac 或 .exitprac 或 .match 或 .tactics 在match mode和practice mode之间切换
当竞技比赛开始后不允许切换到练习模式,可以使用 .restart 命令回到热身环节,然后再切换到练习模式
当前为pug或match模式
当前为practice模式
4.4 查看当前游戏规则
管理员在聊天框输入:.settings
当前游戏规则
Knife:Enabled 代表:已开启拼刀局
Minimum Ready Required:2 代表:至少需要2名玩家输入.ready才能开始竞技比赛
Playout:Disabled 代表:有限的回合数,即默认的MR12
以上三条规则对应的管理员命令(需在聊天框输入)为:
.roundknife 开启/关闭 拼刀局,可简写为 .rk
.readyrequired <number> 设置开始比赛所需的已准备人数,输入 .readyrequired 0 代表需所有玩家输入.ready才能开始竞技比赛
.playout 以MR12为例,启用(Enabled)此功能后,比赛双方打满24回合后自动结束比赛(可再次输入 .playout 禁用此规则,即Disabled状态)
4.5 设置双方战队名称
【示例】管理员在聊天框输入:.team1 描边大师队
设置CT战队名
效果如下图所示
设置CT战队名
同理,设置T战队名称的管理员命令是:.team2 xxx队
4.6 设置教练
【示例】如果有玩家要当CT方的教练,则需在聊天框输入:.coach ct
目前教练功能还在不断完善中。在竞技比赛开始后,教练会固定在空中,当开局18秒冻结时间结束后,教练会自动切换到死亡视角来观察CT方的玩家。已修复旧版本插件中教练能拥有雷包和武器的bug
教练角色默认出生点位在空中
4.7 玩家准备开始竞技比赛
参与比赛的玩家需要在聊天框输入:.ready
达到规定人数后比赛才会正式开始,否则聊天框会一直提示让玩家准备
管理员可以强制开始比赛,需要在聊天框输入:.start
这样无论玩家是否准备好,竞技比赛都会立即开始
同理,管理员也可以强制重开比赛,命令为:.restart
在match mode或Get5面板中进行的比赛,可以强制玩家团体做准备,命令:.forceready
【补充1】在MatchZy v0.7.1版本中新增一个命令:.skipveto 我搞不清该怎么翻译这个命令,经过测试它相当于“一票否决权”,例如有玩家输入 .ready 确认已准备,管理员再输入 .skipveto 就会重置所有玩家的准备状态
【补充2】在MatchZy v0.7.8版本中新增 .force 和 .forcestart 两个命令,也可以强制开始比赛
4.8 拼刀局
如果有拼刀局,获胜规则为:存活人数多者胜,人数相同情况下血量多者胜,血量相同情况下则由系统随机指定胜者
拼刀局获胜队伍需要在聊天框输入:.stay 或 .switch 来选择是否换边
.stay 留在当前阵营,即不换边
.switch 切换到对方阵营,即换边
.solid 切换是否能穿过队友的身体(参数在0和1直接切换)
【补充】.solid这个命令对应的控制台命令是 mp_solid_teammates 1 ,参数为1时代表不可穿过队友身体;参数改为0时代表可以完全穿过队友身体,不会产生身体碰撞;参数为2时代表可以穿过队友身体并且可以站在队友头顶。这个命令与“是否开启友伤”并不冲突
4.9 各种比赛暂停
.pause 由玩家发起暂停,不限时间
.unpause 由暂停发起方队伍来解除暂停
.forcepause 由管理员发起强制暂停,可简写为 .fp
.forceunpause 由管理员解除强制暂停,可简写为 .fup
.tech 发起技术暂停,默认时长300秒
.tac 由玩家发起战术暂停,时长30秒
4.10 恢复功能
.stop 恢复当前回合的备份,需两队都输入.stop
.restore <round> 恢复到指定的回合数。例如输入 .restore 11 ,则已结束的前10回合数据不变,直接进行第11回合比赛
4.11 比赛结果统计表
一场竞技比赛结束后,MatchZy插件会自动生成数据表
在FinalShell中打开目录:/cs2-ds/game/csgo/MatchZy_Stats
此文件夹保存的csv表格文件记录了玩家的比赛数据,可根据表格的修改时间来区分比赛场次
【注意】非正常情况下结束的比赛可能不会生成比赛数据统计表,比如CS2服务器突然崩溃,也无法通过.restore来恢复指定回合数
比赛数据表
4.12 关于友伤
玩过5E、完美平台的玩家应该知道,这些平台的“关闭友伤”是不能免除道具伤害的,而我们常用的 mp_friendlyfire 0 是关闭一切来自友军的伤害
以下是一些关于友伤的控制台命令:
mp_friendlyfire 0 关闭友伤
mp_teammates_are_enemies 将队友当做敌人,类似于死竞模式下所有玩家都是敌人
ff_damage_decoy_explosion 0 默认关闭诱饵弹爆炸产生的伤害
ff_damage_bullet_penetration 0 这个似乎是调整友军子弹的穿透力,避免一枪打伤两个队友
ff_damage_reduction_bullets 0.33 友军子弹的伤害衰减(参数为1时代表等同于敌军收到的伤害)
ff_damage_reduction_grenade 0.85 友军道具的伤害衰减(参数为1时代表等同于敌军收到的伤害)
ff_damage_reduction_grenade_self 1 玩家自己的道具对自己产生的伤害(参数为1时代表等同于敌军收到的伤害)
ff_damage_reduction_other 0.4 减少子弹和手榴弹以外的东西对队友造成的伤害(参数为1时代表等同于敌军收到的伤害)
【总结】要达到5E、完美等平台的效果,应该先开启友伤,命令:mp_friendlyfire 1 然后关闭友军子弹伤害,命令:ff_damage_reduction_bullets 0
4.13 其他游戏配置
如果MatchZy插件提供的功能满足要求,也可以直接使用CS2控制台指令来改变游戏规则
【方法一】直接用FinalShell终端向CS2服务器发送控制台指令
【方法二】使用rcon方式向CS2服务器发送控制台指令。不过目前CS2的rcon功能还未启用,MatchZy插件内的rcon使用方式为:!rcon <command>。也可用fake-rcon插件来解决,网址:https://github.com/Salvatore-Als/cs2-fake-rcon
【方法三】在FinalShell中打开目录:/cs2-ds/game/csgo/cfg/MatchZy,找到warmup.cfg、knife.cfg、live.cfg、prac.cfg这四个文件,它们分别在热身环节、拼刀环节、比赛环节、练习模式里生效,可根据个人需求进行修改
【方法四】在FinalShell中打开目录:/cs2-ds/game/csgo/cfg/MatchZy,找到config.cfg,其内容是MatchZy的默认规则,目前有如下几个选项:
matchzy_whitelist_enabled_default false 默认禁用白名单功能
matchzy_knife_enabled_default true 默认开启拼刀局
matchzy_minimum_ready_required 2 开启竞技比赛至少需2人输入 .ready
matchzy_demo_path MatchZy/ 默认将demo保存在MatchZy文件夹内
matchzy_demo_name_format 可自定义demo的文件名格式
matchzy_stop_command_available false 默认不允许使用.stop命令
matchzy_use_pause_command_for_tactical_pause false 玩家使用的 .pause 命令属于普通暂停(与战术暂停.tac进行区分)
matchzy_enable_tech_pause true 默认允许使用技术暂停
matchzy_tech_pause_duration 300 默认技术暂停时长为300秒,参数改为-1代表无限时长
matchzy_max_tech_pauses_allowed 2 默认最多2次技术暂停
matchzy_pause_after_restore true 默认在恢复指定的回合数之后自动进入暂停环节
matchzy_chat_prefix [{Green}MatchZy{Default}] 每次MatchZy向玩家发信息时前缀为绿色
matchzy_admin_chat_prefix [{Red}ADMIN{Default}] 每次管理员向玩家发消息时前缀为红色
matchzy_chat_messages_timer_delay 13 MatchZy插件发送消息的间隔默认为13秒
matchzy_playout_enabled_default false 默认不开启 .playout 功能
matchzy_reset_cvars_on_series_end true 默认在比赛结束后将比赛规则参数恢复为默认值
matchzy_demo_upload_url "" 默认在比赛结束后将demo上传到指定url
matchzy_save_nades_as_global_enabled false 默认玩家保存的nade是私有的,别人不能调用这些私有的nade
matchzy_autostart_mode 1 MatchZy插件启动时默认开启竞技模式;参数2代表练习模式,参数0代表两个模式均不开启
matchzy_allow_force_ready true 默认允许使用 .forceready 命令
matchzy_max_saved_last_grenades 512 默认最多保存512条道具记录
matchzy_everyone_is_admin false 默认关闭“所有玩家拥有MatchZy管理员权限”
matchzy_kick_when_no_match_loaded false 默认在match mode且没有加载json文件时,不会踢出所有玩家(如果是开启状态,则需使用matchzy_loadmatch <filepath> 或 matchzy_loadmatch_url "<url>"命令加载指定的json文件,从而进行一场定制的竞技比赛,作者也给出了一个示例文件,网址:https://shobhit-pathak.github.io/MatchZy/match_setup/ )
【注意】以上翻译属于我的个人理解,可能有不准确的地方,可以参考MatchZy插件的作者编写的英文版解释文档,网址:https://shobhit-pathak.github.io/MatchZy/configuration/
5 练习模式介绍
5.1 切换到练习模式
同本文4.3章节,需管理员在聊天框输入:.prac 或 .tactics
退出练习模式,命令:.exitprac
5.2 默认出生点位
有三个命令:.spawn <number> 、.ctspawn <number> 、tspawn <number>
【示例】在聊天框输入:.ctspawn 5 ,则自己会传送到CT阵营的5号默认出生点位上
每张官方地图都有固定的几个出生点位,这个命令就可以快捷的模拟正式比赛中的各种情况,比如测试CT和T的抢点速度、某些出生点位有特殊的道具投掷方法等等
5.3 切换阵营
.ct 加入CT阵营
.t 加入T阵营
.spec 加入观察者
.fas 强制其他非bot玩家加入观察者
.watchme 强制其他非bot玩家加入观察者视角并观察自己
5.4 放置bot
.bot 在玩家当前位置生成一个bot
.cbot 在玩家当前位置生成一个蹲姿bot
.crouchbot 在玩家当前位置生成一个下蹲状态的bot
.nobots 踢出所有bot
.boost 在玩家脚下放置一个站立状态的bot
.crouchboost 在玩家脚下放置一个下蹲状态的bot
【玩法一】生成bot可以保留玩家的位置坐标和视角方向,可以用来测试闪光弹是否能致盲特定的点位、道具是否能对特定位置的玩家造成伤害、练习peek、练习预瞄等等
【玩法二】玩家可以利用双架来到达平时跳不上去的位置,也可以模拟在烟雾弹后面双架来获取视野
【玩法三】目前在玩家脚下生成的bot并不会自主跑动,也就无法帮玩家练习runboost,此功能有待完善。但可以脱离MatchZy插件,自建一个本地的练习房,使用bot_mimic 1 (参数0 1 -1分别代表:不模仿、模仿、仅bot可行动 三种状态)和 bot_mimic_yaw_offset 360 这两个控制台指令搭配进行练习,也可以使用指令绑定键盘H键为一键切换bot站立/蹲姿 bind "h" "toggle bot_crouch 0 1" ,再绑定键盘K键为bot是否模仿玩家行为 bind "k" "toggle bot_mimic 0 1 -1;bot_mimic_yaw_offset 360"
5.5 数据展示
【枪械伤害数据展示】和【闪光致盲时长展示】
MatchZy插件的练习模式在聊天框实时显示闪光弹的致盲时间、道具造成的伤害、枪械造成的伤害等信息,方便玩家进行道具练习、穿点测试
数据展示
【道具滞空时长】
可用于寻找烟雾弹、闪光弹的最优投掷方式
道具飞行时间
【计时器功能】
可用来计算从A点跑到B点所需时间
计时器
5.5 道具相关命令
.traj 是否显示道具投掷预览小窗口
!rethrow 重投上一个道具
!last 传送到上一次投掷道具的位置
!back <number> 根据道具投掷记录,传送到指定投掷记录编号的位置
【示例】想要回到投掷第3个道具时的位置,就在聊天框输入:!back 3
!delay <delay_in_seconds> 给上一次投掷的道具设置一个延迟时间
【示例】先投掷一个闪光弹,然后给它加2秒延迟,命令:!delay 2 然后使用 !rethrow 命令复现这颗闪光弹时就会有2秒的延迟
!throwindex <index> 根据道具投掷记录,依次重投指定的道具。如果投掷时设置了延迟时间,则复现时也会保留延迟时间
【示例1】想要复现第5次投掷的道具,就在聊天框输入:!throwindex 5
【示例2】想要复现第2、3、6、7次投掷的道具,就在聊天框输入:!throwindex 2 3 6 7
!lastindex 显示上次投掷的道具在投掷记录里的编号
查询投掷道具的编号
!rethrowsmoke 重投上一个烟雾弹
!rethrownade 重投上一个高爆手雷
!rethrowflash 重投上一个闪光弹
!rethrowmolotov 重投上一个燃烧瓶(插件作者似乎忘了燃烧弹……)
!rethrowdecoy 重投上一个诱饵弹
5.6 其他命令
.god 无敌模式,把生命值调成巨大,防止烧死、摔死等情况
.clear 清除烟雾、燃烧效果,方便练习道具
.impacts 切换是否显示弹着点
.noblind 开关闪光弹的致盲效果
.fastforward 将服务器时间快进20秒。例如可以缩短C4引爆的等待时间
.break 打破地图内所有易碎的实体,如玻璃窗、木板、通风口等
.asay <message> 在聊天框中以管理员身份发言
.reload_admins 从admins.json重新加载管理员
.whitelist 玩家白名单,存储目录:cfg/MatchZy/whitelist.cfg
.dryrun 我个人将其翻译为演习模式,效果是在练习模式下临时进入竞技模式,且只维持1个回合
还有几个命令可以用来制作道具练习脚本,就放在第6章节来介绍
6 制作道具练习脚本
6.1 使用插件保存玩家的位置和方向信息
.savenade <name> <optional description> 保存当前玩家的位置和方向数据
【示例】在聊天框输入:.savenade 点位1 需要跳投
这里第一个参数就是“点位1”,第二个参数就是“需要跳投”,第二个参数只是备注作用,可不写
保存一个xbox烟点位
当然,第二个参数可以备注此道具的用法,当加载此点位时游戏中会有横幅提示,如下图所示
此点位的Desc信息
然后在FinalShell中打开目录:/cs2-ds/game/csgo/cfg/,找到savednades.json文件,新增的点位就保存在这个文件中
保存点位的文件
如上图所示,不同管理员保存的点位会根据steamid进行区分,点位的name如果是中文就会保存为字符编码,还能保存此点位适用哪个地图,以及切换出指定的道具
MatchZy的作者也在文档里写了一些适用于nuke的点位,不需要的话可以删掉
6.2 手动保存玩家的位置和方向信息
.importnade <code> 手动保存name、pos、ang到新nade
【示例】以dust2的警家烟为例,在练习模式,玩家站到需要丢烟的位置并用准星瞄好点,然后打开控制台,输入:getpos
getpos
获取到坐标信息后,接下来在聊天框输入:.importnade xbox -275.029419 1345.431152 -58.407829 -10.670014 129.621689 0.000000
【注意】各个参数之间只能有1个空格,多余的空格会导致保存点位失败
手动导入点位
同样的,也可以到savednades.json文件中查看此点位信息,也可以补充上Desc、Map、Type等信息
以下为道具type名称:
【Molly 燃烧弹/燃烧瓶】 【HE 手雷】
【Smoke 烟雾弹】 【Flash 闪光弹】
【Decoy 诱饵弹】
6.3 加载指定的点位
.loadnade <name> 加载指定的位置和方向数据
【示例】在聊天框输入:.loadnade xbox
即可将玩家移动到上一章节中手动保存的点位
【注意1】如果要加载的点位不适用于当前地图,则不会加载此点位并在聊天框进行提示
【注意2】如果加载的点位name不存在,或是别的管理员保存的点位,也不会加载此点位
【注意3】此功能不止可以练习道具,也可用于练习旋转跳身法
6.4 管理点位
.delnade <name> 根据点位name来删除指定的点位信息
.listnades 列出玩家自己保存的点位,无Map参数的点位则不会被列出
.listnades <optional filter> 可添加参数来筛选点位信息
6.5 公用的点位
.globalnades 切换保存为私人/公共点位
打开savednades.json文件,首先看到的就是 default 分类,与玩家的64位steamid分类不同,在这个分类下的点位信息是可以被所有管理员调用的,如果公用的点位name与玩家私有的点位name相同,则会加载玩家私有的点位
因此,如果要制作道具练习脚本给其他玩家使用,就需要将点位信息保存在 default 这个分类里,既可以使用 .globalnades 命令来切换,也可以手动编辑savednades.json文件,将点位信息写入到 default 这个分类
6.6 用控制台来发送MatchZy插件的命令
熟悉控制台指令的玩家都知道,使用 say 指令可以代替“在聊天框内输入”的操作
【示例】如果需要切换游戏模式,正常情况下需要管理员按Y打开聊天框,然后输入:.prac
而另一种方法就是管理员打开控制台,输入:say .prac
两种方法最终效果是相同的,因为在控制台里可以使用键盘上下方向键快捷的调用最近使用的指令,因此要比在聊天框里手动打字便捷
【注意1】更规范的控制台使用方法是给参数加英文的双引号,例如:say ".prac",因为在MatchZy旧版本中,有些命令不加双引号则无法生效,当前新版本中则可以不加引号。例如保存点位信息在控制台中有三种写法 say .savenade1 或 say ".savenade 1" 或 say ".savenade1"
【注意2】目前say命令后的两个参数之间不能有空格,例如:say .loadnade xbox 是不生效的,需要修改为:say .loadnadexbox
6.7 使用Alias简化操作
如果制作道具练习脚本给别人使用,别人需要在控制台输入.loadnade之类的命令,太麻烦。因此可以给每条命令设置一个别名
【示例】在控制台输入:alias x1 "say .loadnadexbox",就是用 x1 这两个字来代替 say .loadnadexbox 这一长串命令,以后玩家只需在控制台输入:x1 即可加载此点位
6.8 制作道具练习脚本
通过6.6和6.7章节的介绍,你已经知道如何快捷的加载点位
当有多个点位时,可以制作一个cfg文件来帮助玩家更方便的选择点位
【示例】比如你已经在CS2服务器的savednades.json里保存了一些点位,点位name分别为xbox、bus-flash、ct-smoke,然后你需要创建一个cfg文件,假设文件名为daoju.cfg,然后写入以下内容(蓝色字体部分)
alias x1 "say .loadnadexbox"
alias a1 "say .loadnadebus-flash"
alias a2 "say .loadnadect-smoke"
echo =========================
echo --------【道具教学】--------
echo 练习 从xbox丢警家烟,左键跳投。请在控制台输入 x1
echo 练习 A大蓝车自助闪光,左键直接投掷。请在控制台输入 a1
echo 练习 A大丢警家烟,左键直接投掷。请在控制台输入 a2
echo =========================
然后将这个test.cfg文件发送给要练习道具的玩家,将cfg保存在他的游戏目录的cfg文件夹中,每次他想学道具时,先连接到CS2服务器,切换到练习模式,然后再控制台输入:exec daoju
控制台就会列出所有的道具点位,如下图所示
加载道具教学脚本
7 故障排查方法
7.1 有些命令不生效
排查方向:
① 首先确保CS2服务器是正常运行状态,保证玩家能进入服务器。如果玩家不能进入服务器,则先将 addons 文件夹重命名为 add,这样CS2服务器就无法加载所有的CS2插件,通过控制变量来排除插件造成的CS2服务器故障
② 检查MatchZy插件是否运行,参考2.4和3.3章节;如有新版本,可尝试使用新版本MatchZy,注意请提前备份admins.json、savednades.json等配置文件
③ 检查当前游戏模式,参考4.3章节
④ 当前玩家steam账号是否是MatchZy插件的管理员,参考4.1章节
⑤ 检查命令是否有拼写错误;命令的参数之间是否有多余的空格
⑥ 在聊天框输入命令和在控制台输入命令是有区别的,参考6.6章节
⑦ 检查CS2服务器端是否有新版本需要更新
7.2 CounterStrikeSharp插件加载失败
【案例一】
目前在MetaMod 1271版本和MatchZy-0.4.3-with-cssharp版本组合中发现此问题。当CS2服务器启动完成后,MetaMod正常运行,但MatchZy没有运行,使用命令:meta list 发现是CounterStrikeSharp插件未加载
在FinalShell终端输入 :meta load counterstrikesharp ,则会报错:
Failed to load plugin addons/counterstrikesharp/bin/win64/counterstrikesharp (File not found: /home/aaa/Steam/cs2-ds/game/csgo/addons/counterstrikesharp/bin/win64/counterstrikesharp.so).
如下图所示
CounterStrikeSharp插件加载失败
正常情况下,MetaMod插件应该从/addons/counterstrikesharp/bin/linuxsteamrt64路径中去找counterstrikesharp.so,不知为何它要从win64文件夹中去寻找,所以导致插件加载失败
解决办法也很简单,从linuxsteamrt64文件夹中把counterstrikesharp.so文件复制到win64文件夹中即可,这样MetaMod就能正常加载CounterStrikeSharp插件,MatchZy也能正常使用
【案例二】
在安装MatchZy v0.7.8版本后,启动CS2服务器后使用 meta list 查看已运行插件,发现cssharp没有运行,如案例一所示手动加载cssharp插件,报错:Failed to load plugin counterstrikesharp (File not found: /counterstrikesharp.so).
经排查故障原因是CS2服务器文件未更新到最新版本,更新后可正常运行插件
8 总结
MatchZy插件以及CS2游戏生态正在逐步完善,本文仅针对MatchZy v0.7.8版本进行介绍,如遇到个别命令未生效,请查看插件作者的官方更新文档是否有改动 作者:KOFXIII https://www.bilibili.com/read/cv28350988/?spm_id_from=333.999.0.0 出处:bilibili
欢迎光临 麦克雷 (http://imac.ly/)
Powered by Discuz! X3.5