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!