So you know how you can create private servers with TeleportService:ReserveServer()? Well I would like to know if it’s possible to edit the workspace or anything in that server specifically. Like changing the value of BoolValue for example
ReserveServer just returns the code needed to access it, and I couldn’t find something that allowed you to just “peek” at the server and edit something in it.
If you want an idea of what I want to accomplish, see Adventure Story where once you enter a dungeon, you enter an entirely different (and presumably reserved) server with the same game mechanics and stuff intact, but with a different map and such for the dungeon level to play out
I want to avoid the brute force method of copy/pasting all the scripts and assets into another place
Although some developers will opt to create “a master program which can act as both a server selection and a host, and upon joining the game is told a default and this default is manipulated first hand” this is a very atypical way of handling the server-server transfer.
In a normal sense, what you basically want is a different place entirely held within the same universe. This is why the :ReserveServer() has an argument of “placeid” - you can then use the internal Roblox universe system to define a place in particular, and you can then have each place behave in its own way. Datastores are shared across places additionally, so data can be read accordingly.
I thought of that too, but like I said before, I want to avoid creating multiple places. The reason for this is because I plan on having a lot of these alternate “minigame” places and creating a new place for each one can and will become really tedious. Even with that, there’s a few other problems that come out of that (like main game and test game stuff).
You could use MessagingService and communicate with that server by having a certain value maybe like MeantFor being set to the PrivateServerId (ReserveServer returns the AccessCode, and the PrivateServerId), and listen to it in the same script and checking if that MeantFor value is the same as the PrivateServerId property in the DataModel, and maybe have other things like information from the main server that you can pass over to it like the map or other stuff.