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!

已提問 4 年前檢視次數 302 次
2 個答案
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.

已回答 4 年前
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.

已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南