Automatically reconnect to experiences during updates

Is there plans on potential APIs to hook into this? as a dev i often wish to notify my players a shutdown is about to happen for whatever reason. Next to this im kind of on the fence of utilizing it. I personally prefer a more sandbox approach where we, as developers, can determine our own timeframe for shutdown, announcement type, etc.

Really hope either an open cloud API comes available with desired parameters or an in game one to hook into providing the time until shutdown at the very least.

22 Likes

Awesome update! Would there ever be an option in the future for us to send players to a specific sub place in the same universe and keep them there until the new updated server is up? We have our own game updating system that teleported each server to a special “game is updating” place for a bit until the new updated server was ready.

3 Likes

Ditto. I’d like to be able to pass along TeleportData with this as well, so for example when the players reconnect they can be placed at the Positions they left off at.

10 Likes

If there’s something this severe occurring, you can make the game private and then public once you’ve deployed a fix. This will immediately boot everyone out and reduce frequency of the problem until it’s resolved.

4 Likes

exactly, imagine if there was a big issue with the games datastore and we had to make sure all players data was safe by shutting down the servers.

3 Likes

@tareyza could you add a video of this in action to the OP?

I assume it wouldn’t have any UI involved like in the example @TheReal4Cedar123 showed in this thread. And, on that note, maybe Roblox could better communicate about an updating server like the UI in the example does. Or, I guess the question would be about the soft-shutdown systems people have been using: are they impacted by this change? If so, how?

2 Likes

This is amazing! Just wondering if this will change BindToClose or how this will reflect on it!

2 Likes

Roblox staff saved the day from data loss in the soft shutdown scripts :wink:

2 Likes

Totally understand the concern with potential serious data issues potentially occurring and will second Chasing’s comment here - making the experience private kicks players out just as quickly and has the added benefit of keeping new players from joining that “shut down all servers” does not do.

6 Likes

Will BindToClose still keep the server open until execution has finished?

3 Likes

Removing “Shutdown All Servers” is a terrible idea. I don’t understand Roblox’s drive to take this control away from devs.

Trust me - we don’t want to shutdown our servers either. We do it as little as possible. But removing the option and telling us to use a hacky workaround is just intentionally torpedoing developers.

Not to mention, our games use dozens of subplaces. We don’t update each of these at the same time (or at all), but we need them to shutdown together. If roblox ever makes packages “auto-update”, this will not be compatible either.

Please stop trying to kill bigger games by restricting the tools and features we have available.

32 Likes

IIRC setting a place to be private also cancels private server subscriptions. Will Roblox be giving us any recourse to our subscriptions if we had to go down this path? (Or is this even still a thing? I don’t have the nerve to attempt to make our live games private to find out)

18 Likes

Thanks so much for this in specific. Any soft-shutdown method in games I worked on received backlash for pulling people out of their private servers.

4 Likes

We are forced to use the “Shutdown All Servers” option because we don’t technically update all our 12 places on our game when we update. We use InsertService to add our place files when the server first initialises, and update that one model instead.

Puslishing all 12 places in a game individually is time consuming and high friction, so using InsertService was a great way reduce that labour. However, “Restart Servers For Updates” doesn’t count these places as being behind the latest version, so we’re forced to use Shutdown All Servers and use a 3rd Party Soft Shutdown script.

Please, do not take away Shutdown all Servers until there is a system in-place to account for restarting all game instances, regardless of current version. This will dramatically worsen our own ability to perform Live-Ops on our games.

Link to Game: 🐲Dragon Adventures 🐉 Fantasy Pets ✨ - Roblox

17 Likes

soft shutdown service wont be needed anymore im guessing

2 Likes

Is there any chance to be able to modify some sort of callback relating to this (like MarketplaceService.ProcessReceipt? I can imagine that in many round based games, it would be ideal to let the round come to its conclusion and then teleport players.

Some callback function logic might ideally function like?:

game.UpdateReceived = function()
    --// Assume this is code that executes/can yield before players are automatically teleported

    local MatchService = require(SomeModule)

    MatchService.CurrentRoundEnded:Wait() --// Yield until the round is over

    print("Round over!  Ready to teleport") --// Callback complete, players are teleported
end
12 Likes

This is great! Is there any plans to make it so servers can wait for a round to end before sending the players to the new server?

2 Likes

Can we get a way to stop this from happening in specific situations? I would like to create new servers and teleport players manually with a script if they are in reserved servers, instead of being thrown into a public server as mentioned in the post.

Overall great update though, no need for soft shutdown scripts anymore!

4 Likes

this is great, but it still seems like shutdown scripts might still be the way to go… based on the announcement, it seems like this lacks a ton of needed customization…

4 Likes

This is really useful, after restarting my servers, there was a significant drop in ccu and it took a bit of time to restablise. It would be cool if you could restart for update with optional options, lets say restart server and teleport players to the position or something along that where they left off. Maybe you could also send a optional broadcast message, and maybe with a timer, were it will announce that servers will restart for update “New cosmetics” or something along that and give players a timer to prepare for restart.

2 Likes