Currently it’s impossible to make a teleportation gate where the gate sends players consecutively to the same public server. I cannot make a game where the experience is continuous between multiple servers with the same people through teleportation.
The return instance of TeleportService:TeleportAsync which is TeleportAsyncResult and it must have a JobId of the public server they got teleported to. I should be able to know which server they got teleported into. Using reserved servers is out of the question as the new server should be joinable through the Play button.
The half solution for this is to use this function TeleportService:TeleportPartyAsync which returns the JobId that the players are getting teleported into. But contradictory to the provided information on the page, the event TeleportService.TeleportInitFailed doesn’t actually work the way it’s supposed to when used with TeleportService:TeleportPartyAsync which probably requires its own bug report. But it’s not the function that should be used for this problem, it’s TeleportService:TeleportAsync, and it doesn’t return the required value for this to work. So the necessary property should be added to the return instance.
I’ve exhausted all the options to make this work. This is the only way to do it. This will be used for a live event where tens of thousands of people will be teleported so it needs to use the latest safety features to its fullest extent to make sure the experience goes as smooth as possible for all the players.