question

Alan Gaspar avatar image
Alan Gaspar asked

Backfill tickets on requested multiplayer servers

I'm using Unity + Mirror.

I'm having troubles with the backfill ticket when creating a match using "RequestMultiplayerServer", when I request a server like that I try to create a backfill ticket and it never appears and no players can join after that, but if I try to create a backfill ticket on a server requested via matchmaking the backfill ticket works fine and more users can join.

Here's is how I'm requesting a server:

public void CreateMultiplayerServer()
{
   RequestMultiplayerServerRequest requestData = new RequestMultiplayerServerRequest
   {
      BuildId = buildId,
      PreferredRegions = new List<string>() { RegionEastUS },
      SessionId = Guid.NewGuid().ToString()
   };

   PlayFabMultiplayerAPI.RequestMultiplayerServer(requestData, OnRequestMultiplayerServerSuccess, Debug.LogError);
}

private void OnRequestMultiplayerServerSuccess(RequestMultiplayerServerResponse response)
{
   OnJoinRoom?.Invoke(response.IPV4Address, response.Ports[0].Num);
}

It is possible for the backfill tickets to work on requested servers?

Also, is there any way I can send a UnityLog to be shown on the server logs?

multiplayerMatchmaking
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

·
Seth Du avatar image
Seth Du answered

>>is there any way I can send a UnityLog to be shown on the server logs?

Yes, you can use GSDK to add customized logs in your sever, please refer to -- Integrating game servers with the PlayFab Game Server SDK (GSDK) - PlayFab | Microsoft Docs

>> in terms of backfill ticket.

I don't think creating backfill ticket in such an instance is a good scenario because if the server instance is requested manually through API, there is no conditions for players to join this instance, and players are not restricted by any rules that is defined in the Queue. It is unfair for anyone to join via subsequent matchmaking. Meanwhile if it is to find a match with friends, a player can call CreateMatchmakingTicket API, then rest of them call JoinMatchmakingTicket.

Please also note that it is necessary to input the "member" property in the request of CreateServerBackfillTicket API call.

2 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.

Alan Gaspar avatar image Alan Gaspar commented ·

Thank you for your response,we are seeking to achieve a game lobby experience, we want to achieve two things:
1- When a player is looking for a match and no one can be found we want for that player to create a match so others can join him later

2- A player should be able to create a private match, invite his friends and after that open the match for anyone to join

Is this achievable trough PlayFab?

0 Likes 0 ·
Seth Du avatar image Seth Du ♦ Alan Gaspar commented ·

It is not supported by matchmaking, but Lobby is more suitable according to your description, please refer to Azure PlayFab Lobby overview - PlayFab | Microsoft Docs.

PlayFab multiplayer server cost is metered via VM cores computing hours and if a player can create private instance without limitation, this instance can keep running for a long time. It is suggested to follow a specific gaming procedure when the server is running. Even backfill tickets should be time limited. We highly recommend having an intermediary place to help players group up and only initiate the server when the team is ready.

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.