How Matchmaking Queues Work
In a normal queue, a match starts when enough players have joined. In a matchmaking queue, a match only starts when enough players are close enough in skill.
Turn it on
Run /queuetype and choose Matchmaking. See the Setup Guide for the other queue types.
How a match forms
NeatQueue checks the queue every 15 seconds. It forms a match when it can find enough players whose MMRs are all within the range of each other. For example, with a range of 300, a match can contain players rated 1000 and 1300, but not 1000 and 1400.
- Players who joined earlier are preferred over newer ones.
- Parties stay together, and a party only counts if all of its members fit in the range. See Parties.
- Role limits are respected, so a match is only formed if the roles can be filled.
- If the queue balances by roles instead of MMR, the range applies to role tiers instead of MMR.
Range and leniency
Two settings control how strict matching is:
| Command | Default | What it does |
|---|---|---|
/matchmaking range | 300 | The widest MMR gap allowed in a match at first |
/matchmaking leniency | 15 | How much the range grows for every 15 seconds of waiting |
A tighter range gives fairer matches but longer waits and needs more players in the queue.
Widening over time
Waiting players shouldn't be stuck forever, so the range widens as they wait. For every 15 seconds the longest-waiting player in a possible match has waited, that match's range grows by the leniency amount.
This is worked out per match, not for the whole queue. Someone who just joined a busy queue is still matched closely, while a player who has waited several minutes gets a wider range.
Capping the widening
/matchmaking leniency takes an optional maximum, the most the range can grow by. The widest a match can ever be is the range plus the maximum. If you leave maximum out there is no cap, and a long-waiting player is eventually matched regardless of MMR. Set a maximum if you never want very mismatched games.
Balancing the teams
Once a match is formed, players are split into teams to make them as even as possible. Two-team games with up to 16 players (or parties) are balanced by checking every possible split. Larger or multi-team games use a faster approximation that may be slightly less exact.
By default teams are balanced by MMR. If you use /balanceby type to balance by roles, role tiers decide the split first, and MMR breaks ties between players in the same tier. Set the tiers with /balanceby roles.