Skip to Content
SecurityAnti-Cheat Basics

Anti-Cheat Basics

Understanding anti-cheat systems and false positives.

Concepts

Server-Side Validation

Validate all important actions server-side:

-- Client sends position RegisterNetEvent('myresource:setPosition') AddEventHandler('myresource:setPosition', function(x, y, z) -- Validate position is reasonable if math.abs(x) > 10000 then return end -- Set position end)

Rate Limiting

Prevent rapid actions:

local lastAction = {} RegisterNetEvent('myresource:action') AddEventHandler('myresource:action', function() local source = source local now = GetGameTimer() if lastAction[source] and now - lastAction[source] < 1000 then return -- Too fast end lastAction[source] = now -- Process action end)

False Positives

Common causes:

  • Network lag
  • Script bugs
  • Legitimate edge cases

Best Practices

  • Log suspicious activity
  • Review before banning
  • Provide appeals process
  • Monitor false positive rate
Last updated on