Backfill request blocked by MinTeamSize

Hello, I see what I believe is an issue with the backfill system.

If a backfill request is issued, and the number of players on a team is below the MinTeamSize threshold in the matchmaking configuration, then the backfill request will not fill (or will only fill after the MinTeamSize rule is expanded).

That seems like a flaw to me. Backfill requests by their nature would never care about the minimum team size.

We’re working around the issue by issuing the backfill request with a bunch of fake players to fool flexmatch into believing we have enough players, but obviously that is not ideal.

Is the current behavior intended? Thanks!

This seems strange. As you mention backfill requests should not care about the minTeam size.

But I would be interested in how you are combining team size with other rules ie are you using other matchers like average team values?

A backfill requests is not really any different than a normal matchmaking request apart from the fact you have pre-filled some of players. Your normal rules will still apply.

So you could be seeing:

  • Low ticket volume but testing against fast rulesets - ie you don’t have the player population to support your rules so they will always hit their expansion conditions
  • Rules that mean very few players match and again you fail to meet your conditions and your rulesets expand

Can you share your matchmaking config?

Or can you share enough example data so the GameLift team can investigate for you. They will need:

  • Matchmaking config name / rule set name
  • Ticket ids / Backfill ticket ids (or GameSession ids if you have them for the match(es) involved)
  • Approx time frame of requests

Thanks

I was also getting stuck with this issue. Backfill requests were never succeeding on an empty server. I’m currently working around this by using 0 min players…

Repro case is trivial: Game session starts with 1 player, that player then leaves, then another player requests match, backfill starts, never succeeds.
Here’s a ruleset that exhibits it:
{
“name”: “any_12”,
“ruleLanguageVersion”: “1.0”,
“teams”: [{
“name”: “oneteam”,
“maxPlayers”: 12,
“minPlayers”: 1
}]
}