Difference between revisions of "Matchmaking rules"

From Gladiabots Wiki
Jump to: navigation, search
(Created page with "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...")
 
m
Line 1: Line 1:
 
Here's how the matchmaking works:
 
Here's how the matchmaking works:
  
 +
[list]
  
Get the 100 "oldest" (creation time) available matches matching these conditions:
+
[*] 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
+
[list]
If opponent's league is different than yours: league score delta has to be lower than 200 points
+
[*] Opponent's league has to be between <your league> -1 and <your league> + 1
Filter out (remove) matches matching these conditions:
+
[*] If opponent's league is different than yours: league score delta has to be lower than 200 points[/list]
Opponents has already been played in the last 5 minutes
+
 
2 possible cases:
+
[*] Filter out (remove) matches matching these conditions:
If there's no match remaining:
+
[list]
Pick a random map
+
[*] Opponents has already been played in the last 5 minutes[/list]
Pick a random left/right side
+
 
Create a new match using these parameters
+
[*] 2 possible cases:
If there's some matches remaining:
+
[list]
Sort the remaining matches using these comparison rules:
+
[*] If there's no match remaining:
Opponent in the closest league first
+
[list]
In case of equality: opponent using a different IP first
+
[*] Pick a random map
In case of equality: opponent never met or met the furthest in the past first
+
[*] Pick a random left/right side
 +
[*] Create a new match using these parameters[/list]
 +
 
 +
[*] If there's some matches remaining:
 +
[list]
 +
[*] Sort the remaining matches using these comparison rules:
 +
[list]
 +
[*] 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)
 
(considered equal under a 10 minutes delta)
In case of equality: opponent with the lowest league score delta (compared to yours) first
+
[*] In case of equality: opponent with the lowest league score delta (compared to yours) first
 
(considered equal under a 10 points delta)
 
(considered equal under a 10 points delta)
In case of equality: oldest match (creation time) first
+
[*] In case of equality: oldest match (creation time) first[/list]
Take the first match of the list and join it
+
[*] Take the first match of the list and join it[/list][/list][/list]

Revision as of 18:07, 5 September 2017

Here's how the matchmaking works:

[list]

[*] Get the 100 "oldest" (creation time) available matches matching these conditions: [list] [*] 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[/list]

[*] Filter out (remove) matches matching these conditions: [list] [*] Opponents has already been played in the last 5 minutes[/list]

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

[*] If there's some matches remaining: [list] [*] Sort the remaining matches using these comparison rules: [list] [*] 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[/list] [*] Take the first match of the list and join it[/list][/list][/list]