Could you store this information in DataStoreService using the PrivateServerId you get when creating it?
I’ve recently been thinking about how I’m going to set up servers for different regions in my game, and I really don’t want to need to publish to dozens of separate places every time I update.
I was thinking of doing this myself, but I think it kinda would be a bit much for servers possibly to just save, retrieve and then delete a bunch of keys repeatedly for each server that would be made.
This I’m still unsure of but I don’t want a significant slowdown in the lobbies performance after having to manage with creating a bunch of keys then shortly deleting it.
I’m assuming a big piece of the lack of security here is you are using a RemoteEvent or RemoteFunction to tell the server what the player’s TeleportSetting was.
Thankfully there’s a function that prevents doing that: Player | Roblox Creator Documentation
It can be called on the server. You’ll also want to use the data returned from that function to make sure that the place the player joined from was indeed the expected place in your game. This is so they can’t join from their own game using their own teleport data.
Sadly this doesn’t work with TeleportSettings, so you will have to use TeleportData instead.
Also, if your game is multiplayer, wait for a few players to arrive, then see which map you find the most in each player’s teleport data. If you teleported players as a group and one or a few players have different data from everyone else, not only do you still know the correct map (from the majority) you also know for a fact those outlier players are exploiting, and you can add them to your game’s ban list.
I currently haven’t setup any form of retrieving teleportData yet since I haven’t found a secure method to this yet, although your option does sounds the best out of any hackish attempts to obfuscate then unobfuscate the data.
Although thanks, I didn’t really think of doing it like that.