As a Roblox developer, it is currently too hard to update my game and phase out old servers without impacting players.
An old obby of mine recently gained a lot of traction, so I’ve begun fixing bugs and improving the game. During this process, I realized that because the game uses manual saving and loading, I can’t restart servers for an update without wiping hours of progress. Thankfully, the changes weren’t critical, so I decided to let the old servers gradually phase out.
Fast-forward eight hours, and three of the four servers were still outdated and still had dozens of players each. I resorted to manually joining each server, using the command line to post a message warning of the upcoming shutdown, and manually shutting down the servers. I’m going to have to do this again when I get around to adding an automatic shutdown warning.
When I publish an update to my game, the matchmaker shouldn’t keep putting players into old servers. The only way to join an old server should be to deliberately select it from the server browser or follow another user into it.
If Roblox is able to address this issue, it would improve my development experience because I’d be able to gradually roll out my updates for the best user experience.
I don’t think it would be that hard to implement this, at least on paper. Just check if a server is older than the current published version before putting people in there, and either flat avoiding any outdated servers that have been up for over X amount of time, or prioritising newer servers for new joins until the old ones naturally go quiet and shut down requiring new and updated servers to spin up.
There’s a reason we don’t filter out servers that are running outdated place versions during matchmaking. If we did, every time you published a new version you would be splitting apart your player base, which is disruptive. Something like that needs to be an explicit decision on your part
That said, I have good news that we are working on a feature to make it easier and less disruptive to phase out old servers. Stay tuned!
That should entirely be on the developers to deal with. The whole thing about optimizing the engine and letting devs optimize their games also applies here. If a dev makes an optimization mistake, that’s their mistake. If a developer improperly handles servers? Again, their mistake.
I’d rather players be on the latest version of my game and split, rather than them being “unified” on outdated versions that might have issues, or lack in content. And as a player? Trying to find up to date servers was already annoying in a lower playercount game. It sucks for the devs and it sucks for the players.