question

Shawn Pryde avatar image
Shawn Pryde asked

Backfill tickets not being properly cancelled

Hi,


Our team has been running into an issue with creating multiple backfill tickets and we're wondering if we could get someone to help us out with it. Here are the details of our issue:

- We are using Playfab's Matchmaking APIs to connect our users for matches in our game (we use Unity 2020.3.25f1)

- After we've successfully matched people together, we use backfill tickets to fill available spots in our existing matches.

- Since our matches can take place over the course of multiple Unity scenes, every time we change scenes we need to submit a new backfill ticket with the proper data to join the new scene

- Right now our process for scene transitions is to use the "CancelAllServerBackfillTicketsForPlayer" API call before our scene transitions, and the "CreateServerBackfillTicket" API when the scene has loaded for all of the users currently in the match.

- "CancelAllServerBackfillTicketsForPlayer" returns success, and even calling "ListServerBackfillTicketsForPlayer" afterward returns an empty list; but after the scene has transitioned, calling "CreateServerBackfillTicket" always returns a "MatchmakingTicketMembershipLimitExceeded" error until after the amount of time specified in the "giveUpAfterSeconds" parameter of the first ticket has passed.

It should also be noted that we handle our backfill using CloudScriptAPI calls which are only ever invoked by the assigned "master client" of our match's server (we're using Photon Realtime for our matches). If anyone has any idea why this might be happening, any suggestions would be greatly appreciated.

CloudScriptmultiplayerMatchmaking
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Gosen Gao avatar image
Gosen Gao answered

API CancelAllServerBackfillTicketsForPlayer will cancel all active backfill tickets the player is a member of in a given queue, active backfill tickets mean the tickets that have been matched. If you want to cancel the ticket being matched, you can call the API CancelServerBackfillTicket.

1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Shawn Pryde avatar image Shawn Pryde commented ·

Got it. Thank you! Changing our code to use CancelServerBackfillTicket instead of CancelAllServerBackfillTicketsForPlayer seems to have worked. I now realize that the documentation says that CancelAllServerBackfillTicketsForPlayer cancels all "active" tickets, but it does not clearly explain what is meant by an "active" ticket, the distinction could be made clearer. What is the purpose of keeping track of tickets that have already been matched?

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.