Todos os temas de deteção

Heartbeat anti-adulteração: como o Raven Anticheat deteta que a sua camada de cliente foi desativada

Um ciclo de heartbeat reporta continuamente ao servidor o estado do cliente em runtime. Se o heartbeat parar, ficar atrasado ou devolver valores errados, o servidor trata o cliente como adulterado e age.

O problema que o heartbeat resolve

O cheat mais difícil de detetar é aquele que desativa discretamente o cliente do teu anticheat e depois corre sem ser observado. As verificações por assinatura podem levar hooks. A inspeção NUI pode ser bloqueada. As funções de integridade em runtime podem ser anuladas com patches. Assim que a camada de cliente fica em silêncio, um AC de camada única fica cego. O heartbeat anti-adulteração existe para tornar esse silêncio caro: a ausência de heartbeat é, por si só, uma deteção.

Como funciona o ciclo de heartbeat

O cliente Raven emite um payload assinado com uma cadência fixa (adaptativa por servidor, ver a entrada de changelog de 2026-02-17; anteriormente fixa em 1500 ms). O payload inclui um hash criptográfico do estado crítico em runtime (integridade dos recursos, impressão digital da tabela de hooks, endereços dos handlers de eventos) mais um timestamp e um nonce por sessão. O servidor verifica a assinatura, compara o hash com a linha de base esperada e regista o tempo entre chegadas. São detetados três modos de falha: o heartbeat não chega (cliente silencioso), o heartbeat chega mas o payload já não corresponde aos valores esperados (cliente adulterado) ou o heartbeat chega com a cadência errada (cliente repetido ou desatualizado).

Porque é que a cadência importa

Uma janela de heartbeat fixa é mais fácil de contornar. Um cheat que desative brevemente o cliente entre heartbeats consegue manter o ciclo vivo e continuar a correr sem ser observado. A cadência adaptativa por servidor (calibrada com a latência média de tick nas primeiras 24 h) torna essa janela imprevisível para o cheat sem criar problemas a jogadores legítimos em rotas de latência alta. A versão de 2026-03 reequilibrou a janela padrão, passando de 1500 ms fixos para um intervalo adaptativo de 800 a 1500 ms, o que baixou os falsos positivos em rotas EU/AS em cerca de 38%.

O que acontece quando o heartbeat falha

As respostas a falhas são configuráveis por servidor em três níveis. O nível 1 (aviso) marca o jogador no mapa em direto e notifica os admins pelo webhook de Discord configurado. O nível 2 (kick) retira o jogador do servidor com um motivo de desconexão genérico e regista o evento com provas completas (último heartbeat válido, timestamp atual, diferenças no payload). O nível 3 (ban automático) bane o jogador no servidor local e coloca-o em fila para promoção à Base de Dados Global de Bans depois da revisão de um admin. A configuração padrão é conservadora (avisar primeiro, escalar só em caso de repetição), porque a camada de heartbeat pode produzir falsos positivos durante problemas legítimos de rede.

Como o heartbeat interage com o trust score

Cada anomalia de heartbeat contribui para o trust score do jogador (introduzido na versão 2026.4.0, ver /changelog). Um heartbeat atrasado isolado é ruído. Vários heartbeats atrasados do mesmo jogador em várias sessões, um heartbeat que fica para trás especificamente quando o jogador entra em certos estados de jogo, ou um heartbeat que devolve sempre o mesmo hash apesar de o pacote de recursos ter sido atualizado: são todos sinais que colocam o jogador no mapa em direto para revisão dos admins muito antes de disparar qualquer ban de nível 3.

Perguntas frequentes

O que é o heartbeat anti-adulteração num anticheat FiveM?

Num sistema de heartbeat anti-adulteração, o cliente do anticheat envia periodicamente ao servidor um payload criptográfico assinado. O payload inclui hashes do estado crítico do cliente em runtime. Se o payload deixar de chegar, chegar atrasado ou chegar com valores errados, o servidor trata o cliente como adulterado e dispara a resposta configurada.

É possível falsificar um heartbeat?

Falsificar um heartbeat exige produzir o payload assinado correto, na cadência correta, com o hash correto do estado atual em runtime. Fazer isso enquanto se corre também a lógica de cheat não é trivial, porque o hash inclui valores de integridade dos recursos que mudam quando a injeção tem sucesso. O heartbeat sozinho não chega, e é por isso que o Raven também corre deteção por assinatura e validação de eventos no servidor.

O heartbeat afeta o desempenho do servidor?

Sem impacto mensurável. O payload do heartbeat é pequeno (abaixo de 1 KB) e a verificação é de tempo constante. O custo total do recurso Raven Anticheat mantém-se abaixo de 0,5 ms no resource monitor do FiveM.

Outros temas de deteção

Queres isto a proteger o teu servidor?

Instalação em dois minutos. ESX, QBCore, vRP e QBox detetados automaticamente. Desde $20.