When we make an update to our game, we can do one of two things: do nothing or shut down all servers. Doing nothing is a bad choice because you can have buggy old versions still up and running, which means bad user experience, and bug reports for issues you've already fixed days later. Shutting down all servers will result in far worse issues though:
- Breaking up the players in existing servers and making them play with other people
- Some players may not rejoin when the server is shut down
- Making players rejoin in the first place is a bad experience
- Substantial amounts of players rejoining at once can lead to DataStore throttling
ROBLOX does not currently allow effective implementation of new updates to games that are actively being played. To resolve this, I suggest that old servers are phased out when new versions are available. Players will not be matchmade into or be able to join servers with old versions, and old versions will eventually and peacefully die out. Of course, if it's a critical update, a developer can still manually shut down all servers, but phasing out old servers will take care of all other cases.
ROBLOX already does this with its own versioning -- you can't join a server on an old version, but those who are playing in it aren't booted (this is why you don't see the front page reboot whenever there's an update), and I think it'd be a nice addition if this happened with game versions as well.