What the heck is up with PBS saving

I was under the assumption that PBSes auto-saved once every 30 minutes, but now I’ve found that my PBS hasn’t saved in over 40 minutes. I’ve lost a lot of data in the process. Can someone please tell me what is going on with PBSes, if the auto-save interval has been lengthened, if it’s just server-side lag, or what? :?

According to people in this thread, PBS saving is broken and there’s no way to fix it except with a hacky workaround using the create/save place API.

Personal servers have been broken for weeks now, and we haven’t gotten any updates about them. I’m not sure if ROBLOX is getting rid of them, or if they are just being ignored. This is the second time this has happened in the last few months.

Personal servers were created before the actual Save Place API, so they’re outdated. They save based on whether the object ‘PSVariable’ is in Workspace. It’s a simple StringValue which can be removed by any script. Once it’s removed, the game will no longer save until it’s a new server.

At this point, they can either be fixed or removed from existence. However, if they were to be fixed, the entire system should be revamped in my opinion.

My guess is PBSs are going to be deprecated. The build tools are old (+1 year) and not FE and are very limited. It would not be hard for me to get on an alt and make a PBS thing using :CreatePlaceInInventoryAsync() :slight_smile: (Or do it on my main, never tested what happens as for friends with feeds and CreatePlace)

I remember the auto-saving working a few times for me this week, although I had to stick around in the PBS for long periods of time. So either stick around in the game for hours until it decides to save, or do some hacky API method? How exactly would I go about executing the API method?

Tools aren’t a problem for us; we have everything we need. The only issue is unreliable saving.

You would need to create a place, then use :CreatePlace(), then set it up with a script with :SavePlace().

You would need to create a place, then use :CreatePlace(), then set it up with a script with :SavePlace().[/quote]

So I can’t do that with a currently existing place?

So I can’t do that with a currently existing place?[/quote]
Unfortunately that is correct.

So I can’t do that with a currently existing place?[/quote]
Unfortunately that is correct.[/quote]

I’m not sure how I would arrange the script for saving the place though. I have a rough understanding of scripting…

[spoiler]game:CreatePlace()

while true do
wait(300)
game:SavePlace()
end[/spoiler]
Am I close?

So I can’t do that with a currently existing place?[/quote]
Unfortunately that is correct.[/quote]

I’m not sure how I would arrange the script for saving the place though. I have a rough understanding of scripting…

[spoiler]game:CreatePlace()

while true do
wait(300)
game:SavePlace()
end[/spoiler]
Am I close?[/quote]
No. :stuck_out_tongue:
For creating places, you use this:

newPlaceId = game:GetService(“AssetService”):CreatePlaceAsync("Place Name", IdOfPlaceToCopy)

You would then use a teleporter to teleport people to the ID of the new place (I suggest that code is run in the F9 Console, only execute it once)
And for saving, go the new place, and use a script like this:

while true do
wait(6)
game:GetService(“AssetService”):SavePlaceAsync()
end

The wait can be anything higher than 6, but below and it causes request errors. Those are the basics, more can be found here: http://wiki.roblox.com/index.php?title=Dynamic_place_creation_and_saving

[quote]
For creating places, you use this:

newPlaceId = game:GetService(“AssetService”):CreatePlaceAsync("Place Name", IdOfPlaceToCopy)

You would then use a teleporter to teleport people to the ID of the new place (I suggest that code is run in the F9 Console, only execute it once)
And for saving, go the new place, and use a script like this:

while true do
wait(6)
game:GetService(“AssetService”):SavePlaceAsync()
end

The wait can be anything higher than 6, but below and it causes request errors. Those are the basics, more can be found here: http://wiki.roblox.com/index.php?title=Dynamic_place_creation_and_saving [/quote]

So “IdOfPlaceToCopy” is the ID of the original, outdated PBS, or is it the ID of the place itself?

Any place you want that you own. The place does need a setting turned on in permissions in configuration.

Oh, hell yeah! I figured it out! Thanks so much!

You can’t SavePlace() a start place?

Correct. Er, that is what I remember at least.

Edit: [quote]SavePlaceAsync()

Saves the state of the current place. This only works for places created with CreatePlaceAsync() and CreatePlaceInPlayerInventoryAsync().
[/quote]

How do I update the created place in studio? It won’t let me.

You can’t – you can only save them in-game with :SavePlace(). That’s the major weakness of them. If you want to insert your current place, save it as a private model and then use InsertService to insert it into the created place and then save it.

Although, I kind of wish Personal Servers would stop saving completely already because I want to use them for access control (controlling who can even get into the place, whether it be a group, a specific person, etc) and don’t want them saving randomly when I go to test the place. If ROBLOX isn’t going to fix them, they should at least turn the saving off completely so they can be used for something useful.

Is it possible for me to create another place using the same universe and use that as an updated version?