SafeGuard

EventShield

Los menús de cheats disparan eventos del servidor con valores falsificados: pagos de trabajos, objetos, meter en la cárcel a otros jugadores. EventShield es un cortafuegos para esos eventos.

Lo que hace sin configurar nada

  • Un límite global de eventos por jugador (120 por segundo por defecto).
  • Trampas de exploits: eventos conocidos de scripts populares que tu servidor no usa. Un jugador que dispara uno está usando un menú.
  • Honeypots y eventos prohibidos que defines en Reglas.

Proteger tus resources

Para validar los argumentos de los eventos de un resource, añade el include como primer script de servidor en el fxmanifest.lua de ese resource:

server_scripts {
    '@safeguard/shield/server.lua',   -- tiene que ser el primero
    'server/main.lua',
}

Después crea reglas en Reglas → EventShield, por ejemplo:

EventoRegla
shop:buyargumento amount entero de 1 a 10; 5 por minuto
police:cuffsolo con el trabajo police y el jugador vivo
atm:withdrawel jugador tiene que estar a menos de 3 m de las coordenadas enviadas en los argumentos
admin:giveMoneyprohibido (siempre bloqueado)

Si SafeGuard se detiene, el include deja pasar todo, así que nunca rompe el servidor.

Honeypots

Un honeypot es un evento que ningún script legítimo usa. Cualquier jugador que lo dispare queda en cuarentena para revisión. Elige nombres creíbles que no existan en tu servidor (por ejemplo myserver:adminGiveMoney).

Modo monitor

Cada regla puede funcionar en modo monitor: el evento pasa y SafeGuard solo registra lo que habría bloqueado. Es la forma segura de probar una regla en un servidor en marcha.