Все темы детекта

Двухслойная архитектура: как Raven Anticheat гоняет детект на клиенте и сервере вместе

Raven по умолчанию запускает клиентский и серверный детект параллельно. Обход одного слоя оставляет второй наблюдать, и именно это не даёт большинству современных читов для ФайвЭм остаться незамеченными.

Почему одного слоя мало

Большинство античитов для ФайвЭм опираются на один слой детекта: либо клиентский стек, который следит за инжектнутыми DLL, перехваченными API и известными сигнатурами меню, либо серверный, который проверяет события и отбрасывает невозможные переходы состояния игры. У каждого слоя есть известный способ отказать. Античит только на клиенте проваливается в тот момент, когда чит прячет свой загрузчик от проверки сигнатур. Античит только на сервере проваливается, когда чит уважает легальную поверхность событий, но пользуется клиентскими хаками (silent aim, ESP, воллхаки), которые вообще не вызывают серверных событий. Двухслойный детект означает, что чит ловит тот слой, который его видит, а тот, который не видит, всё равно даёт поведенческий сигнал для проверки админом.

За чем следит клиентский слой

На клиенте Raven отслеживает инжектнутые модули, перехваченные функции движка, состояние NUI DevTools, целостность собственных файлов ресурса и присутствие известных загрузчиков читов в памяти. Сигнатуры самых активных семейств мод-меню (Eulen, Redengine, HamMafia, Susano, TZ, TZX, Skript, Phaze, Lumia) держатся в актуальном состоянии с выходом раз в 1-7 дней (см. /changelog). Когда срабатывает известная сигнатура, собираются доказательства (скриншот + трейс детекта) и уходят в облачную панель. Когда сигнатура не срабатывает, а аномалии есть, рейтинг доверия игрока падает и он всплывает на живой карте для проверки админом.

За чем следит серверный слой

На сервере Raven прогоняет проверку валидации по каждому серверному событию, которое запускает игрок. Имена событий, которые никогда не должны приходить от клиента, блокируются сразу. Полезная нагрузка событий, выходящая за правдоподобные границы (количество предметов, изменение денег, спавн транспорта в минуту), отклоняется и логируется. Последовательности событий, совпадающие с известными эксплойтами, например цепочка событий у вариантов Redengine, блокируются на уровне паттерна. Серверный детект работает, даже если обойдены все клиентские проверки, поэтому серверное покрытие не обсуждается.

Как два слоя работают вместе

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

Почему это важно для устойчивости к обходу

Ни один античит не защищён от обхода. Чтобы обойти однослойный античит, надо победить один стек. Чтобы обойти двухслойный Raven, надо победить два стека одновременно, плюс heartbeat, плюс модель рейтинга доверия, которая поднимает поведенческие аномалии. Стоимость успешного незамеченного обхода заметно выше, а патч выходит быстрее, потому что слой, который чит всё-таки заметил, отдаёт свои данные команде, выпускающей следующее обновление сигнатур.

Частые вопросы

Что такое двухслойный детект в античите для ФайвЭм?

Двухслойный детект означает, что античит по умолчанию гоняет проверки и на клиенте, и на сервере параллельно. Клиентский слой следит за инжектнутыми модулями и известными сигнатурами меню. Серверный проверяет события и переходы состояния игры. Обойти оба слоя одновременно значительно тяжелее, чем победить любой из них по отдельности.

Raven Anticheat работает на клиенте или на сервере?

И там, и там. Raven по умолчанию гоняет детект на клиенте и сервере вместе, плюс цикл heartbeat против подмены, который их связывает, плюс модель рейтинга доверия, поднимающую поведенческие аномалии даже тогда, когда не сработала ни одна конкретная сигнатура.

Что будет, если клиентский слой обойдут?

Серверный слой продолжает работать, а цикл heartbeat замечает, что хеши состояния клиента больше не совпадают с ожидаемыми. Оба сигнала запускают сбор доказательств и питают модель рейтинга доверия. Обход становится виден со стороны сервера, даже если клиентскую сигнатуру победили.

Другие темы детекта

Хочешь такую защиту на своём сервере?

Установка за две минуты. ESX, QBCore, vRP, QBox определяются сами. От $20.