Most leagues hand out admin the same way: someone has been around a while, they're helpful, they get the role. It's a trust decision, made about a person, all at once.
That's the wrong shape. The useful question isn't how much do I trust this person — it's what can they do that can't be undone, because those are two completely different lists and only one of them can actually hurt you.
Sort Actions by Blast Radius, Not Seniority
Every admin action falls into one of three bands, and the bands have nothing to do with rank.
Band 1 — reversible and scoped. Recording a match. If it's wrong you undo the last one, or record a correction, and the damage is bounded to a handful of ratings. This is also the highest-volume admin task by an enormous margin.
Band 2 — reversible only by hand. Setting a rating manually. There's no undo for this: reversing it means knowing what the number was before, which means someone wrote it down or it's in a log. Recoverable, but only if you prepared.
Band 3 — irreversible. Deleting a leaderboard. Wiping a server's data. Deleting a user. The commands say cannot be undone and they are not being dramatic.
Almost all the risk is in Band 3, almost all the work is in Band 1, and the standard "give them admin" approach hands over all three at once. Splitting them is the single highest-value thing you can do here, because it lets you be generous with the work without being generous with the risk.
"We Can Always Recompute" Is False
The assumption that makes people relaxed about Band 3 is that a leaderboard is derived data — the matches are the real record, so a rating can always be rebuilt from them.
That's true right up until it isn't, and the boundary is worth knowing precisely.
Match history is a rolling window, not an archive. Once a leaderboard is at its limit, recording a new match deletes the oldest one. On the free tier that limit is 100 matches; on the paid tier it's 5,000; only the top tier is genuinely unlimited.
So on a free-tier leaderboard, match 101 permanently removes match 1. Not archived, not cold-stored — deleted. A community playing twenty matches a week has a five-week memory, and everything before that is gone as source data.
Two things follow:
- A rating recompute can only replay what's still there. If your history window is 100 matches and someone corrupts the ratings, a rebuild reconstructs them from the last 100 matches only — which is not the same leaderboard.
- Your backups are your actual safety net, not the history. Export regularly. Before anything in Band 3, always.
This is also the honest argument for upgrading if your league matters to you — not more features, just a longer memory. A 100-match window is fine for a casual server and thin for a league with a season worth defending.
The Failure Mode Is Usually Not Betrayal
When people imagine admin risk they imagine a rogue mod inflating their own rating. That happens, and the audit trail is what catches it.
The far more common failure is much duller: one person holds everything, and then they stop.
They own the Discord server, they're the only one with dashboard access, they pay the subscription, and they're the only person who knows how any of it is configured. Then they get a job, or lose interest, or fall out with someone, and the league doesn't get sabotaged — it gets frozen. Nobody can fix a rating, start a season, or even change the queue's team size.
This kills more leagues than misconduct does, and unlike misconduct it's entirely preventable:
- At least two people with real access. Not two people with the role — two people who have actually used it.
- Someone other than you can start a match night. If matches only happen when you're online, your league's opening hours are your availability. This is also the first delegation worth making.
- Write down the configuration decisions, especially the non-obvious ones — K-factor, decay thresholds, which playlists are ranked. A successor inheriting settings with no rationale changes them and breaks things.
- The subscription shouldn't be on one person's personal card if the league is meant to outlive their interest in it.
Who Gets What
A structure that works for most leagues, in the order you should hand things out:
Everyone who plays: report results. Not an admin permission at all. Player-reported results with both sides confirming removes the bottleneck and, as a side effect, removes most disputes — the gap between playing and recording is where arguments come from.
Match admins: record and correct. Band 1. Give this to anyone who reliably shows up and runs nights. It's the role that actually reduces your workload, and the worst case is a wrong match that gets corrected.
League admins: ratings, settings, seasons. Band 2. A small number of people — two or three — who can set a rating, adjust configuration, and run a rollover. Everything here should be logged.
Owner: the danger zone. Band 3. Ideally one person, and ideally a person who has to go somewhere deliberate to do it. There is no version of "delete all leaderboards" that should be one mis-click away from a normal admin task.
The gap between Band 1 and Band 2 is where most of the value is. Match recording is 95% of the volume and close to 0% of the risk, so if you only make one split, make that one.
Admins Are Players Too
In a league small enough to need this post, your admins play in the league. They will occasionally rule on a match they were in, and the accusation you'll eventually face isn't "you were wrong" — it's "you decided that way because you were playing".
You can't fix this with recusal, because there aren't enough admins to recuse to. Two things genuinely help:
Remove discretion wherever possible, so it doesn't matter who applied the rule — that's the whole argument of the rules post, and it's the primary defence.
Make attribution automatic. Every match records who reported it and who recorded it, so an admin who records their own results isn't hiding anything, and the pattern is visible if anyone ever wants to look. Attribution that exists by default is worth far more than a policy asking people to be careful, because the policy is only consulted after there's already an argument.
The Part Nobody Does: Offboarding
Admins leave. They drift away, they fall out, they move to another game. And in almost every Discord league, they keep the role forever, because removing it feels like an accusation.
Set the expectation up front so it isn't personal later: admin is for people currently doing the job. Then actually check, once a quarter — who has elevated access, are they still active, is anyone on the list you'd forgotten about? It takes five minutes and it's the difference between a permission list that reflects your league and one that reflects everyone who was ever helpful.
Two specifics that get missed:
- Dashboard access is separate from the Discord role. Removing one doesn't remove the other. Check both.
- The person who left may still own something — the server, the subscription, an API key. Transfer it while the relationship is fine, not after it isn't.
Setting It Up
- List your admin actions in three bands — reversible-and-scoped, reversible-by-hand, irreversible.
- Let players report their own results. The biggest workload reduction available, and it isn't a permission.
- Split match recording from rating editing. If you do nothing else, do this.
- Keep the danger zone to one person, and make it deliberate to reach.
- Export backups on a schedule, and always before anything irreversible — your history window is shorter than you think.
- Get a second person genuinely operational, not just role-flagged.
- Document the settings and their reasoning.
- Review the admin list quarterly, both Discord roles and dashboard access.
Frequently Asked Questions
How many admins should a small league have?
Two who can do everything, plus as many match admins as you have people running nights. One is a bus-factor problem; four or five with full access is a blast-radius problem. The number of people who can record matches should be as large as you can make it — that's the one you want generous.
Should admins be allowed to record their own matches?
Yes, and trying to forbid it is unenforceable in a league this size — the alternative is that matches involving an admin don't get recorded. Rely on automatic attribution instead: the record shows who reported and who recorded, so the behaviour is visible without anyone having to police it.
What do I do if an admin edited ratings they shouldn't have?
Check the audit log for what changed and when, restore from your most recent export, and re-record anything since. This is the scenario that makes exports worth the two minutes — because past your tier's history limit the matches themselves are gone, so there's nothing to rebuild from.
Can I give someone dashboard access without Discord admin?
Yes, and it's often the right split — a person managing settings and reviewing history doesn't need to be able to run destructive slash commands in the server. Treat the two access paths as separate lists, which also means remembering to check both when someone leaves.
Is an audit log overkill for a 30-person league?
It costs one channel and answers the accusation you cannot otherwise answer — that a decision was made for personal reasons. It's also the only thing that makes a rating edit recoverable, since nothing else records what the number was before. Set it up before you need it; nobody has ever wished they'd started logging later.
Sharing the load on a league? Team Up separates Discord command permissions from web dashboard access, records who reported and who recorded every match, logs admin actions to an audit channel, and exports full leaderboard backups on demand. Start with the admin dashboard guide, or writing rules that hold up for the adjudication side.
