Minecraft anticheat guide
Cheater Report Form and Triage Workflow for Servers
A cheater report form with required fields, a three-queue triage table, and a routing workflow that moderators can run from one shared channel.
What should a cheater report form ask for?
A cheater report form needs five things: the reported player's exact name, the time and server of the incident, the specific behavior seen, the reporter's relation to the player, and any evidence. Keep the form short so reporters finish it. Make evidence optional. Triage each report into one of three queues before a moderator reads the details.
Use a fixed report template
A fixed template makes reports comparable. It also makes missing information easy to spot. Paste this into your report channel or form, and replace the placeholders with your own field names if your form differs.
Reported player: <exact in-game name>
Server and time: <server name, date, approximate time with timezone>
What happened: <one specific action, such as "hit through a wall">
Your relation to the player: <opponent, teammate, witness, other>
Evidence (optional): <screenshot, clip, or replay link>
Anything else: <optional, one or two sentences>How do you triage reports into queues?
Sort reports by the risk they describe and by how much detail they contain. Urgent reports go first, even when the detail is thin, because the cost of waiting is higher.
Most weak reports share three problems: the player name is wrong, the server or time is missing, or the reporter described a conclusion instead of an action. A report that says the player is hacking gives a moderator nothing to check. A report that says the player hit three people through a wall in ten seconds gives a moderator a time window and a target. Pin one good and one bad example in the report channel so reporters see the difference. Review the pinned examples when report volume changes, since new reporters tend to repeat the same mistakes.
| Queue | Criteria | Response target |
|---|---|---|
| Urgent | Suspected duplication, item loss, account compromise, or an active incident | Your target for urgent cases, in the same session |
| Standard | Names a specific behavior and has a matching alert or attached evidence | Your target for normal review |
| Low | Vague report, no evidence, or a player with no recent alerts | Collected for pattern review, never a punishment alone |
How do you route each report?
Run the same steps for every report, so a moderator does not need to guess the next action:
How do you keep the queue healthy?
Review the queue each week. Look for reports that repeat the same player, the same reporter, or the same check. Repeated reports can be real, but they also appear in rivalries and ban-evasion attempts, so note the pattern rather than acting on the count alone.
Rotate triage duty so one person does not read every report about the same player. A second reader catches cases where the first reader has already formed an opinion.
Track how long each queue takes to clear every week. A queue that keeps growing usually points to a staffing or policy problem rather than a bad week, so bring the counts to the weekly review and decide on one change at a time.
How do you protect the reporter and the player?
Do not name the reporter to the player. Keep reports in a private channel or log with limited access. A report alone is not evidence of cheating, so the moderator still needs to check the behavior against the alert data before any punishment.
If a report names a staff member or a moderator's family member, send it to a senior staff member outside that team instead of the normal queue. The same person should not triage a report about their own team.
What we have not verified
This workflow is a template. We have not measured report accuracy or response times on any server. Check your queue volumes during a trial week before you set response targets.
If your reports go to a Discord channel, compare the setup with the webhook guide at /docs/configuration/webhooks, and check that the channel is not public.
FAQ
Should players submit reports in Discord or in-game?
Choose the channel your staff check fastest. If you use both, merge them into one queue, so the same incident does not get two reviews.
How should we handle a report with a video clip?
Store the clip with the case, not in a public channel. Note the timestamp and the server version next to it. Delete clips that have no case attached, following your retention rule.
What if a report matches no alert?
A missing alert does not prove the report is false. Check the time window and which checks your server runs, then choose the queue from the detail in the report.
How many moderators should work the triage queue?
Set the number by your report volume and response target. Rotate duty, and keep at least two readers on urgent reports, so one person is not the only check.