Discord leagues
Inhouse Leagues on Discord: Seasons, Roles and Standings
A closed league for one community: the same people every week, a season that actually ends, and standings that mean something.
An inhouse league is defined by two properties, and almost everything else follows from them: membership is closed, and play is repeated. The same forty people, most weeks, for a few months. It is not an open ladder that anyone can join, and it is not a one-off tournament — it is a season.
Closed and repeated is unusually good news for the ratings. In an open pool of forty strangers, most pairs never meet and the ladder is stitched together from thin, indirect evidence. In an inhouse, everyone plays everyone within a few weeks, so the rating is describing a population it has genuinely measured. A number that would be noise on a public ladder is trustworthy here on the same volume.
Which is exactly why the failure mode is not mathematical. Inhouse leagues rarely die because the ratings were wrong; they die because an admin burned out, because the season had no end so nobody had anything to play for in week nine, because the same argument about a no-show happened three times with three different answers, or because eight regulars quietly stopped showing up and nobody noticed until the queue stopped filling.
So the setup decisions that matter for this format are not the queue ones. They are the season boundary, who holds power, what the written rules say, and how the standings stay visible enough that people care about them in month three.
Setting up inhouse leagues
The decisions specific to this format. Everything else follows the general setup guide.
- 1
Decide the season boundary before the first match
A season needs an end date on day one, because "we will figure out when to reset later" reliably becomes "we never reset", and a ladder with no horizon gives your best player nothing to win and your newest player nothing to catch. Eight to twelve weeks suits most communities — long enough for ratings to settle, short enough that a bad start is recoverable. The rollover itself runs from the league dashboard, which starts the new season as a fresh leaderboard and leaves the old one intact as a record.
- 2
Choose what carries over, deliberately
A full reset makes every season a fresh race and throws away everything you learned about who is good. Full carryover keeps the ladder accurate and makes week one of season two indistinguishable from week nine of season one. Most leagues want the middle: carry ratings but compress them toward the mean, so the ladder starts informed and still moves. Pick one and say so publicly — the complaint you are avoiding is not the reset, it is the surprise.
- 3
Make the standings visible where people already are
Set up tier roles with
/tiersso rank appears next to the name in every channel, and put a live leaderboard message in the server so the standings are furniture rather than a link nobody clicks. Then set the two settings that keep the board honest: a minimum number of matches before a player is ranked, and an inactivity threshold that hides someone who has not played in weeks. A season-three ladder topped by a player who left in season one is the fastest way to make standings feel decorative. - 4
Write the rules a rating cannot arbitrate
Ratings settle who is better. They cannot settle whether a disconnect at 5-3 is a loss, whether a no-show forfeits, whether a sub counts, or what happens when two people report different scores. Write those down before you need them — one page, agreed once, applied identically — because the version invented in the moment is the one that loses you a player.
/leaderboard_configcovers the mechanical half (anti-farming alerts, casual-match policy); the rest is prose your admins can point at. - 5
Split the admin power before you need to
A one-admin league is one bad week from being over, and an inhouse is more exposed to this than any other format here because the admin is usually also a player. Give at least two other people the ability to record and correct results, and keep destructive operations behind a separate role. The point is not distrust — it is that the person who cannot referee their own match should not be the only person who can.
- 6
Queue it or schedule it — both are fine
Inhouses split cleanly into two shapes. Queue-driven: a
/queue_versussits open and nights happen when enough people are around; ratings do all the sorting. Fixture-driven: fixed rosters play a scheduled opponent each week and you record the result. Queue-driven suits a community of individuals, fixture-driven suits one made of teams — and if you are fixture-driven with named rosters, rate the rosters rather than the players.
Games that run this
Not a supported-games list — nothing here is title-specific. These are the games whose own setup page has something extra to say about this format.
Guides worth reading first
Written about the wider problem rather than about this format, but they cover what inhouse leagues run into.
League of Legends Inhouses: Rating Players by Role, Not Just by Win
One Elo number per player breaks in a five-role game. Here's how to run LoL inhouses in Discord with separate ratings per role, fair handling for autofill, and team balance that survives contact with a support main playing jungle.
11 min readHow to Run a Competitive Season: Resets, Carryover, and Playoffs
Seasons are what stop a league going stale. The hard part isn't the date — it's deciding how much of last season's rating carries over. Four carryover modes, what each does to your community, and how to run the rollover without losing your history.
9 min readDivisions, Promotion and Relegation in a Discord League
Rating-threshold tier roles are labels, not divisions. What a real promotion/relegation system needs — fixed-size ranks, segregated play, and a movement event — plus the honest reason most leagues shouldn't run one.
8 min readBuilding an Admin Team You Can Trust With a Leaderboard
Permissions aren't a trust hierarchy, they're a blast-radius hierarchy. Sort admin actions by what happens when they're wrong — and know that "we can always recompute from history" is false past your tier's limit.
9 min readDodges, No-Shows and Disputes: Writing League Rules That Hold Up
The rules that fail aren't the unfair ones — they're the ones that need a judgement call at the exact moment everyone is angry. How to write rules that decide themselves, and why a discretionary rule costs 33x the admin time of a mechanical one.
11 min readWhy Your Discord League Went Quiet — And How to Restart It
Leagues don't fade evenly. They hollow out from the top, and your rating system is one of the reasons: the best player in a small pool gains 2.9 points for a win and loses 29.1 for a defeat. Here's the mechanism and what actually fixes it.
10 min readInhouse Leagues on Discord — FAQ
The questions communities ask before setting this up.
What is the difference between an inhouse league and a 10-man night?
How long should a season be?
Should ratings reset between seasons?
Do we need divisions?
Ready to run it?
Team Up is free to start. Add the bot, create a leaderboard, and record your first match — the ladder builds itself from there.
