SafeGuard

EventShield

Os menus de cheats disparam eventos do servidor com valores falsificados: pagamentos de trabalhos, itens, prisão de outros jogadores. O EventShield é uma firewall para esses eventos.

O que faz sem configurar nada

  • Limite global de eventos por jogador (120 por segundo, por omissão).
  • Armadilhas de exploits: eventos conhecidos de scripts populares que o teu servidor não usa. Um jogador que os dispare está a usar um menu.
  • Honeypots e eventos proibidos que definires nas Regras.

Proteger os teus resources

Para validar os argumentos dos eventos de um resource, adiciona o include como primeiro script de servidor no fxmanifest.lua desse resource:

server_scripts {
    '@safeguard/shield/server.lua',   -- tem de ser o primeiro
    'server/main.lua',
}

Depois cria regras em Regras → EventShield, por exemplo:

EventoRegra
shop:buyargumento amount inteiro entre 1 e 10; 5 por minuto
police:cuffsó com o emprego police e o jogador vivo
atm:withdrawo jogador tem de estar a menos de 3 m das coordenadas enviadas nos argumentos
admin:giveMoneyproibido (bloqueado sempre)

Se o SafeGuard parar, o include deixa passar tudo, por isso nunca parte o servidor.

Honeypots

Um honeypot é um evento que nenhum script legítimo usa. Qualquer jogador que o dispare fica em quarentena para revisão. Escolhe nomes plausíveis que não existam no teu servidor (por exemplo myserver:adminGiveMoney).

Modo monitorização

Cada regra pode estar em modo monitorizar: o evento passa e o SafeGuard só regista o que teria bloqueado. É a forma segura de testar uma regra num servidor com jogadores.