Skip to content
Все статьи
This article is available in English
Опубликовано6 мин чтения

Как на самом деле работает античит RedM (и почему большинство из них не справляется)

Что античит RedM действительно видит, чего не увидит никогда и почему перенос античита с FiveM на RDR3 тихо ломает защиту.

anticheatRedMдетекцияосновы

Также доступно на языках:EnglishFrançaisEspañolRomână

Античит - это механизм, который отвечает на один вопрос: физически ли возможно то, что заявляет клиент? Всё остальное (панель, оповещения, баны) вытекает из этого вопроса. В этой статье разберём, как на него отвечает античит для RedM, где проходит настоящий потолок и почему античит, исправно работающий на FiveM, начинает врать, как только вы переносите его в Red Dead.

Исходная позиция: все карты у клиента

В RedM, как и в любой мультиплеерной игре на RAGE, игра выполняется на машине игрока. Эта машина решает, где стоит персонаж, когда нажат спуск и во что попала пуля. Ваш сервер получает лишь рассказ об этом. Читер не «взламывает ваш сервер»: он правит рассказ до отправки.

Отсюда первое правило, которое уже отсеивает половину продуктов на рынке: детект, живущий на машине игрока, игрок может отключить. Инжектированное меню делит с игрой одно адресное пространство. Оно может прочитать ваш клиентский Lua, пропатчить его или просто не дать ему запуститься. Всё, что имеет значение, нужно устанавливать там, где читер не хозяин.

Три семейства детекций, самое слабое в конце

1. Перекрёстное подтверждение между клиентами: самое сильное доказательство

Если стрелок утверждает, что попал, слово получает жертва. Два независимых клиента, описывающих одно и то же событие, трудно согласовать, если один из них лжёт. На этом держится детекция silent aim: стрелок сообщает вектор прицеливания посреди улицы, а жертва сообщает, что получила пулю, до которой этот вектор никогда бы не дотянулся. Чтобы остаться непротиворечивым, читеру пришлось бы подделать обе машины, включая машину игрока, которого он никогда не встречал.

2. Внутреннее противоречие: сильное и дешёвое в исполнении

Здесь клиент противоречит сам себе. Персонаж, который за полсекунды проходит тридцать метров, пока движок сообщает нулевую скорость движения, не бежит: ему записывают координаты. Игрок, принявший пятнадцать попаданий, подтверждённых пятнадцатью разными стрелками, и не потерявший ни одной единицы здоровья, - это не везение.

На практике именно это семейство несёт основную нагрузку, потому что не требует ничьего содействия. Ложь видна в данных, которые читер сам вам прислал.

3. Наблюдение за состоянием: самое слабое и самое разрекламированное

«У игрока установлен флаг неуязвимости». Это правда, это тривиально считывается и это источник ложных срабатываний номер один: ваш собственный фреймворк ставит этот флаг при реанимации, во время кат-сцены, в безопасной зоне, при спавне, пока работает скрипт медика. Античит, который поднимает тревогу по состоянию, не спрашивая, чем оно вызвано, в итоге обвиняет ваших админов и ваши собственные скрипты.

Почему античит FiveM не переживает переезд на RedM

RedM - это не FiveM с лошадьми. Допущения, верные для GTA V, на RDR3 рушатся одно за другим:

  • Нативы другие. Некоторых просто нет. Другие носят то же имя, но ведут себя иначе. Защита, написанная под GTA V, на RedM просто никогда не срабатывает, и при этом не выдаёт ни одной ошибки.

  • События урона ведут себя иначе. Событие, на которое опирается любой античит FiveM, чтобы считать попадания, в части случаев RDR2 молчит на стороне жертвы. Перенесите детектор как есть, и он ничего не увидит, при этом сообщая, что полностью здоров.

  • Верховые животные и поезда ломают наивную физику. Игрок, стоящий в движущемся фургоне, едет со скоростью фургона, не «двигаясь»: для проверки «расстояние за время» это спидхак. Лошадь в полном галопе приземляется ровно на порог, который вы выбрали бы для человека пешком.

  • Быстрые перемещения и RP-скрипты постоянно перемещают игроков. Поездки в дилижансе, телепорты в тюрьму, интерьеры недвижимости: без способа распознать скриптовое перемещение каждое из них выглядит как телепорт.

Классический итог переноса: тысячи оповещений, которые никто не читает, и персонал, который учится игнорировать канал. Античит, который кричит постоянно, так же полезен, как выключенный. У этого сбоя есть своя статья: почему ваш античит обвиняет честных игроков. Полное сравнение детектор за детектором есть в статье античит RedM против античита FiveM.

Чего не увидит ни один античит

Скажем прямо, потому что в других местах вам этого не скажут: античит, работающий внутри игры, не видит того, что происходит за пределами игры. Внешняя программа, читающая память и ни разу не вызывающая игровую функцию, вторая машина, анализирующая видеопоток, аппаратное устройство, подталкивающее мышь: ничто из этого не проходит через движок, а значит, не наблюдается из движка. Любой вендор, утверждающий обратное, продаёт вам ощущение.

Наблюдаемым остаётся эффект. Внешний аимбот рано или поздно порождает движение прицела, которого не делает ни одна человеческая рука: мгновенный угловой скачок, полная остановка, выстрел в следующий же миг. Вы детектируете не программу. Вы детектируете след, который она оставляет в кинематике прицеливания.

На практике наш детектор требует, чтобы угловой шаг превысил градусов за один кадр, затем время успокоения ниже порога, который мы не публикуем, затем выстрел: три условия, повторённые несколько раз, прежде чем будет поднято хотя бы одно оповещение.

Не публикуется/Пороги срабатывания не публикуются: известное значение - это значение, под которое настраивают чит.

Точные значения остаются внутри компании, и не из тщеславия: разработчик чита, который их знает, настроит свой софт так, чтобы держаться чуть ниже. Это одно из немногих мест, где секретность действительно покупает защиту, а не маркетинговый текст.

Обнаружить мало: нужно уметь доказать

Оповещение - это обвинение. Когда игрок его оспаривает (а он будет, часто с частью вашего сообщества за спиной), строка в лог-файле ничего не стоит. Выдерживает проверку только реконструкция: где стоял каждый, кто стрелял, что получила жертва и в какой точке два рассказа перестают совпадать.

Что содержит материал дела
позиции
от 2 до 10 замеров в секунду в зависимости от трека
выстрелы
вектор прицеливания, попадание, оружие, дистанция
показатели жизни
здоровье и состояние, а также их расхождение с сервером
печать
захват с меткой времени, доступный для экспорта

Это и есть разница между «античит его отметил» и «вот что произошло». Разница не техническая, а политическая: от неё зависит, переживёт ли ваше решение столкновение с вашим собственным сообществом.

Коротко

  1. 1

    Всё, что живёт на машине игрока, игрок может нейтрализовать. Решение должно приниматься на стороне сервера.

  2. 2

    Перекрёстное подтверждение двух независимых клиентов - самое трудноподделываемое доказательство.

  3. 3

    Одно лишь наблюдение за состоянием в основном порождает ложные срабатывания, потому что ваш собственный сервер создаёт те же состояния.

  4. 4

    На RedM допущения FiveM неверны: верховые животные, поезда, скриптовые перемещения и отсутствующие нативы делают перенесённые детекторы либо немыми, либо истеричными.

  5. 5

    Честный античит также говорит вам, чего он не видит.

Если хотите увидеть, как такие материалы дела выглядят на реальных данных, демо-панель открыта, а тарифы публичны. Античит Baobab - продукт, который описывает эта статья: детекции и панель на одной странице. Аргумент о подтверждении разобран выстрел за выстрелом в статье детекция silent aim на RedM, а вопрос архитектуры решён в статье серверный и клиентский античит.

Читать дальше

Судите по фактам, а не по обещаниям

Демо-панель открыта только для чтения на реальных данных, без регистрации.

Everything on one page: RedM anticheat, detections, evidence and panel.