Raven AnticheatRavenAnticheat
Todos os temas de detecção

Heartbeat anti-tamper: como o Raven Anticheat percebe que a camada do client foi desligada

Um loop de heartbeat reporta continuamente ao servidor o estado de execução do client. Se o heartbeat para, atrasa ou devolve valores errados, o servidor trata o client como adulterado e age.

O problema que o heartbeat resolve

O cheat mais difícil de detectar é o que desliga o client do seu anticheat no silêncio e depois roda sem ser observado. Checagem de assinatura pode receber hook. Inspeção de NUI pode ser bloqueada. Funções de integridade em tempo de execução podem ser zeradas por patch. Uma vez que a camada do client fica muda, um AC de camada única fica cego. O heartbeat anti-tamper existe para tornar o “silêncio” caro: a ausência de heartbeat já é, por si só, uma detecção.

Como o loop de heartbeat funciona

O client do Raven emite um payload assinado em uma cadência fixa (adaptativa por servidor, veja a entrada de changelog de 2026-02-17; antes era fixa em 1500ms). O payload inclui um hash criptográfico do estado crítico de execução (integridade do resource, fingerprint da tabela de hooks, endereços de handler de evento) junto de um timestamp e um nonce por sessão. O servidor verifica a assinatura, compara o hash com a base esperada e anota o intervalo de chegada. Três modos de falha são detectados: o heartbeat não chega (client mudo), o heartbeat chega mas o payload não bate mais com os valores esperados (client adulterado), ou o heartbeat chega na cadência errada (client com replay ou defasado).

Por que a cadência importa

Uma janela fixa de heartbeat é mais fácil de driblar. Um cheat que desliga o client rapidinho entre dois heartbeats consegue manter o loop vivo e ainda assim rodar sem ser observado. Cadência adaptativa por servidor (calibrada pela latência média de tick nas primeiras 24h) torna essa janela imprevisível para o cheat sem causar problema para players legítimos em rotas de alta latência. A release de 2026-03 rebalanceou a janela padrão de 1500ms fixos para uma faixa adaptativa de 800 a 1500ms, o que derrubou os falsos positivos em rotas EU/AS em cerca de 38%.

O que acontece quando o heartbeat falha

As respostas à falha são configuráveis por servidor em três níveis. Nível 1 (aviso) marca o player no mapa ao vivo e notifica os admins pelo webhook de Discord configurado. Nível 2 (kick) tira o player do servidor com um motivo genérico de desconexão e registra o evento com prova completa (último heartbeat válido, timestamp atual, diferença do payload). Nível 3 (ban automático) bane o player no servidor local e o coloca na fila de promoção ao Banco Global de Bans depois da revisão do admin. A configuração padrão é conservadora (avisar primeiro, escalar só na repetição) porque a camada de heartbeat pode gerar falso positivo durante problemas legítimos de rede.

Como o heartbeat conversa com a pontuação de confiança

Cada anomalia de heartbeat contribui para a pontuação de confiança por player (introduzida na versão 2026.4.0, veja /changelog). Um heartbeat atrasado é ruído. Vários heartbeats atrasados do mesmo player em sessões diferentes, um heartbeat que atrasa justamente quando o player entra em certos estados de jogo, ou um heartbeat que devolve sempre o mesmo hash mesmo depois do pacote de resources ser atualizado: tudo isso são sinais que colocam o player no mapa ao vivo para revisão do admin bem antes de qualquer ban de nível 3 disparar.

Perguntas frequentes

O que é heartbeat anti-tamper em um anticheat de FiveM?

Em um sistema anti-tamper de heartbeat, o client do anticheat manda periodicamente um payload criptográfico assinado ao servidor. O payload inclui hashes do estado crítico de execução no client. Se o payload para de chegar, chega atrasado ou chega com valores errados, o servidor trata o client como adulterado e dispara a resposta configurada.

Dá para forjar um heartbeat?

Forjar um heartbeat exige produzir o payload assinado correto, na cadência correta, com o hash correto do estado atual de execução. Fazer isso enquanto também se roda lógica de cheat não é trivial, porque o hash inclui valores de integridade do resource que mudam quando a injeção dá certo. O heartbeat sozinho não basta, e é por isso que o Raven também roda detecção por assinatura e validação de eventos no servidor.

O heartbeat afeta o desempenho do servidor?

Nenhum impacto mensurável. O payload do heartbeat é pequeno (abaixo de 1KB) e a etapa de verificação é de tempo constante. O custo total do resource Raven Anticheat fica abaixo de 0.5ms no resource monitor do FiveM.

Outros temas de detecção

Quer isso protegendo o seu servidor?

Instalação de dois minutos. ESX, QBCore, vRP e QBox detectados sozinhos. A partir de $20.