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年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ