Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question Creating a Matchmaking flow for an an IO style game (MMO).

Discussion in 'Matchmaker' started by CM_RDX, Jun 29, 2023.

  1. CM_RDX

    CM_RDX

    Joined:
    Jan 26, 2023
    Posts:
    11
  2. cris-unity-mm

    cris-unity-mm

    Unity Technologies

    Joined:
    Dec 6, 2019
    Posts:
    6
    Hi,

    The Matchmaker only triggers allocations based on matchmaking tickets, so it is not possible to have servers running on standby. Another issue you might run into is that the servers are not intended to be constantly running, so I believe they will shutdown after 24 hours.

    For your case you should be able to follow the backfill flow described here.
    The matchmaker will create the backfill ticket and will update it when it wants to add tickets to it.
    You’ll have to keep approving the backfill ticket and also update it if you detect players leaving.
     
  3. CM_RDX

    CM_RDX

    Joined:
    Jan 26, 2023
    Posts:
    11
    Thanks for the answer :)
    So basically i would have to try to create backfill tickets using the IP from the server fleet i would like to use? The rest of the workflow would be similar to the normal ticket creation i assume.
     
  4. cris-unity-mm

    cris-unity-mm

    Unity Technologies

    Joined:
    Dec 6, 2019
    Posts:
    6
    The IP that the Game Server will use to create a backfill ticket is its own IP, so it won't change. Game Server Hosting provides a way to get that, see the sample
     
    CM_RDX likes this.
  5. CM_RDX

    CM_RDX

    Joined:
    Jan 26, 2023
    Posts:
    11
    I see, is there any way to get the allocated server IP + Port on the client side through the matchmake SDK? Maybe only requiring the queue name? Otherwise i guess i would have to save the IP and assigned ports seperately for the client build.

    Edit: I misunderstood how the backfill ticket workflow is supposed to work. SO the SERVER creates the backfill ticket and approves it every second, adding incoming players to the Backfill ticket, and updating the backfill ticket with the new client ID's.

    Howerver the documentation describes that the incoming clients are connecting OUTSIDE matchmaker. How is that? Don't i always want to use matchmaker to get assigned a fitting server by creating a ticket on the client?
     
    Last edited: Jun 30, 2023
  6. cris-unity-mm

    cris-unity-mm

    Unity Technologies

    Joined:
    Dec 6, 2019
    Posts:
    6
    Right, it's only the server that does anything with backfill tickets, never the client.

    The "outside the matchmaker" part applies only if you have also have clients that directly connect to the server, bypassing the matchmaker.
    If you always use the matchmaker, you don't have to update the backfill ticket when players join, but you DO have to update it when players leave.