"Deprecate" servers running previous versions of a game

It would be swell if after uploading a new version of a game, Roblox would cease adding new players to existing servers and instead create new servers for new players, thus allowing a server running an older version of the game to more rapidly die without necessarily kicking everyone out of the game by shutting down all servers.

  1. I fix a bug in Lava Tumble
  2. I upload that fix to Roblox
  3. From this point, Roblox places all new players into a server running the newest version of Lava Tumble
  4. Servers running previous version of Lava Tumble are left to die out as players leave servers. Thus, servers running older versions die off more quickly.

Ideally, updates to the game description (which change the Updated timestamp on the game page) and other changes unrelated to the actual source would not do this.

I see that a similar request was once made over two years ago, but this still isnā€™t a thing. Hopefully the state of Roblox is such that this popular idea is more readily addressed today than back then.

41 Likes

Excellent idea! Useful to everyone in general. Support.

This will be very very useful, and doesnā€™t inconvenience players by shutting down servers!

This was also suggested a while ago; http://devforum.roblox.com/t/add-an-option-to-let-old-game-version-die-out-naturally/22065/10

As good as it sounds, it has drawbacks to player experience when they are being left in collapsing servers.

This problem is best solved by keeping everything as is by default (cause many updates can be minor and donā€™t require refreshing at all) while allowing the developer to refresh all sessions from the site and automatically inform players that they are being ā€œteleportedā€ to the new version of the game.

2 Likes

The place isnā€™t going to update that often. When it does happen the amount of players will decrease in the server, and some people will feel lonely and leave. I think your implementation is better, but a bit trickier. Iā€™m happy if we get either (and itā€™s optional).

As long as its optional. I think we need a real shutdown() function. Using datastore and a simple StringValue/NumberValue to keep track of versions you can have more control over your servers. For example, sometimes I dont want older versions to die out artificially at all(minor updates). Sometimes I want that version to die now(maybe thereā€™s a serious currency exploit). On some updates, I want it to shutdown only if the round ended/barely started. I think thatā€™d be more useful than force deprecating servers based on version.

2 Likes

I want Roblox to implement some kind of server update protocol, where roblox tells the server that it wants to be updated, and then the server has to tell it when its allowed to update.
When its allowed to update, it will handle all of the game.OnClose protocol stuff, and then itā€™ll teleport the players to a new server.

Technically this could be implemented with a custom server distribution system, and ReserveServer

2 Likes
while true do 
    startGame()
    game.UpdateReady = false

    repeat wait() until GameOver;

    GameOver()
    game.UpdateReady = true
end

Every [insert interval] seconds, the server checks with ROBLOX to see if thereā€™s a newer version of the place. If there is, and UpdateReady is true, each player sees a default ā€œUpdating gameā€¦ā€ message while a new server is created. Then everyone in that existing server is teleported to the new updated server, with the same functionality as Teleport(). like nothing happened.

Probably asking for too much but I think it would be extremely beneficial to everyone; the players, developers, and ROBLOX themselves. Also it would be a massive step in the right direction towards being a ā€˜realā€™ game development platform.

It should definitely not be an automatic thing. I tend to periodically make small updates/modifications that I wouldnā€™t want to kill off all my servers for, like Alkan said. There should be a manual switch to trigger this kind of behavior.

x-posting;