SafeGuardBeta

EventShield

Cheat menus trigger server events with forged values: job payouts, items, jailing other players. EventShield is a firewall for those events.

What it does with no setup

  • A global limit of events per player (120 per second by default).
  • Exploit traps: well-known events of popular scripts your server does not run. A player who triggers one is using a menu.
  • Honeypots and forbidden events you define in Rules.

Protecting your resources

To validate the arguments of a resource's events, add the include as the first server script in that resource's fxmanifest.lua:

server_scripts {
    '@safeguard/shield/server.lua',   -- must be the first
    'server/main.lua',
}

Then create rules in Rules → EventShield, for example:

EventRule
shop:buyargument amount an integer from 1 to 10; 5 per minute
police:cuffonly with the police job and the player alive
atm:withdrawthe player must be within 3 m of the coordinates sent in the arguments
admin:giveMoneyforbidden (always blocked)

If SafeGuard stops, the include lets everything through, so it never breaks the server.

Honeypots

A honeypot is an event no legitimate script uses. Any player who triggers it is quarantined for review. Pick plausible names that do not exist on your server (for example myserver:adminGiveMoney).

Monitor mode

Each rule can run in monitor mode: the event goes through and SafeGuard only records what it would have blocked. It is the safe way to try a rule on a live server.