checks.md
checks.yml — это файл правил для всех проверок Matrix.
TIP
Прежде чем читать это, убедитесь, что вы прочитали Основные концепции Matrix.
Вы можете:
- Включить/Отключить проверки / подпроверки
- Изменить наказание за проверки
- Изменить порог проверки
- Изменить магическое значение проверки
Начало работы
Откройте checks.yml, вы увидите что-то вроде этого:
# Check A
check-name-a:
enable: true
other-settings: ...
decay:
interval: 15
amount: 5
commands:
10: '...'
20: '...'
# Check B
check-name-b:
enable: true
other-settings: ...
decay:
interval: 15
amount: 5
commands:
10: '...'
20: '...'
# Check C
check-name-c:
...
Позвольте мне объяснить вам, в checks.yml корневой узел — это тип проверки, а после двоеточия идет серия его настроек.
enable
обозначает, включена ли эта проверкаother-settings
обозначает другие настройки этого типа проверки. Обычно здесь можно определить некоторые настройки под-проверок (модулей) или переключить ихdecay
обозначает настройки уменьшения уровня нарушения для этого типа проверкиcommands
обозначает команды, которые будут выполнены, когда уровень нарушения для этого типа проверки достигнет определенного значения
Возьмем проверку KillAura в качестве примера
killaura:
# Включить проверку KillAura?
enable: true
# Список различных модулей проверки KillAura Matrix
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 использовать реальные идентификаторы сущностей вместо случайно генерируемых?
# Некоторые чит-клиенты могут обходить случайные идентификаторы сущностей
real_entity_id: true
# Был ли NPC создан только по команде? Если установлено значение false, NPC будет автоматически
# создан, когда игрок сражается. Если установлено значение true, вы можете создать NPC для игрока
# только с помощью команды "matrix npc". (по умолчанию: true)
only_command_trigger: true
# Должен ли игрок видеть этого NPC? (true = видимый)
visible: true
# Принудительное случайное имя (по умолчанию: false)
# Если эта опция включена, NPC, созданный Matrix, будет принудительно использовать случайное имя
# вместо случайного имени онлайн-игрока, что может решить проблему некоторых клиентов,
# обходящих NPC с "дублирующимся" именем. Но Matrix НЕ будет применять команды к NPC со случайным именем,
# вам может понадобиться использовать API для применения команды к NPC самостоятельно, иначе некоторые клиенты
# будут обходить на основе того, имеет ли имя NPC цвет
force_random_name: false
# Настройка времени существования NPC (тики)
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:
# Включить этот модуль?
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% might be using combat hacks (KillAura)'
35: 'matrix notify %player% is using combat hacks (KillAura) #2'
45: 'matrix delay 5 matrix kick %player% KillAura'
Раздел decay
особенно важен, так как он контролирует, как уровень нарушения (VL) игрока уменьшается со временем. Настройка interval
определяет время в секундах между каждой операцией уменьшения, а настройка amount
определяет, на сколько уменьшается VL каждый раз. Это позволяет уровню нарушения игрока постепенно уменьшаться, если он перестает читерить, предотвращая постоянные высокие уровни нарушения за временное читерство.
Раздел commands
используется для определения действий, которые должны быть предприняты, когда уровень нарушения игрока достигает определенных порогов. Числа слева представляют пороги уровня нарушения, а строки справа — это команды, которые будут выполнены, когда эти пороги будут достигнуты.
Например, когда уровень нарушения игрока достигает 10, выполняется команда matrix npc %player% 100
. Эта команда создает неигрового персонажа (NPC) на 100 тиков для дальнейшей проверки, использует ли игрок KillAura.
Когда уровень нарушения достигает 20 и 35, серверные администраторы получают уведомления, предупреждающие их о том, что игрок может использовать боевые хаки.
Наконец, когда уровень нарушения достигает 45, игрок выгоняется с сервера через 5 секунд с причиной "KillAura".
Этот конфигурационный файл позволяет администраторам сервера настраивать проверку KillAura в соответствии с их потребностями, регулируя чувствительность проверки и строгость наказаний.
Заполнители
%player%
: Имя игрока, который вызвал проверку.%message%
: Сообщение с деталями обнаружения.%tooltips%
: Всплывающее сообщение с деталями обнаружения.%add_vl%
: Количество очков VL, которые будут добавлены к общему уровню нарушения игрока.%vl%
: Общий уровень нарушения игрока.%ping%
: Пинг игрока.%tps%
: TPS сервера.%component%
: Компонент проверки.%version%
: Версия игрока.%world%
: Мир игрока.
Вы также можете установить PlaceholderAPI, чтобы получить больше заполнителей.