Skip to content

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. 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. 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. 3

    Make the standings visible where people already are

    Set up tier roles with /tiers so 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. 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_config covers the mechanical half (anti-farming alerts, casual-match policy); the rest is prose your admins can point at.

  5. 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. 6

    Queue it or schedule it — both are fine

    Inhouses split cleanly into two shapes. Queue-driven: a /queue_versus sits 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.

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 read

How 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 read

Divisions, 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 read

Building 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 read

Dodges, 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 read

Why 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 read

Inhouse 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?

A 10-man night is an evening: people show up, teams are drawn, and nothing persists but the rating. An inhouse league is a season built out of those evenings — the same closed group, a start and an end, standings people are chasing, and rules for what happens when someone does not turn up. Most inhouse leagues run 10 mans as their match format, so the two overlap in practice; the difference is everything wrapped around the night.

How long should a season be?

Long enough for ratings to converge, short enough to stay interesting. Eight to twelve weeks is the usual answer for a league playing once or twice a week, because that is roughly where a regular has enough matches for their rating to be believable. Shorter than six weeks and the final standings are mostly noise; longer than about fifteen and attendance decays before the finish.

Should ratings reset between seasons?

Rarely a full reset. Ratings are the most expensive thing your league has produced — dozens of matches of evidence about who is good — and throwing all of it away every season means every season starts with a month of meaningless results. Compressing toward the mean keeps the information and restores the sense of a fresh start, which is what people actually want when they ask for a reset.

Do we need divisions?

Not until the spread makes matches unfun. Divisions solve a real problem — a top player and a newcomer in the same queue is a bad game for both — but they also split your player pool, and a split pool fills more slowly. Tier roles give you most of the visible progression with none of the fragmentation, so try those first and add divisions when you have the numbers to feed two ladders.

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.