API For Teleporting A Group Of Players To An Existing Server

I’m working on an RPG right now and this means that the game will be composed of dozens of places all under the one game. This is great for keeping your world large and great for letting people meet new players. However, it kills the element of “play with friends” because you can’t stay with your friends when moving between games in the universe.

I could implement parties in a way such that they are playing in ReservedServers however they will now never get to meet any other players (which is, how you find people to join your party). So I would like to propose a new API that solves this problem!

game:GetService("TeleportService"):TeleportParty(int placeId, array<Player> players, Variant teleportData,    ScreenGui customLoadingScreen = nil)

The way this works on the backend is it iterates through servers until it finds one with #players space available. These players are then all teleported to that place. The teleportData is assigned as teleportData for all players in the list, same applies to the customLoadingScreen.

There could perhaps be in the future a way to obtain information about a specific server, as well as get a list of existing servers. However, I believe this API will prove most useful initially when it comes to keeping friends with their friends!

18 Likes

I can definitely see the use case for this. It’s worth adding though that there are still use cases for teleporting a group of players into a new server that’s still open to other players. A good example is a dungeon in an RPG. You might not know enough people to form a group, so you can often join another group a little while after they’ve started if one of their team drop out.

What I struggle with most is that we have too many types of servers that each have different teleport functions and different identifiers or none at all.

It would be great if we could fetch a global identifier for every type of server, be it private or VIP or public, and that we have a single set of API to allow us to teleport groups or single players to those servers using those global identifiers. If we try to do something illegal (like teleporting people to a VIP server they’re not invited to) then the teleport can just fail with an appropriate message.

We would then have a set of API like TeleportPlayerToPlace, TeleportPlayersToPlace, TeleportPlayerToServer, TeleportPlayersToServer, and we can do pretty much anything with that.

1 Like

I really need this and support