Matchmaking rules
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