Hoping this gets fixed ASAP. Don’t want my project to die
I’m using a sub-place in a game designated as a testing area. Me and 2 friends tried joining together in a 30-player server to do some playtesting, but no, we all got in our own server. This is quite literally keeping me from working on parts of my game.
So this happens on the client in a 30-server room (and reproduced with 2 players)? Good to know, we’re taking a look into this, will keep updated.
The same is happening to me. Exact same. This is what I was trying to say, Mine was a 50-server room. And reproduced with 3 players too. my 2 friends went in to a server together whilst I got my own. I joined about 10 minutes after them too when they inboxed me. @spotco
A quick response to all this:
- TeleportService:Teleport is not guaranteed to teleport users to the same game instance. There is no guaranteed server creation to discovery time as well.
What many developers do is use DataStore value checks to assure the players you want to be in the same room actually are. This may take some effort but will work.
-
We intended developers wanting this functionality to use TeleportService:TeleportToPrivateServer and TeleportService:TeleportToPlaceInstance.
-
TeleportService:TeleportToPrivateServer is currently broken right now, and we’re in the process of fixing it.
Anyone have any recent experience with TeleportService:TeleportToPlaceInstance?
I use TeleportToPlaceInstance in my universe for players to choose which server Instance they want to join of a certain place in the universe. I can say that I have had no problems with this function and works perfectly. If the Instance the player is trying to join is full, it won’t teleport the player, which is what I prefer it to do.
I’ve had this issue without even using Teleport. When Leates, ghostleader, Reinitialized, and myself were in the process of creating our April Fools ROBLOX voice chat “leak”, we would join essentially an empty baseplate (with only a small bit of clientside code to highlight a GUI icon when ‘/’ was pressed) using the Play button on the site and were sometimes sent to different servers. This is the place we were using, but it looks like Leates has updated it since.
You say there is no guaranteed server creation to discovery time, but I’ve never experienced this issue until recently. Regarding joining from Play on the site, it’d be great if this could be fixed to where it never happened, and regarding Teleport, it’d be great if there was a batch teleport where we could teleport multiple players at once, sending them to an existing server (aside from the current one) if there was one with enough room, or a new one if there wasn’t one with enough room.
Yeah, technically we can use DataStore checks and teleport them to the saved instance, but that’s pretty hacky and ugly since we have to 1) wait for one player to teleport into a different server (which may fail if they disconnect), 2) in the new server, wait for the client to replicate to the server that the instanceId needs to be saved in the datastore under the player who just joined (which may take even more time if there aren’t enough datastore requests), 3) either wait for OnUpdate to fire in the other server (which sometimes doesn’t even fire) or repeatedly waste datastore requests to check if the teleported player’s instanceId has been saved yet, and 4) finally teleport everyone into that server and hope that there’s enough space for all of them. Even if there is enough room, the players in the party that didn’t initially get teleported will have to wait a noticeable amount of time (maybe 30 seconds) to even teleport to the server the first person in their party was teleported to.
We can also use private servers once they’re fixed, but even when they’re fixed they might not be a viable option. Players can’t automatically join private servers, so if you just want to teleport a part of players to a new server with enough space for all of them (e.g. they warp from City A to City B and you want them to all teleport to the same server that has enough space for all of them), private servers would technically work but gameplay would get dull without any other players. We could do custom matchmaking with datastores, but that’s over-the-top for just wanting to ensure there’s enough space for a party of players in the server they’re getting teleported to, similar to how CreatePlaceAsync creating an entire place when we only wanted a server was over-the-top.
It’d be really nice if we could batch teleport players, since neither TeleportToPlaceInstance (potentially not enough room in server + wait period for rest of party to teleport) nor TeleportToPrivateServer (no new players can join) really solve that need to teleport a party of players into a different server.
We plan to add teleporting a group to a non-private server in the future.
Yes but we are talking about one person joining after the others and there being 2 servers created. This wasn’t an issue last year and has only cropped up recently. So something must have changed and it’s very bad. We shouldn’t have to add in extra lines of code to ensure that people will join servers correctly… Just sayin’.
This seems to happen when lots are being loaded in, keeping the player instance from spawning until it’s loaded.
This doesn’t seem to happen on an empty baseplate, but it happens on a world with lots of smooth terrain. Can anyone else confirm?
My game using smooth terrain to and it is indeed happening.
Is this the same issue? The Mystery Shack uses smooth terrain, but at the time of that post it was a single-place game.
It happened when Leates, myself, and some other people were testing something on an empty baseplate (see my above post for more info)
So. Is there a fix issued for this or what? It’s stopping me from releasing my game
This is pretty game-breaking lol… @spotco I mean the amount of threads that have popped up over the past few weeks. lol.
See my post above.
If you’re expecting all players to be in the same room, don’t use Teleport or use DataStore.
This issue extends way beyond teleporting. Joining from the site often reproduces the exact same issue.
But why should we have to? This is a BUG. Not a feature. Or am I wrong?
If you are using the instance-based teleport functions (rather than the ones based solely on place ids) to teleport players, they should end up in the same instance. He’s saying that you shouldn’t assume that they will end up in the same instance if you just teleport all players individually to a particular place when you use “Teleport” rather than e.g. “TeleportToPlaceInstance”.
This is a web BUG. When I’m teleporting and there’s an already open server that isn’t full that’s been running for a while - it shouldn’t send me to an entirely new one.
This was not always the behaviour. Something was changed a month or two ago that lead to this irritating behaviour. This is why so many threads have popped up recently about it.
This is a duplicate of more recently relevant threads