This is an absolutely amazing change that has been waited on for so long. Thank you!!
Any chance you guys plan to implement some core UI to inform users they’re being teleported to a new server, or will this remain as the developers’ responsibility using :BindToClose()?
This is an awesome feature but it’s clear there are still some kinks to be ironed out. Shut Down All Servers should stick around until everyone’s use case can be addressed.
I’d also like to suggest a soft shutdown with a delay. Developers can specify a delay before the servers begin to start shutting down. This is crucial for the user experience of many players. No player wants to be in a server with a 1-in-a-million event occurring that lasts, say, 5 minutes, all for them to be kicked out before the event ends.
game:OnVersionRestart(function(durationBeforeRestart)
--[[
developers can display an option like:
"This server is out of date and will shut down in 10 minutes. Please
leave and join a new server"
Additionally, there can be code that can infer if the game is not in
an unfavourable leave state, such as checking for any ongoing rare
events before automatically kicking the player out. The game will
also not activate any rare events during this kind of restart
]]
end
Awesome! So this feature shouldn’t interfere with any existing soft shutdowns?
I have custom code which will ‘reserve’ the CFrame of player’s characters while shutting down, so it’ll move their character to exactly where they were before to help minimize interruptions, especially useful for larger worlds where walking back can be tedious. This is done through teleport data, and I teleport players as a group on BindToClose.
Can we expect this behavior to remain, as long as we do it under the BindToClose function?
I have a simple resource where this is used, SoftShutdown2, and while I’m absolutely glad that this behavior is FINALLY here as the new default, I’d hope that for more complex customization to help get players back to what they were doing as fast as possible, they’ll still work as expected (aside from the bugginess with some soft shutdowns recently - can’t accurately reproduce these problems yet, but others have as reported here…?)
this is a good update for experiences but 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.
Pspspsps. I still experience those issues. I found out it’s likely HTTP Request problem as those messages follows after I disconnected and rejoin the game forcing me to exit again while everyone’s still moving in the background normally for any amount of time. Kudos an engineer will come across this unsolicited post and get the idea.
this still sucks if theres no way for the update to be out on all servers and current servers then the feature is useless. ur main goal wasnt mean to make it so updates are more easy to get on new servers and i mean u did but its really nothing special or big and the goal clearly wasnt met so it seems like ur just giving us the 2nd best option
to support this feature further imo i think we should be able to restore the game state and resume it on the new server to disturb the players the least we can, of course this should be done by developers but would be nice to have a specific feature that supports this
Is there a way to teleport players back to the position they were at before? If not a event that signifies that the server is closing for a migration would be great.
That’s awesome but I have to agree with everyone and ask to keep Shutdown All Servers until everything be more established and have most games ready for it.
And what about the data that we use with TeleportService? Are we going to have some feature to bring data from the old server to the updated one like we currently do?
Please do not remove the “Shut down All Servers” button. Privating and unprivating is not a very practical method of shutting down all servers, especially when there already is a button that does it for us.
While this change is good, I don’t see a reason to remove this option, especially if no greater option is coming to replace it.