Skip to content

Matchmaker Overview

Andrew Bates edited this page Mar 21, 2025 · 2 revisions

Matchmaking Overview

Here's a few helpful tips.. Please let other players know if you see them having trouble.

Skill/Style-Based Matchmaking Tips

  • Do not restart matchmaking; it will only take longer.

  • The matchmaker will try to match you with players of similar skill, predicted balance, and common server pings.

  • After three (3-5) minutes, it will ignore skill/rank, and relax the server ping requirements.

  • After ~6 minutes, it will immediately create a match.

  • When balancing teams, the matchmaker will balance based off your OpenSkill rating (see below).

  • When a player early quits, and then start matchmaking, they will not match with players who are currently matchmaking.

  • If you change your /party group, reopen your game.

  • Matchmaking averages the rank percentile of players in a party.

  • Party members will always be on the same team when joining a new match, or backfilling.

Core Mechanism

1. Candidate Processing

  • Players looking for a match are grouped into candidates (sets of matchmaker entries).
  • These candidates undergo pre-filtering to remove invalid match possibilities.

2. Filtering & Sorting

  • RTT Filtering: Ensures all players in a potential match have an acceptable Round Trip Time (RTT) to a common server.
  • Match Predictions: Candidates are evaluated based on predicted balance.
  • Sorting by TeamOrdinal: Instead of only using mu (mean skill) and sigma (variance), teams are ranked using TeamOrdinal, a derived metric from the rating system that evaluates team strength.

3. Team Formation

  • Players are divided into two teams:
    • The strongest players are assigned to Team A (blue).
    • Remaining players are placed in Team B, ensuring balance.
  • Sorting is done using TeamOrdinal and win probability estimates.
  • If teams are too imbalanced, the match is discarded.

4. Finalizing Matches

  • The best-ranked matches are selected.

Resources

Code

Clone this wiki locally