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

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则