Search Unity

Question Problem with MatchMaker not reassigning to the same server

Discussion in 'Game Server Hosting' started by anogame_watanabe, Dec 14, 2023.

  1. anogame_watanabe

    anogame_watanabe

    Joined:
    Apr 2, 2017
    Posts:
    6
    Shut down the application once it has been assigned using the MatchMaker function.
    Try the same procedure again to reallocate.

    When the application is assigned to all servers, the following error occurs and the application cannot participate in the game.

    error: maximum capacity reached (2)

    I would like to be able to go back and forth to various servers, do I need to use Lobby or something else to specify the IP?
     
  2. zhare86

    zhare86

    Joined:
    Mar 28, 2017
    Posts:
    28
    I noticed that when the matchmaker thinks a player is already assigned to some server but this player asks for a new ticket, the matchmaker assigns them to a new server.

    If you want to rejoin the same server you don't need to use Lobby (although you can). Nothing is preventing you from joining a server without getting a ticket from the Matchmaker, so you could just store the ip and port on the client the first time you get a ticket, and use them to connect to the same server again.
     
  3. anogame_watanabe

    anogame_watanabe

    Joined:
    Apr 2, 2017
    Posts:
    6
    I am using Backfill.
    Sometimes the server I try to re-enter is already full.

    I thought MatchMaker was a convenient feature to lead me to a server that is running, but am I to understand that it actually reassigns me to avoid a server once it is assigned?
    It is obviously possible to remember IP/Ports that you have experience connecting to, but I was attracted to MatchMaker's ability to not have to check to see if the same one is still in orbit, etc.

    Is it possible to always act like a new user when accessing with a new ticket?
    I am very interested in this.
     
  4. zhare86

    zhare86

    Joined:
    Mar 28, 2017
    Posts:
    28
    If a user enters matchmaking with a new id, the Matchmaker will treat it as a new user. If you are using untiy services' anonymous sign in you can achieve this by calling
    AuthenticationService.SwitchProfile before signing in, with a random profile name every time.

    However, the reason Matchmaker is not sending the same player to the same server might be that it thinks the player is in the server already. This can happen if the server is not updating the backfill ticket properly. When the player leaves the server the server should call
    MatchmakerService.
    UpdateBackfillTicketAsync without the player's id in respective collections to notify Matchmaker that the player has left.
     
    anogame_watanabe likes this.
  5. Johnathon1978

    Johnathon1978

    Joined:
    Jan 19, 2022
    Posts:
    1
    I know this is a few months old, but this was the tip I needed to get it allowing for rejoining ..not only for a player that left but any player trying to join when the maxplayers has been reached... you need to remove the player from the servers local ticket using the playerId, then update the local ticket with matchmaker using matchmakerService.UpdateBackfillTicketAsyc, then resume backfill....