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