Here's how the matchmaking works:

- Get the 100 "oldest" (creation time) available matches matching these conditions:
- Opponent's league has to be between <your league> -1 and <your league> + 1
- If opponent's league is different than yours: league score delta has to be lower than 200 points

- Filter out (remove) matches matching these conditions:
- Opponents has already been played in the last 5 minutes

- 2 possible cases:
- If there's no match remaining:
- Pick a random map
- Pick a random left/right side
- Create a new match using these parameters

- If there's some matches remaining:
- Sort the remaining matches using these comparison rules:
- Opponent in the closest league first
- In case of equality: opponent using a different IP first
- In case of equality: opponent never met or met the furthest in the past first

(considered equal under a 10 minutes delta) - In case of equality: opponent with the lowest league score delta (compared to yours) first

(considered equal under a 10 points delta) - In case of equality: oldest match (creation time) first

- Take the first match of the list and join it

- Sort the remaining matches using these comparison rules:

- If there's no match remaining: