JoinGG

Ban Appeals: A Process That Isn't a Popularity Contest

Public appeal channels decide bans by headcount, not evidence. How to record proof at ban time, separate reviewer from banner, and say no once.

SweetMask · 8 min read

You banned someone on Friday night. By Saturday lunchtime the appeal channel has sixty messages in it, eleven of them from his clan, four from people who were not on the server, and one from an admin who is now arguing frame by frame with a sixteen-year-old about whether a demo shows a wallhack or a lucky pre-fire. Two of your staff have quietly stopped reading the channel. The player is still banned, but nobody involved feels the process worked, including you.

That is not a staffing problem or a maturity problem. It is what holding appeals in public produces automatically, on every server, regardless of who is moderating.

Here is what to change, in the order that each change removes the most damage.

1. A public appeal channel is a vote, and votes are won by whoever brought more friends

Put an appeal in a channel anyone can post in and you have built an election. Turnout, volume and how well-liked the player is decide it, and none of those are evidence. A regular with four hundred hours and a clan tag gets a hearing; a two-week-old account who was harassing someone in voice does not, even when the cases are identical on the facts.

It is also worse than merely inaccurate, because it puts the banning admin on trial in front of the community. Staff learn the lesson fast and permanently: banning a popular player is expensive, so avoid it. That is how a server acquires a tier of untouchable regulars, and it starts with the channel layout.

The fix is structural, not cultural. Appeals arrive through a form, one reviewer reads them, the decision goes back to the person who appealed. Nobody else gets a vote, because there is nothing to vote on.

An appeal does not ask whether the player deserves to be back. It asks whether the ban was correctly made.

Only the second question has an answer you can still defend six months later. If Discord is where your community lives — and after the changes to how community servers are structured it usually is — put the form behind a button in a read-only channel and delete the appeals channel. Do not keep it "for transparency". Transparency is the ban list, and that belongs at point 8.

2. Evidence gets recorded at ban time or it does not exist

The most common reason an appeal is unresolvable is that the ban came from something an admin saw and nobody kept. Three weeks later you have a name, a date and a memory of being fairly sure. That is not enough to uphold a ban, and it is not enough to overturn one either.

Every game gives you a way to capture the moment, and every one of them has a horizon:

  • On Source servers, GOTV is the record. tv_enable 1 in the config, then tv_record <name> when something starts and tv_stoprecord when it ends. Put the demo filename and the approximate tick in the ban reason. On CS2 servers this matters more than anywhere else, because most cheating accusations are ballistic questions only a demo can settle.
  • On Minecraft servers, block and container history comes from CoreProtect, and it has a lifespan: /co purge t:30d is the standard maintenance command, and anything past your purge window is gone. If you keep thirty days of logs but accept appeals for ninety, you have promised a review you cannot perform.
  • Discord audit log entries are retained for 45 days, and they record that a deletion happened, not what was deleted. Screenshot anything you might ban for, with the timestamp visible.

The ban record is where that metadata goes. SourceBans++ keeps a per-ban page with the SteamID, prior history and admin comments; LiteBans exposes {reason}, {operator} and {duration} in the kick message, so the banned player already has the three facts an appeal needs. Whatever admin mod you run — and that choice has consequences well beyond bans — the requirement is identical, so make it a hard rule for staff. No demo, no log excerpt, no screenshot, no ban. If it is moving too fast to record, mute or kick, capture what you can, and decide afterwards.

3. The admin who banned is not the admin who reviews

Nobody reviews their own work honestly, and asking them to is unfair as well as ineffective. The reviewer checks the ban against the written rule and the recorded evidence — impossible for the person who already reached both conclusions.

On a team of two this still works: you review each other's, and you agree in advance that the reviewer's decision stands without a rematch in staff chat. On a team of one, find a second person even if appeals are all they touch — a retired admin, someone from a partner server. Separation matters more than seniority. There is an immediate second benefit, too: when the reviewer is someone else, the banning admin stops being the person to negotiate with, and the DMs stop.

4. Standard durations, and why most "permanent" bans should be long but finite

Permanent bans are easy to issue by accident. In SourceMod the syntax is sm_ban <#userid|name> <minutes|0> [reason], and 0 means permanent — the shortest thing to type is the most severe outcome available. Vanilla Minecraft is worse: /ban takes no duration at all, and although banned-players.json has an expires field, vanilla only ever writes forever into it. That is the real reason serious servers run a punishment plugin. Permanence should be a decision, not a default.

Write a tariff and hold to it: 1 day for spam and mic abuse, 7 days for griefing plus a rollback, 30 days for repeated harassment, permanent for cheating with a recorded demo. Then the reviewer's question is factual — right rule, right duration — rather than a matter of taste.

There is a genuine trade-off here, and the recommendation is this: make almost everything long but finite, and reserve real permanence for cheating you can prove and for ban evasion. A 180-day ban and a permanent ban end the same way for nearly everyone, because they do not come back either way — but the finite one expires quietly, while the permanent one sits in the list generating an appeal every year forever. The cost is real: a few genuinely destructive players return and have to be banned again. That is cheaper than a permanent appeal backlog.

Cheating and ban evasion are the exceptions because both are deliberate, both are provable from artefacts rather than judgement, and both were chosen twice.

5. What a good appeal form asks

Six fields, and no more:

  1. The account identifier — SteamID, UUID or licence, never a display name. Names change, and appeals get attached to the wrong person.
  2. Which server, and roughly when. Date and hour is enough to find the log.
  3. What the ban message said. If they cannot produce it, your ban message is not carrying the reason, which is a bug at your end.
  4. What happened, in their own words. One box, no character minimum.
  5. Have you been banned here before, and do you play on other accounts? Answered honestly, this shortens everything. Answered dishonestly, it becomes the second and cleaner reason to decline.
  6. Anything we should look at — a clip, a demo, a screenshot.

What the form must not ask: why should we unban you, do you promise not to do it again, or anything else that invites a performance. Those measure writing ability and contrition — the popularity contest again, just moved somewhere private. State a decision window, seven days is generous and achievable, and hold to it: silence is what pushes people back into public channels.

6. Say no once, explain once, then stop replying

A decline should contain three things: the rule, the evidence that it was broken, and the date the ban expires or the fact that it does not. Then it ends. Do not defend the decision in a thread, do not answer the fourth follow-up, and do not let a member of staff be worn down individually.

Set the re-appeal terms in the same message: one further appeal permitted after a stated interval, and only with new evidence. "New evidence" excludes new arguments, character references and apologies. This one sentence removes most of the ongoing workload, because the people generating volume are almost never generating evidence.

7. Sometimes you unban someone you are sure was guilty

This is the part that decides whether you have a process or a nicer-looking version of the old one.

An appeal arrives on a ban from six weeks ago. The rule was right. The admin was almost certainly right. But the demo was never recorded, the CoreProtect window has been purged, and the only thing in the ban record is the word cheating. On the evidence available the ban cannot be sustained. Lift it.

That will feel like losing, and occasionally it is. But upholding bans on the strength of an admin's recollection means your process has no evidentiary standard at all, and players correctly infer that getting banned is a question of who saw you rather than what you did. Overturning one probably-correct ban costs you one returned player. Being known for unfalsifiable bans costs you everyone who never bothers appealing because they can see there is no point.

The response is never to lower the standard, it is to fix the recording so the next one is not a coin flip. Log why each overturned ban failed, and treat a run of them as a tooling failure rather than bad luck — the same way you would treat repeated false positives from an anti-cheat setup.

8. Publish the outcomes, not the arguments

A public ban list — SourceBans++ style, showing the account, the rule, the duration and whether it was lifted — delivers every bit of transparency the public appeal channel was pretending to provide, with none of the voting. It is also one of the signals that make a listing look like it is run by somebody, and worth linking from your entry in whatever server directory you appear in.

Two things stay off it: the name of whoever reported the incident, and the evidence file itself. Publishing the reporter turns your report system into a retaliation system, and publishing demos turns your ban list into a highlight reel people will argue with in your Discord.

None of this holds up if the rules underneath are vague, because a factual review needs a factual rule to check against. If appeals keep becoming debates about what a rule meant rather than whether something happened, the problem is upstream — fix it by rewriting the rules into things an admin can observe before you touch the appeal form at all.

Common questions

What should be done if a ban appeal arrives but the original evidence was never recorded?
The ban must be lifted. Upholding a ban based only on an admin's memory leaves your system without an evidentiary standard. While lifting it may mean returning a guilty player, keeping it damages trust across the community.
What details should be excluded from a public ban list?
You must exclude the reporter's name and the actual evidence files, such as demos. Publishing the reporter exposes players to retaliation, while publishing evidence invites public arguments and turns your ban list into a highlight reel.
Tags
moderationserver administrationbansappealscommunity management
Share

SweetMask

Published · 8 min read

All articles

Keep reading