Making personal servers (servers where changes persist) in 2018?

I’ve been looking for a way to make persistent server changes on a Roblox server, so that the server can be reopened in the future under a server Id so that all changes made to that specific server are still there.

Say for example, a player places down a box, and you want to be able to save that box’s position so that when a player rejoins / reopens that specific server instance, the box they placed will be in the same position.

My first idea is an external server system that holds data for the position of items in the game.
However, this is a lot of work, so I’m hoping there would be some other way to do this with currently accessible Roblox methods.

I’ve been looking a bit into Reserved servers, not sure if they’re what I’m looking for, but I have been researching a bit. I’m not coming up with many options, so I’m asking here to see if you guys have any input on this.

Thanks.

7 Likes

You can use this to create unique places and save their state

https://wiki.roblox.com/index.php?title=Dynamic_place_creation_and_saving&redirect=no

I don’t know to what scale you intent this to be for but all you would really have to do is make some sort of serverlist and keep track of the created servers

2 Likes

Interesting.

First issue I see however, is if you want to update source code on the server or UI or whatever, you’d probably have to code something that imports all of these assets into the game on server startup. Doesn’t seem impossible, but might be a bit finicky.

You also might want to look into linked source scripts. I don’t know if they would exactly solve that problem but they might. Otherwise yeah, you might want to code everything in a module and import it when the server begins. I’m not too sure either way because I haven’t really gone that route before

This should be possible. Just remember to set Archivable to false on anything that gets imported so that it doesn’t persist in the next session of the game.

5 Likes

Damn, that’s smart. Finally Archivable has a use for me.

3 Likes

I’m tackling the exact same problem right now. Linked source scripts are the first step but how would you get other assets into the game?
For example, if I’ve made new additions to my GUIs and wanted to use them in the dynamically created place then would I save the GUIs as a model then use InsertService/LoadAsset?

I’m just writing a plugin to turn all my assets into a folder containing all the stuff, named accordingly to where they’re stored, publishing that as a model, then inserting it into the game with a script which distributes the assets into their respective holder based on the folder name.

3 Likes

Thanks! I never thought about writing a plugin to save/organize everything. Great idea that I’ll look into once I do the server initialization script

Quick overview of how I sorted it, for example.

image

3 Likes

Do you plan on integrating this with a loading screen that holds the player from spawning until everything can be imported?

It imported fast enough without a need for that. It doesn’t work on studio but works on a real server. Make sure to load scripts last.

1 Like