A question since I’m getting confused about when auto-backfill tickets will get issued, and how they fill empty slots in a game.
Say we have client/server game using a FlexMatch matchmaking rule with min player count of 1, a max player count of 6, and with automatic backfilling enabled. And say the following events occur:
- Player A issues a matchmaking request.
- A server is activated, matched to player A. At this point I assume an auto-backfill ticket is also issued to try to fill the next 5 empty slots on the new server.
- Player A joins the server, and the player session is accepted.
- Player B issues a matchmaking request
- Player C issues a matchmaking request
- The auto-backfill ticket matches up Player B and Player C with Player A.
- Player B joins the server, and the player session is accepted.
- Player C joins the server, and the player session is accepted.
At this point, we have 3 players in the server, but we still need 6. I’m assuming another auto-backfilling ticket gets issued to try to fill the next 3 slots. Now say the following happens afterwards:
- Player A gets bored and leaves the game. Player A’s session is removed.
- Player D issues a matchmaking request.
The behavoir I’m seeing is that an auto-backfilling ticket gets issued at some point, and player D is matched to it, but the ticket still references Player A. The side-effect is that the server will never fill with 6 players.
How should I be handing this case? When Player A leaves the match I need to do something to purge the player from any matchmaking decisions.