FiveM Cheater Report: The Staff Workflow, Step by Step
A player reported a cheater. Here is the staff workflow: what a usable FiveM cheater report contains, how to triage it against logs, and when not to ban.
Roby Einstein
FairShieldAC Security Team

A player just told you someone is cheating. Treat that FiveM cheater report as a lead, not evidence: it tells you where to look, not what happened. The job between ticket and decision is to test that claim against server-side records, and to stay willing to close with "watch and log".
If you are a player: file it with your server's staff through their ticket system - Cfx.re only takes reports about a server, not about a player on one. Everything below is the staff side. Spotting a cheater yourself is 5 warning signs a cheater is on your FiveM server; life after a ban is false positive causes and fair appeals. This guide is the stage between.
Why a player report is weak evidence by default
Players report what frustrated them. Tickets get written in the ninety seconds after dying in a way you did not understand, and from the receiving end, being outplayed, desyncing and being genuinely cheated on feel identical.
FiveM does not guarantee two clients saw the same thing. OneSync culls what each client receives, because clients "will only care what is going on in their immediate area" (OneSync docs).
The telemetry is coarse too. GET_PLAYER_PEER_STATISTICS exposes packet loss, round trip time and the variance of both, and those figures are sampled rather than continuous, so the snap your reporter is certain about can sit between samples. Ask what their connection was doing: cl_drawperf true shows their live ping and packet-loss percentage; netgraph true adds live packet in/out rates, per our console commands reference.
What a usable FiveM cheater report actually contains
Publish an intake template and require it for any cheating accusation. Templates buy you checkability, nothing more - and uncheckable reports are where bad bans come from. The form is staff-issued, so a well-formatted false report still dies at triage.
- Who. Exact in-game name as it appeared, never a server ID alone - a server ID is a transient handle (`source` in scripts), not a persistent identity - resolve it to identifiers instead.
- When and where. Clock time plus timezone, or "about 15 minutes ago", and which server or instance. txAdmin logs and records are timestamped to the second; "around 9pm" is not searchable.
- What was seen, one plain sentence, no interpretation. "Shot me through the north wall of LS Customs" is usable. "He was blatant" is not.
- Any clip, with its own timestamp plus a start and end time.
- Whether the reporter was lagging, and who else saw it. Neutral fields; you contact witnesses yourself.
The triage order: test the claim, do not confirm it
Order decides whether your process tests an accusation or quietly ratifies it. Spectate first and you have started from the conclusion, so ninety clean seconds prove nothing either way.
- 1. Log the report with its own timestamp now. txAdmin's console and server logs rotate on a schedule you configure; a ticket queued for two weeks can outlive the line that would have settled it.
- 2. Resolve the name to identifiers. txAdmin writes player sources as [mutex#id] name; searching that string returns the join line first, with every identifier attached.
- 3. Read the whole window, several minutes either side of the reported instant.
- 4. Look for server-authoritative anomalies. A balance that moved with no matching transaction, an entity spawned faster than a script could, a protected event fired by a player identifier.
- 5. Check what your detection stack recorded. A detection is a strong lead that still wants a second artefact beside it; Cfx's own docs say "sometimes things slip through". See how detection works.
- 6. Check history. Prior warns, notes and bans on the same identifiers, per HWID bans explained.
- 7. Observe last, and quietly. Spectating sits behind the players.spectate permission, and it hands you a client-side view too.
How strong is each type of cheating evidence?
| Evidence type | How strong it is | How it can mislead you |
|---|---|---|
| Server-authoritative state check (money, inventory, position read server-side) | Strongest single artefact | Only counts if the value was genuinely read server-side; Cfx guidance is to retrieve all values using server-side methods |
| Automated detection with a log artefact | Strong; usually your starting anchor | Cfx's own resource FAQ concedes things sometimes slip through, and staff trip their own detections |
| Screenshot captured and stored server-side | Moderate to strong | A still frame carries no timestamp of its own, and capture data should not be routed through server events |
| Client-side detection reported by a resource | Moderate | Cheats can allow the client to trigger events in any context, so a client-reported event is only as trustworthy as the client |
| Staff eyewitness via spectate | Moderate | Staff also see a client-side view, and in-game ID tags are distance-limited, so I saw them do it can mean I saw a ped I assumed was them |
| Player clip | Weak alone; useful corroboration | It is the reporter's client view, shaped by culling and by their own packet loss and round trip time |
| Pattern across several independent reports | Strong reason to investigate; weak reason to ban | Reports cluster on unpopular players as readily as on guilty ones |
| Identifier match to a prior ban record | Useful, and decaying | Identifier types change: license and license2 began changing for a small number of players from June 2026 |
Working rule: one strong server-side artefact plus one corroborating item is a defensible ban. A pile of weak items is a reason to keep watching.
The two ways cheater report handling goes wrong
First, banning a good player because a popular member complained loudly. Reports are social objects: a ticket from a well-connected regular reads differently from one filed by a player who joined last week. The guard is procedural - same steps, same order, whoever filed, and no ban without a server-side artefact.
Second, the quieter failure: five reports arrive over three weeks about one player, each individually unconvincing, each triaged by a different staff member, each closed unproven. Nobody sees all five together. The pattern was real and your process shredded it one ticket at a time. Write every unproven report onto the player's record before the ticket closes.
Handling the accused fairly, and what to say publicly
Do not tell someone they have been reported before you have checked logs and detections; the notification changes behaviour and you do not get that window back. When you engage, describe what you observed and ask what they were running - mods and resource conflicts cause real anti-cheat false positives.
Publicly, say very little: no naming the accused while a case is open, no naming the reporter, and no raw evidence in a public Discord. FiveM ships sv_endpointPrivacy to hide player IPs from public reports, txAdmin's admin log omits user IPs unless they come from an authentication endpoint, and you remain responsible for the personal data you handle, so the Cfx.re agreement makes server admins responsible for the privacy of personal data.
Keep the ban reason appealable without turning it into a debugging aid. txAdmin hides the admin name on bans and warns by default, and its Ban Templates feature pre-sets common reasons and durations.
When the right answer is watch, log, and do not ban yet
Some cases are genuinely unresolvable: an ambiguous clip, a log window that rotated out, a reporter on visible packet loss, an accused with a clean two-year record. Closing that as proven is a bad ban; closing it as nothing happened throws away a data point.
txAdmin's player record carries a notes field - free text plus the last admin and an edit timestamp - beside identifiers, hardware ID tokens and join dates. "Reported by NAME on DATE, log window checked, nothing found, review in 14 days" is a legitimate outcome, and it is what makes the sixth report actionable.
Keeping the record so the ban survives an appeal
Can a different staff member, six months from now, reconstruct your decision from the artefacts alone? If not, the appeal wins.
A txAdmin ban record holds an action ID, the identifier list, hardware ID tokens, player name, free-text reason, acting admin, timestamp, expiry and a revocation block. The reason field is the only place the human narrative survives, so write it for a stranger.
Identifiers decay, too. The license and license2 identifiers began changing for a small number of players from June 2026, so a record saying only "cheating" plus identifier strings can stop matching the human it was about.
FairShieldAC helps mainly by filing dated artefacts as things fire - real-time dashboard, screenshot verification with OCR detection, Discord webhook alerts - with its global ban network keying bans to HWID, IP, Steam and Discord identifiers across servers. A detection is still an input you corroborate: the published claim is 98%+ of known cheats and exploits. For how that detection holds up when the game updates, see detects cheaters even after updates.
Staff checklist before you press ban
- Name, timestamp with timezone, and server or instance are present.
- The name is resolved to persistent identifiers via the join line.
- The log window either side of the reported moment has been read.
- At least one server-authoritative artefact supports the claim.
- The reporter's connection quality has been asked about.
- Prior warns, notes and identifier matches have been checked, and the accused answered only after the evidence was gathered.
- The ban reason lets a stranger reconstruct the decision, and nothing identifying either party has been posted publicly.
- If a line is missing, the outcome is a note and a review date.
FAQ
How do I know if a FiveM player is cheating or just lagging?
Check whether the anomaly exists in the server's record or only in an observer's client view. Packet loss, script lag and culling all produce snapping that other players see while the player notices nothing; cheating that matters leaves a state change the server logged.
Is a player's clip enough proof to ban someone in FiveM?
On its own, no. A clip shows the reporter's client view, the one view guaranteed to be shaped by their own packet loss and by culling. Treat it as corroboration for a server-side artefact; a timestamped clip at least tells you which log window to open.
Should I tell a player they have been reported for cheating?
Not before you have checked logs and detections, because the notification changes behaviour and destroys the only clean observation window you get. Afterwards, engage directly: describe the observation, ask what they were running, let the answer join the record.
How do you stop players abusing the report system?
Rate-limit reports per player, require the template fields for any cheating accusation, and act on reports proven deliberately false. Do not penalise reports that merely turned out unproven - punishing those teaches your community to stop telling you things.
Where to go next
Put the intake template into your ticket system this week, then put the triage order somewhere staff can see mid-shift. Members Lookup for manually pre-screening applicants is included in every FairShieldAC plan, and the product also brings a real-time dashboard, screenshot verification with OCR detection and Discord webhook alerts. From here: 5 warning signs a cheater is on your FiveM server, false positive causes and fair appeals, and txAdmin explained.