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

Heartbeat-защита от подмены: как Raven Anticheat понимает, что его клиентский слой отключили

Цикл heartbeat постоянно сообщает серверу о состоянии клиента. Если heartbeat прекращается, отстаёт или возвращает неверные значения, сервер считает клиент изменённым и реагирует.

Какую проблему решает heartbeat

Самый сложный чит для детекта — тот, который тихо отключает клиент античита и дальше работает незамеченным. Проверки сигнатур можно перехватить. Инспекцию NUI можно заблокировать. Функции проверки целостности можно занулить патчем. Как только клиентский слой замолкает, однослойный античит слепнет. Heartbeat-защита существует ровно для того, чтобы «тишина» стоила дорого: отсутствие heartbeat само по себе является детектом.

Как работает цикл heartbeat

Клиент Raven отправляет подписанный пакет с фиксированной частотой (адаптивной для каждого сервера, см. запись в changelog от 2026-02-17; раньше было фиксированные 1500 мс). В пакет входит криптографический хеш критического состояния (целостность ресурса, отпечатки таблицы хуков, адреса обработчиков событий), метка времени и одноразовый номер сессии. Сервер проверяет подпись, сверяет хеш с ожидаемой базой и замеряет интервал прихода. Детектируются три типа отказа: heartbeat не приходит (молчащий клиент), heartbeat приходит, но его содержимое больше не совпадает с ожидаемым (изменённый клиент), либо heartbeat приходит не с той частотой (повторённый или устаревший клиент).

Почему важна частота

Фиксированное окно heartbeat обойти проще. Чит, который ненадолго отключает клиент между двумя heartbeat, может держать цикл живым и всё это время работать незамеченным. Адаптивная частота для каждого сервера (калибруется по средней задержке тика за первые 24 часа) делает это окно непредсказуемым для чита и при этом не мешает обычным игрокам на маршрутах с высоким пингом. Релиз 2026-03 пересобрал окно по умолчанию с фиксированных 1500 мс на адаптивный диапазон 800-1500 мс, что снизило ложные срабатывания на маршрутах EU/AS примерно на 38%.

Что происходит при отказе heartbeat

Реакция настраивается для каждого сервера в трёх уровнях. Уровень 1 (предупреждение) помечает игрока на живой карте и уведомляет админов через настроенный вебхук Discord. Уровень 2 (кик) выкидывает игрока с сервера с общей причиной отключения и записывает событие со всеми доказательствами (последний валидный heartbeat, текущая метка времени, разница в пакете). Уровень 3 (автобан) банит игрока на локальном сервере и ставит его в очередь на добавление в глобальную базу банов после проверки админом. Конфигурация по умолчанию консервативна (сначала предупреждение, эскалация только при повторах), потому что слой heartbeat может давать ложные срабатывания при обычных проблемах с сетью.

Как heartbeat связан с рейтингом доверия

Каждая аномалия heartbeat добавляется к персональному рейтингу доверия игрока (появился в версии 2026.4.0, см. /changelog). Один опоздавший heartbeat — это шум. Несколько опозданий у одного игрока в разных сессиях, heartbeat, который отстаёт именно тогда, когда игрок входит в определённые состояния игры, или heartbeat, который упорно возвращает один и тот же хеш, хотя пак ресурсов обновился, — всё это сигналы, которые выводят игрока на живую карту для проверки админом задолго до любого бана третьего уровня.

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

Что такое heartbeat-защита от подмены в античите для ФайвЭм?

В системе heartbeat клиент античита периодически отправляет серверу подписанный криптографический пакет. В пакет входят хеши критического состояния клиента. Если пакет перестаёт приходить, приходит с опозданием или с неверными значениями, сервер считает клиент изменённым и запускает настроенную реакцию.

Можно ли подделать heartbeat?

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

Влияет ли heartbeat на производительность сервера?

Заметного влияния нет. Пакет heartbeat маленький (меньше 1 КБ), а проверка выполняется за постоянное время. Общая стоимость ресурса Raven Anticheat остаётся ниже 0,5 мс по монитору ресурсов ФайвЭм.

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

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

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