Servidores de Jogos

Anti-cheat no open.mp: detectando os cheats mais comuns

Anti-cheat no open.mp: detectando os cheats mais comuns

No SA-MP e no open.mp, o cliente do jogador pode ser modificado. Um anti-cheat no servidor compara o que o cliente diz com o que é possível e com o que o servidor sabe.

Princípio: o servidor é a fonte da verdade

  • O dinheiro "de verdade" é o que está na variável do servidor, não o que o HUD mostra;
  • As armas permitidas são as que o servidor deu;
  • A vida máxima é a que o servidor definiu.

Cheats comuns e como detectar

Dinheiro

Não use GetPlayerMoney como valor oficial. Mantenha Jogador[playerid][jDinheiro] e sincronize o HUD a partir dele. Diferenças indicam tentativa de cheat.

Armas

Registre as armas que o servidor deu. Se o jogador aparecer com uma arma que não recebeu (GetPlayerWeaponData), remova e alerte a staff.

Vida e colete

Controle os valores no servidor. Valores acima do máximo definido ou "imortalidade" são sinais claros.

Teleporte

Compare a posição atual com a anterior e o tempo passado. Distâncias impossíveis indicam teleporte, exceto quando o próprio servidor teleportou (marque isso com uma flag).

Speed hack

Calcule a velocidade (GetPlayerVelocity ou GetVehicleVelocity) e compare com o máximo do veículo ou da corrida a pé.

Fly e airbreak

Jogador a pé em altura sem estar num objeto, com animação incompatível ou velocidade vertical estranha.

Jetpack

Estado especial de ação (SPECIAL_ACTION_USEJETPACK) sem que o servidor tenha dado.

Evite falsos positivos

  • Lag pode parecer teleporte. Use tolerâncias e várias detecções seguidas antes de agir;
  • Marque ações legítimas do servidor (teleporte, dar arma) antes de executá-las;
  • Comece com alertas para a staff, não com ban automático. Automatize só o que tiver certeza.

Onde checar

Use um timer com intervalo razoável ou os callbacks certos (mudança de arma, estado). Evite checagens pesadas em OnPlayerUpdate.

Anti-cheats prontos

Há anti-cheats de código aberto na comunidade. Estude o código, teste bem e veja a compatibilidade com o open.mp antes de usar.

Registre tudo

Cada alerta com jogador, tipo, valores e horário. Isso ajuda a staff a decidir e a calibrar o sistema.

Hospede seu servidor com a VittHost

Nos planos OPENMP-BR da VittHost, seu anti-cheat roda em servidores no Brasil com ping baixo (menos lag, menos falsos positivos). Painel Pterodactyl, proteção DDoS, MySQL incluso, compatibilidade total com scripts SA-MP e teste grátis de 3 dias.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS