After viewing a few updates to Grow a Garden, I noticed they never use soft shutdown. This made me wonder how they publish updates to servers without shutting down servers any time in the week. Is it AssetService?
I want to hear your thoughts on how this system might work because it would be beneficial in the future, so as not to overload Roblox’s servers in major frontpage games.
Yes, they do. A thought that I had was they schedule updates, but that would require a shutdown at some point to carry the assets from their [DEV] game to the main game.
Jandel is a billionaire with a billion dollar company so he could of implemented a bot at one point a few months ago that writes all the code in a command bar when he updates which will update the current servers. That’s my assumption, really crazy but I think he can do it and did.
He can insert parts with a command and position them at specific positions and upload meshes and set their id to a mesh he just uploaded, he can use the command bar as the script for everything. This would be near impossible to do so I am assuming if he did do it it would be very very very expensive and that’s why no other game did it.
I believe the game was purposely designed that way to essentially have “live” updates. Jailbreak did this many years ago, and most likely other games did as well. I’m assuming this is utilizing Events or packages
It could be possible if you use AssetService to load a model or package in game, and built your game in such a way that it can update itself using it
Each server would receive a message (with MessagingService, or Datastores/MemoryStores) to update a server. They would load up an “update” model with AssetService, which would contain everything needed to update the game (easiest way might be to put literally the whole game inside the model). The servers would take the contents of the model, and replace everything to update the game
That would be my guess at how it is done. However, it is not hard to imagine the drawbacks this would have. Some properties cannot be changed at runtime (such as MeshId, you need to clone the mesh), and things like terrain cannot be copy pasted. If the datastores are updated, then you’d have to replace them while players are still playing. You would also have to consider how to handle updating core parts of the game, while they might be storing state about this or that, which would have to be maintained (if you have a round based game, you could perform the update during the intermission)
It’s kind of insanity to do such a system, but I guess these studios are so big, they can afford it
My guess would be that updates are published with the new content disabled until the release date, when they are automatically enabled. The servers shut down/restart naturally from players leaving, and some time before the update outdated servers are restarted
I believe the game was purposely designed that way to essentially have “live” updates. Jailbreak did this many years ago, and most likely other games did as well. I’m assuming this is utilizing Events or packages
I’d say since its a cash cow game they work on update after update daily and just have something to change the flags on their servers and notify the servers when theyre supposed to release + pushing the update and pressing “shut down all servers” can cause a lot of issues