Skip to content

Discord leagues

Challenge Ladders on Discord: Open Ranked Without a Queue

No queue and no fixed night — entrants pick their own opponents, play when both are free, and the ladder sorts itself out.

A challenge ladder has no queue and no scheduled night. You find someone at a similar level, agree a time, play your set, and report it. Fighting-game ladders run this way, so do team-versus-team GB ladders, and so does almost every league built around a game you play asynchronously — golf, racing, football sims, anything where two people can arrange a match without needing eight other people to show up.

It is the cheapest format to start, because it needs no scheduling and no critical mass: two people are a functioning ladder. And it has one structural problem that no rating setting fixes, which is worth understanding before you launch rather than after.

Opponent choice is a selection effect, and Elo does not correct for it. The maths adjusts for how strong your opponent was — it assumes you did not get to pick them. On a challenge ladder you did. A player who only ever challenges people two hundred points below converges to a rating that is arithmetically correct and practically uninformative: it certifies that they beat people worse than them, which everyone already knew. Meanwhile the matches that would actually resolve the top of the table never get played, because the two people involved both have more to lose than to gain.

This does not show up as a bug. It shows up as a ladder where the standings look reasonable, nobody can explain why the top three never meet, and the number two player is quietly certain they are better than number one. The fixes are structural — activity requirements, opponent variety, and rules about what you have to accept — not mathematical.

Setting up challenge ladders

The decisions specific to this format. Everything else follows the general setup guide.

  1. 1

    Decide what an entrant is: a player or a roster

    For a player ladder, /challenge is the whole mechanism — it takes an opponent (or up to four, which turns it into a free-for-all), carries a note for the terms, and can hand the challenger a map pool to pick from. For a team ladder the entrants are rosters built with /team_admin, matches are arranged between captains, and results are filed with /record_match team_alias. Both run on the same ladder shape; only the unit being rated differs.

  2. 2

    Rate the set, not the individual games

    If your matches are played as sets — best-of-three, best-of-five, a match over several holes or legs — file one result per set rather than one per game. The games inside a set are not independent observations of the same question, so counting them separately tells the ladder it saw three to five times more evidence than it did, and makes rating volatility a function of the format the organiser happened to pick.

  3. 3

    Require activity before anyone is ranked

    Set a minimum number of matches before a player appears on the board, and an inactivity threshold that removes them when they stop playing. On a challenge ladder these are not cosmetic: they are the direct answer to sitting on a good rating. Someone who plays five matches, gets ahead and stops is the most common way a challenge ladder ends up with standings nobody believes, and an inactivity rule retires that rating without anyone having to argue about it.

  4. 4

    Turn on anti-farming alerts

    Enable farming detection with /leaderboard_config farming and set the streak threshold to the number of consecutive wins against the same opponent you consider worth a look — the default is two, which is deliberately sensitive. It posts an alert rather than blocking the match, and that is the correct behaviour here: two friends playing each other constantly is the normal case, and you want a human deciding whether a pattern is farming or friendship.

  5. 5

    Write the acceptance rule — this is the one that matters

    The strongest lever is not a setting, it is one line in your rules: who has to accept a challenge from whom. Common shapes are a rank range ("you must accept from anyone within five places"), a cooldown ("you cannot decline the same opponent twice in a row"), and an activity floor ("one accepted challenge a week to stay ranked"). Any of them beats none. Without a rule, the ladder measures willingness to be challenged as much as it measures skill.

  6. 6

    Publish head-to-head records, not just the table

    A challenge ladder lives on grudges, and the head-to-head record between two entrants is the thing people actually argue about. Making it visible does double duty: it is the most engaging page your league has, and it is how everyone spots the pattern of an ordering that no result has ever tested.

Challenge Ladders guides

Also worth reading

Written about the wider problem rather than about this format, but they cover what challenge ladders run into.

Challenge Ladders on Discord — FAQ

The questions communities ask before setting this up.

Can people just avoid the matches they would lose?

Yes, and on an unrestricted challenge ladder some of them will — usually without deciding to. It is easier to accept a match you expect to win, and the aggregate of many easy choices is a table whose top half has never played itself. Fix it with rules rather than settings: a rank range you must accept within, a minimum number of matches to stay ranked, or a decline cooldown against the same opponent.

Can teams challenge other teams?

Not through `/challenge` directly — that command is player-shaped, taking one opponent for a 1v1 or up to four for a free-for-all. Team ladders work by creating rosters with `/team_admin`, arranging the match between captains in your own channels, and recording it with `/record_match team_alias`. A hosted `/queue_team` lobby is the closest thing to an open team challenge: one roster posts it, another claims it.

How many matches before a rating is worth showing?

On a challenge ladder, more than you would need elsewhere, because the opponents were chosen rather than drawn. Ten is a reasonable floor for showing a player at all, and even then treat the first month of the table as provisional. What makes a rating trustworthy here is not just volume, it is variety — twenty matches against three opponents says less than ten against ten.

Should a declined challenge count for anything?

The bot does not score a decline, and it should not — a decline is usually just a bad evening. But your rules can, and on a competitive ladder it is worth it: an activity requirement makes repeated declines expensive without anyone having to accuse anybody of ducking. Count the matches played rather than penalising the ones refused.

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.