Difference between revisions of "Matchmaking rules"

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

Revision as of 04:44, 6 September 2017

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:
        1. Opponent in the closest league first
        2. In case of equality: opponent using a different IP first
        3. In case of equality: opponent never met or met the furthest in the past first (considered equal under a 10 minutes delta)
        4. In case of equality: opponent with the lowest league score delta (compared to yours) first (considered equal under a 10 points delta)
        5. In case of equality: oldest match (creation time) first
      • Take the first match of the list and join it