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:
| Evento | Regla |
|---|---|
shop:buy | argumento amount entero de 1 a 10; 5 por minuto |
police:cuff | solo con el trabajo police y el jugador vivo |
atm:withdraw | el jugador tiene que estar a menos de 3 m de las coordenadas enviadas en los argumentos |
admin:giveMoney | prohibido (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.