checks.md
checks.yml 是 Matrix 所有检查的规则文件。
TIP
在阅读本文之前,请确保您已阅读 Matrix 的核心概念。
您可以:
- 启用/禁用检查/子检查
- 更改检查的惩罚
- 更改检查的阈值
- 更改检查的魔法值
入门
打开 checks.yml,您将看到如下内容:
yaml
# 检查 A
check-name-a:
enable: true
other-settings: ...
decay:
interval: 15
amount: 5
commands:
10: '...'
20: '...'
# 检查 B
check-name-b:
enable: true
other-settings: ...
decay:
interval: 15
amount: 5
commands:
10: '...'
20: '...'
# 检查 C
check-name-c:
...
让我来解释一下,在 checks.yml 中,根节点是检查类型,冒号后面是一系列的设置。
enable
表示是否启用此类型的检查other-settings
表示此类型检查的其他设置,通常,您可以在这里定义一些子检查(模块)的设置或切换它们decay
表示此类型检查的违规等级的衰减设置commands
表示当此类型检查的违规等级达到某个值时要执行的命令
以 KillAura 检查为例
yaml
killaura:
# 启用 KillAura 检查?
enable: true
# Matrix 的各种 KillAura 检查模块列表
modules:
# 检查玩家在战斗中是否表现出缺陷
flaw:
type_a:
enable: true
vl: 3
type_b:
enable: true
vl: 10
type_c:
enable: true
vl: 10
type_d:
enable: true
vl: 10
type_e:
enable: true
vl: 5
# 检查玩家攻击时是否有正确的旋转
rotation:
type_a:
enable: true
vl: 2
type_b:
enable: true
vl: 2
# 检查玩家是否表现出类似 aimbot 的瞄准特征
aimbot:
vl_weight: 7
cancel_hit: true
check_aimbot_sync: true
check_aimbot_shake: true
check_aimbot_snap: true
check_aimbot_sensitivity: true
check_aimbot_acceleration: true
check_aimbot_bad_rotation: true
# KillAura NPC 检查,它会在玩家身后生成一个假玩家以检测
# 玩家是否在使用 KillAura,不用担心,玩家只能看到自己的 NPC
npc:
enable: true
vl_weight: 5
# NPC 的位置计算是否应异步运行,因为这可能会消耗一些资源
async: true
# NPC 是否使用真实的实体 ID 而不是随机生成的 ID?
# 一些作弊客户端可以绕过随机实体 ID
real_entity_id: true
# NPC 是否仅通过命令生成?如果设置为 false,NPC 将在玩家战斗时自动生成。
# 如果设置为 true,您只能通过 "matrix npc" 命令为玩家生成 NPC。(默认:true)
only_command_trigger: true
# 玩家是否应该看到这个 NPC?(true = 可见)
visible: true
# 强制随机名称(默认:false)
# 如果启用此选项,Matrix 生成的 NPC 将强制使用随机名称
# 而不是在线玩家的随机名称,这可以解决一些客户端绕过“重复”名称 NPC 的问题。
# 但 Matrix 不会为随机名称的 NPC 应用团队,您可能需要使用 API 自行应用 NPC 团队,
# 否则一些客户端会基于 NPC 名称是否有颜色来绕过
force_random_name: false
# NPC 存在时间设置(ticks)
check_ticks:
base: 100
attack_add: 20
hit_bot_add: 50
# NPC 运动设置
movement:
distance_base: 3.2
distance_random_size: 0.75
distance_attack_base: 3.0
move_up_after_attack: false
# Critical Hit 检查,防止玩家进行异常的暴击攻击
critical:
# 启用此模块?
enable: true
# 玩家在被此模块标记后应获得多少 VL?
vl_weight: 5
# Matrix 在检测到玩家作弊后是否应取消玩家的攻击?
cancel_attack: true
# Strafe 检查
strafe:
enable: true
vl_weight: 3
cancel_move: true
# 组合检查
combine:
aimbot_with_reach:
time: 5000
condition:
- 'ka.abt.magic'
- 'hb.reach'
- 'hb.reach'
action: 5 # +5 VL
# 自定义 vl 衰减间隔(秒)和 vl 衰减步长
decay:
interval: 15
amount: 5
# 违规阈值
# number_of_violations: '<command>'
commands:
10: 'matrix npc %player% 100'
20: 'matrix notify %player% 可能在使用战斗作弊 (KillAura)'
35: 'matrix notify %player% 正在使用战斗作弊 (KillAura) #2'
45: 'matrix delay 5 matrix kick %player% KillAura'
decay
部分特别重要,因为它控制玩家的违规等级(VL)如何随时间减少。interval
设置确定每次衰减操作之间的时间(以秒为单位),amount
设置确定每次 VL 减少的数量。这允许玩家的 VL 在停止作弊后逐渐减少,防止因暂时的作弊行为而导致永久的高 VL。
commands
部分用于定义当玩家的 VL 达到某些阈值时应采取的行动。左侧的数字表示 VL 阈值,右侧的字符串是达到这些阈值时要执行的命令。
例如,当玩家的 VL 达到 10 时,将执行命令 matrix npc %player% 100
。此命令生成一个 NPC 100 ticks 以进一步检查玩家是否在使用 KillAura。
当 VL 达到 20 和 35 时,会向服务器管理员发送通知,提醒他们玩家可能在使用战斗作弊。
最后,当 VL 达到 45 时,玩家将在 5 秒延迟后被踢出服务器,原因是 "KillAura"。
此配置文件允许服务器管理员根据需要自定义 KillAura 检查,调整检查的敏感度和惩罚的严重程度。
占位符
%player%
: 触发检查的玩家的名称。%message%
: 检测详情的消息。%tooltips%
: 检测详情的工具提示消息。%add_vl%
: 要添加到玩家总 VL 的 VL 点数。%vl%
: 玩家总 VL 点数。%ping%
: 玩家延迟。%tps%
: 服务器的 TPS。%component%
: 检查的组件。%version%
: 玩家版本。%world%
: 玩家所在的世界。
您还可以安装 PlaceholderAPI 以获取更多占位符。