Anti-Cheat e Configurazione Difensiva
INFO
FiveM non ha un anti-cheat perfetto. La difesa è stratificata: convars del server, entity lockdown, pure level e buone pratiche. Nessuna singola misura blocca tutto, ma insieme alzano molto la barriera.
| Obiettivo | Dettagli |
|---|---|
| Cosa imparerai | • Convars difensive da attivare • Entity lockdown e request control • Pure level e file modificati • Limiti di what gli anti-cheat possono fare |
| Prerequisiti | • Server configurato (modulo 11) |
1. Convars Difensive (server.cfg)
# Block modified client files (audio/graph ok)
sv_pureLevel 1
# NEVER enable Script Hook V (dangerous)
sv_scriptHookAllowed false
# Hide IPs in reports
sv_endpointPrivacy true
# Entity lockdown: clients cannot create entities
set sv_entityLockdown strict
# Block REQUEST_CONTROL abuse
set sv_filterRequestControl 2
# Disable networked sounds (exploit vector)
set sv_enableNetworkedSounds false
# OneSync on (required)
onesync on| Convar | Valore | Effetto |
|---|---|---|
sv_pureLevel | 1–2 | 2 blocca TUTTI i file modificati |
sv_scriptHookAllowed | false | Nega Script Hook V (cheat engine) |
sv_entityLockdown | strict | Client non creano entità |
sv_filterRequestControl | 2 | Blocca controllo entità altrui |
sv_enableNetworkedSounds | false | Blocca vector di suoni malevoli |
WARNING
sv_pureLevel 2può far disconnettere giocatori con mod client (grafiche). Bilancia tra sicurezza ed esperienza.sv_entityLockdown strictpuò rompere script che spawnano peds dal client: testa le tue risorse.
2. Entity Lockdown Dettagliato
| Valore | Comportamento |
|---|---|
inactive | Client creano qualsiasi entità (non sicuro) |
relaxed | Blocca solo entità script-owned create dai client |
strict | Nessuna entità può essere creata dai client |
full | Disabilita la creazione di oggetti dummy (solo GTAV Enhanced) |
Con strict, spawna oggetti solo dal server (spawn sincronizzato), non dal client.
3. Anti-Cheat: Cosa Può Fare e Cosa No
| Cosa fanno gli anti-cheat | Limiti |
|---|---|
| Rilevare file modificati (pure level) | Non bloccano cheat iniettati via Script Hook |
| Monitorare modelli sospetti | Facili da aggirare |
| Kick per “sospetto” (menyoo, trainer) | False positive se rilevano il nome di un mod |
| Validare eventi (framework-side) | Richiede una community attiva di aggiornamento |
IMPORTANT
Nessun anti-cheat FiveM è perfetto. I cheat avanzati usano iniezioni di memoria che gli script FiveM non possono rilevare. La difesa più efficace è:
sv_scriptHookAllowed false(blocca l’ingresso principale)sv_pureLevel(blocca file modificati)- Validazione server-side (modulo 12)
- Whitelist e moderazione attiva
4. Whitelist e Mod Team
Una whitelist riduce moltissimo l’attacco di cheat anonimi.
Con txAdmin
txAdmin gestisce whitelist e bans dal pannello web (Players → Ban/Whitelist).
Con ACE (semplice)
# Solo i giocatori in whitelist possono connettersi (via ACE)
add_ace principal.whitelisted command.allowlist allowCon script (es. via database)
-- server.lua
AddEventHandler('playerConnecting', function(name, setKickReason, deferrals)
local identifier = GetPlayerIdentifiers(source)[1]
MySQL.query('SELECT * FROM whitelist WHERE identifier = ?', {identifier}, function(result)
if not result[1] then
setKickReason('Non sei in whitelist')
deferrals.done('Non sei in whitelist')
else
deferrals.done()
end
end)
end)NOTE
playerConnectingusadeferrals(defer/done). Senzadeferrals.done()il giocatore resta bloccato in attesa. Vedi il riferimento eventi di FiveM per la firma esatta.
5. Monitoraggio e Log
-- server.lua
AddEventHandler('gameEventTriggered', function(name, args)
if name == 'CEventShootInWater' or name == 'CEventPlayerDamage' then
-- Possibili exploit di tiro/health
end
end)WARNING
Non kickare automaticamente su
gameEventTriggeredsenza controlli: genera molti false positive. Usalo solo per logging.
Verifica
-
sv_scriptHookAllowed false -
sv_pureLevelattivo (1 o 2) -
sv_entityLockdownnoninactive - Whitelist/ban attivi se server pubblico
- Eventi economici validati (modulo 12/03)
- Log attivi per gestire reclami
TIP
Prossimo passo: 05 - Secrets e Best Practice
Torna alla: Indice Generale