Persistent Servers?

I’m wracking my brain about this but I have no clue how it’s done but I’ve seen it done. Does anyone have any idea on how you could achieve servers that save their current state? Solter the scripter of Dust does it here.

This depends what you need to save about the current state of the server. Are these server’s going to be client-dependent - Will they be solo servers where you just want to save the state so that the next time the same player joins their progress will be reloaded? (This could also be applied to a group of players). What else do you mean by saving the state? What are the properties that can be changed? For example, consider the actions a player can take that alter the “current” state of the server, and consider how you would log and save those differences.

This is totally beyond my knowledge, but this Asset Service API looks interesting:

AssetService:CreatePlaceInPlayerInventoryAsync()

AssetService:SavePlaceAsync()

I just found that too, I also found another article on it but it doesn’t disclose that much information on the topic at hand. https://devforum.roblox.com/t/making-personal-servers-servers-where-changes-persist-in-2018/162857/10

This is probably the implementation based on my understanding:

  1. AssetService:CreatePlaceInPlayerInventoryAsync() - Create the personal server and returns the place id for that created server.

  2. Save to Datastore.

  3. AssetService:GetGamePlacesAsync() - Get list of places’ details within the game/universe

  4. Use teleport service API to teleport to place.

  5. AssetService:SavePlaceAsync()

  6. Teleport back to hub

1 Like