OnUpdateGameSession handler function is not invoked when a backfill request is cancelled due to duplicate player ids

0

Hey, so I came across a situation, not necessarily an issue, that I wanted to make light of. In the case when there is a backfill request, if a new matchmaking request is made involving a player id that is in the backfill request, then the backfill request gets cancelled. In this case, the OnUpdateGameSession function is not called.

And as far as I know, there are four reasons for why OnUpdateGameSession would be invoked by the GameLift service as found here:

  • MATCHMAKING_DATA_UPDATED – New players were successfully matched to the game session. The GameSession object contains updated matchmaker data, including player data on existing players and newly matched players.
  • BACKFILL_FAILED – The match backfill attempt failed due to an internal error. The GameSession object is unchanged.
  • BACKFILL_TIMED_OUT – The matchmaker failed to find a backfill match within the time limit. The GameSession object is unchanged.
  • BACKFILL_CANCELLED – The match backfill request was canceled by a call to StopMatchmaking (client) or StopMatchBackfill (server). The GameSession object is unchanged.

My question is that should this scenario (backfill request being cancelled due to duplicate player ids being present in another matchmaking request) also invoke the OnUpdateGameSession function under the reason of type BACKFILL_CANCELLED?

Thanks for reading!

demandé il y a 4 ans302 vues
2 réponses
0

@REDACTEDUSER

In the meantime, you can implement the following as a workaround:

  1. don't allow players to submit StartMatchmaking requests while they are in a game
  2. cancel outstanding backfill tickets when a player leaves a game
  3. If backfill is still needed, create a new backfill request with the players that have left not included

OnUpdateGameSession will be invoked when the backfill ticket is explicitly canceled.

répondu il y a 4 ans
0

Hi @REDACTEDUSER

Since I can definitely see a lot of players trying to make matchmaking requests at once, I was wondering if DescribePlayerSessions was subject to this throttling limit rule as well and whether we should limit how often this function gets called.

répondu il y a 4 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions