SAFScriptsDocs

SAF Anticheat

Server-side anticheat with scores, evidence and a staff panel, built not to false-ban.

Status
Coming soon
Version
1.0.0
Resource
saf-anticheat
Frameworks
Qbox, QBCore, ESX, ND Core, ox_core, standalone
Requires
OneSync
Optional
oxmysql, screenshot-basic
Database
oxmysql, or JSON files
Open files
config.lua, bridge/, custom/
SAF Anticheat staff panel showing one player's score over the last 30 minutes, their position trail and the flags they raised
On this page

SAF Anticheat catches cheaters by checking what they do on your server: the entities they create, the explosions and damage they send, where they move and the events they fire. Those checks run on the server, so a cheat menu can't turn them off. A small client side adds cheap checks for known menus, but nothing important depends on it.

How it works

PartWhat it does
FlagsEvery check raises a flag first, with the numbers that triggered it
ScoreFlags add to a score that drains over time, so a lag spike fades and a run of weak flags becomes a case
ActionsLog, alert, screenshot, kick or ban, from the flag's own action or the score, whichever is higher
BlocksBlacklisted entities, bad explosions, weapons given to other players and task clears are cancelled before anyone sees them
EvidenceWhere it happened, the last minute of movement, the events and entities, and a screenshot when the score gets high
Staff panelLive players by score, a flag feed, a player view with a map trail and score timeline, cases and bans

Built not to false-ban

Automatic bans are off until you turn them on, and then only for flags that can't happen legitimately. A new install should run a week in shadow mode first, where every check logs and nothing goes past an alert. See Rollout & engine settings.

Nobody is exempt by default, staff included. Staff tools that teleport or heal still raise a flag, at a lower severity, so every use is logged. You can add exemptions, and the panel lists every one.

Cost

One 1 Hz loop on the server. Everything else is event driven. No per-frame code on the client.

Next steps

SAF Scripts by San Andreas' Finest StoreDiscordsupprot@safrp.org

Not affiliated with or endorsed by Rockstar Games, Take-Two Interactive or Cfx.re.