- Newest
- Most votes
- Most comments
You can try to address this matchmaking and backfilling issue by adding a cooldown period for players who recently timed out before allowing them to reenter the queue. This will prevent them from interfering with the backfill process.
Also, prioritize backfilling existing sessions over creating new ones whenever there are open slots. Use separate queues or logic flows to achieve this. When a new matchmaking request comes in from a recently timed out player, check if they can be backfilled first before starting a new session. Set a timeout limit after which unmatched players will be removed from the queue and required to requeue. This avoids dragging down players who could have been backfilled.
The key is to prioritize backfilling where possible, isolate players who frequently timeout to avoid interference, and build in checks to match compatible players/hardware more intelligently.
Hey IndieGameDeveloperFromParallelWorld,
Matchmaking restricts you from having two requests in flight at once with the same player. If you send a new matchmaking request, any other in-flight requests with that same player will be canceled. Auto-backfill uses the current match results to create the backfill ticket, so if that player left the match and re-entered matchmaking, it would cancel the backfill request.
The common solution is to call the StartMatchBackfill api via the server SDK with an accurate list of players currently connected. The previous backfill ticket will be canceled, and the new ticket won't have the previous player and be affected when that player tries to resume matchmaking. It also means the backfill ticket will have an accurate number of players needed for backfill.
Relevant content
- asked a year ago
- Accepted Answerasked 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago