Hi. Noob question here, but I’m simply wondering what is good practice when it comes to updating a game when it has people playing it.
Are you really just supposed to shut down all of the players’ servers without notice for an update or is there a better alternative that I don’t know of?
Can you show an example of how that should look? And would it be possible to do it on the developer console?
Additionally, if the update does not need to be immediate, is it feasible to just publish the game from Studio and just wait for it to update overtime?
You kind of answered your own question. It depends on the severity on an update. If it is not a hyped up update and just has minor improvements, stuff like that, you could just publish it and wait for it over time, however servers in huge games can stay alive for a ton of time.
If you need to hard-publish a game, I would make a system that gives them a 1-5 minute warning big on their screen, depending on your game. I would recommend putting a non-invasive countdown after the warning over their screen disappears. Then, after that countdown, it would teleport all players to another game in the universe. Then, all the servers should be drained & you can send them back after about 10 seconds. This is what a ton of games do.
Note that you might want to add other things to this strategy that I did not go over, such as players joining as it is TPing them out, you might want to kick them.
You should on’y shutdown the servers if it’s an extreme game breaking bug. Servers naturally die off and latest version servers open up and take their place.
For even better practice, have a ‘Testing Site’ version of your game. This way you and a few select testers can make sure the game doesn’t have one of those game breaking bugs before you publish the update.
Also like @dxwsxn said, there’s soft shutdown scripts but those shouldn’t be used especially with big games, there’s bound to be issues with TeleportService.