question

Tamas Szucs avatar image
Tamas Szucs asked

CreateServerBackfillTicketRequest Members property

Hi there,

we finally managed to get the Matchmaking 2 + Beta Server backfill API working, our users can rejoin the matches successfully. However the purpose of the Members property of CreateServerBackfillTicketRequest is not clear to me.

E.g. we have a Matchmaking queue defined, with 2-10 min max players. When the first 2 players are matched, and the server starts, I create a backfill ticket, that has the Members required property. What is it used for? When we filled this with the existing players (e.g. after the GetMatch request), the backfill ticket could not match with new player tickets (cause there were 2 already). So now we arbitrary choose a player for the ticket, just to be able to match with new tickets properly (cause we cant leave it empty).

Is there documentation / sample use case so we can use this API as it was designed?

Thanks,

Tamas

Matchmaking
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

·
Citrus Yan avatar image
Citrus Yan answered

Hi @Tamas Szucs

>> E.g. we have a Matchmaking queue defined, with 2-10 min max players. When the first 2 players are matched, and the server starts, I create a backfill ticket, that has the Members required property. What is it used for?

This backfill server tickets feature is designed to allow a running game server to search for additional players which will fit into the running game. In order to have the server find the most suitable players, it must supply all member information for the game it is currently hosting. Hence, this required Members property is used for specifying all member information of the running game. Once the backfill ticket is created, it will begin searching for regular matchmaking tickets (with higher priority) which meets the rule criteria of the queue.

>> Is there documentation / sample use case so we can use this API as it was designed?

Here is the documentation about backfill tickets you may find helpful : Using server backfill tickets

By the way, you were saying “When we filled this with the existing players (e.g. after the GetMatch request), the backfill ticket could not match with new player tickets”. Do you mean that the sever backfill ticket cannot match with other regular tickets even when there are still some slots for the game (you mentioned that there are 2-10 min max players defined in queue )? If that’s the case, you may need to check the rules to see if there are any rules that will prevent the tickets from getting matched.

4 comments
10 |1200

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

Tamas Szucs avatar image Tamas Szucs commented ·

Thanks for the tutorial, I'll check it out!

What you wrote, is matching with the original idea of how we thought it should work.

I would like to mention that matching regular tickets, and starting the servers work without any issue. The backfilling scenario is problematic only.

Our flow was: GSDK readyforplayers get called, we call GetMatch to get the Members and ServerDetails. Next we fill the CreateServerBackfillTicketRequest.Members with the GetMatchResult.Members. However this did not work for us, regular tickets were not matching against this ServerBackfillTicket. Our MM rule is quite permissive I think, we are using a region selection rule with hardcoded latency attribute for players during development (which is always less than the maximum value of the rule). It matches for "regular" tickets without any problem, when we start the matches.

So that's why we had to come up with the workaround to not add all members - yes it sounds weird, that is the reason of this post :)

0 Likes 0 ·
Citrus Yan avatar image Citrus Yan Tamas Szucs commented ·

Yes, your flow looks alright to me, so it seems that this backfilling scenario is not working as it was expected to be. Could you please provide some detailed repro steps along with the necessary info (feel free to obfuscate sensitive data) to prove this issue that regular tickets were not matching against this ServerBackfillTicket? We might need to investigate it, thanks:)

By the way, will the backfill tickets get matched if the number of regular tickets is pretty large?

0 Likes 0 ·
John Clark avatar image John Clark Tamas Szucs commented ·

@Tamas Szucs, we are having similar experience. Would you be willing to share what was the solution you landed on?

0 Likes 0 ·
Tamas Szucs avatar image Tamas Szucs John Clark commented ·

i think the problem was that we called the Microsoft::Azure::Gaming::GSDK::updateConnectedPlayers method with incorrect IDs on player joins, so later the GetMatch call did not return valid ids to use with the backfill ticket Members list.

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.