I am creating a WW2 styled first person shooter. The game is split up into separate place id’s to allow users to play specific gamemodes. The problem this creates, though, is that I cannot use roblox’s built in group system. If I want to have users party up and join a game, I need to create it myself. For the most part this is done.
What is the most annoying part about this though, is actually getting the players to, as a group, move to a place instance.
Currently, I have each server instance report how many players are currently inside it, and what game-mode it is, to a master server. When the party wants to play, it searches through all the games and will send them one by one to that instance id. This is horrible, as I can’t actually verify all the players are together. Additionally, if there happens to be 0 available servers to fit the party, they cannot create a new server instance as that isn’t supported by the API.
I think roblox could benefit greatly from a feature where, in the TeleportService, you could teleport an array of players to a specific place id. If it cannot fit all the players, a new instance should be created.
Unfortunately, while that’s the type of functionality I want, that is only applicable to private servers. I would like for it to be a publicly available server, like any of the other normal teleport methods.
Since you are already keeping track of server instances, you could add server instances created by ReserveServer() to your system by storing the access code, so you could teleport anyone into them. It’s not ideal, but it’s the closest you get.
Support - I’m working on a project very similar to this with WWI style gameplay. I would be able to make great use of a feature like this in order to move a large amount of people from map-to-map. I’ll probably end up using a for loop, but this would be much more efficient.
This are my (and most people’s) two biggest issues with TeleportService right now:
Can’t teleport a group of people to the same server (except for ReservedServer, but eh)
Can’t teleport anyone to a VIP/Reserved server (except for ReservedServer with the code)
Basically I want this:
Function Tuple TeleportService:TeleportGroup(Objects players, int placeId, string instanceId = nil, string spawnName = , Variant teleportData, Instance customLoadingScreen = nil)
(instanceId is optional, in case you just want a group in the same server, but any server is fine)
On success, returns: true, actualInstanceId
Maybe an extra value 'sentPlayers' if someone's client failed mid-teleportation
(although this method should base its result on whether sending succeeded, not arriving)
On error, returns: false, errorMessage
(tbh if we're just gonna return one value on success, return type could be string and have real errors)
and that if you specify the instanceId/JobId, it won’t complain for Reserved/VIP servers.