Skill Based Match Making

We are trying to implement skill based matchmaking on the basis of league division. But must “+” parameter in query is not working properly.

Config Properties:
matchmaker:
max_tickets: 1
interval_sec: 15
max_intervals: 2

For example we have six leagues 0-5.
Player-A, League=0,
Player-B, League=0
Player-C, League=0
Player-D, League=4

Query for Player A, B and C for matchmaking
{min_count:4 max_count:4 query:"+properties.matchType:4 +properties.league:0" numeric_properties:{key:"league" value:0} numeric_properties:{key:"matchType" value:4}}

Query for Player D
{min_count:2 max_count:4 query:"+properties.matchType:4 properties.league:4^3 properties.league:3^2 properties.league:5" numeric_properties:{key:"league" value:4} numeric_properties:{key:"matchType" value:4}}

When we start matchmaking from only these 4 players in pool, then around 25 sec all four players are matched.

Expected Outcome: matchmaker should not return any results because League-0 players have “+” must be property which makes it mandatory to match only with same league players.

Still waiting for reply??

Hello @surajTLabs, can you please retry after setting the server config flag matchmaker.rev_precision=true?

We’ve introduced this flag to trade matchmaking query precision for performance as this type of query with complex properties will grow processing time exponentially with the number of tickets - all the possible combinations need to be processed.

We’ll improve the documentation and consider defaulting it to true.

Best.