question

Gabriel Dechichi avatar image
Gabriel Dechichi asked

How to do continuous Server Matchmaking using Matchmaking 2.0? (like PUBG)

Our game currently has the following requirements (assuming no servers are in an Active State):

- A player that starts matchmaking should find a match as fast as possible, even with a low number of players (as low as 2)

- Once the first players are matched and a Multiplayer Server is spinned up, the server should continue accepting new players (by using a ServerBackfillTicket?) for the same Queue that spinned it. The connected players wait in a shared lobby (like PUBG)

- Any ticket that matches with the server ticket should immediately be completed


- The Server, however, can continue to match with new players, until GameLogic is satisfied


Are those requirements possible with the current Matchmaking service?

What we experience currently is that the ServerBackfillTicket always get completed right after finding the first player (since the Min number is 2), and no more players can be matched with this ticket.

We are working around this by continuously creating a new ServerBackfillTicket, but this highly increases fragmentation, as eligible players could be matched together in a new match while the server re-creates the ticket.

Or is there some other way to approach this problem? Basically the desire is to have the lobby work like PUBG

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

·
Sarah Zhang avatar image
Sarah Zhang answered

We do not suggest using ServerBackFillTicket to achieve the lobby server. Every ServerBackFillTicket or MatchMakingTicket would only match the minimum players. So, as you said, you need to create the new ServerBackfillTicket continuously. Fragmentation will occur. ServerBackFillTicket is more suitable for the reconnection of disconnected players.

Ideally, you need a lobby server that allows the players in the “waiting for match” state to connect to the server session. PlayFab does not provide a corresponding native mechanism to achieve such functions. PlayFab’s MatchMaking returns the IP address and port number only when players have “matched”.

If you still want to use PlayFab Multiplayer Server for your game. A possible compromise design is to design a "one-player training ground" as the player's lobby room or waiting room. It can be an offline scene, so it can also save the server resources. Then you can check this matchmaking scenario and configuration example -- Expansion of number of players over time. This configuration example is designed for the matchmaking model like PUBG.

Or you can consider using a 3rd-party game server service which provides the lobby room mechanism.

10 |1200

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

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.