Downtime for server maintenance

Hello, genuine question, not just moaning - why is downtime required for server maintenance? I would have expected a brand new game in 2021, with the backing of Microsoft (who run Azure, 1 of the 3 major cloud platforms) to have a backend which can be deployed to/patched/maintained without the need for downtime. Is there any reason for this I’m missing?

Obviously, a game server is more difficult to achieve this compared with a stateless web service, but this is standard practice today, especially with the technologies/tools/patterns available.

Oh, and why are these periods always at ridiculous times (peak playing time for those in europe, and slap bang in the middle of the day for US).

Rant over, sorry.

Thanks, but I understand that there are release notes. My point is why is there downtime at all, it is perfectly possible/normal to deploy changes to an application without having downtime.

I don’t know I’m not technically minded but a lot of multiplayer games do this. FFXIV, WOW, all the AOE games, Fortnite. Pretty much every multiplayer game.

That would be possible with database applications, but everything else gets too difficult if you want to ensure that everything updates and restarts smoothly.

I agree, it’s certainly much simpler with applications which don’t store state directly (i.e. those which use databases), but it’s relatively straightforward with stateful applications too, such as a game server.
Certainly for games which the games are of finite length, such as AOE, the servers with active games running can be left on the old version, whilst any new games are only started on servers with the new version of the application. Once all the games on any of the servers with old application are finished, they are stopped.
Also agreed, that for games which “don’t stop”, such as MMORPG’s, it becomes much harder.

1 Like

It’s much the same as connection draining in blue-green deployments, except the connections are much more long lived (i.e. the length of a game)

Yes upgrading one batch first and then the other is possible as well, depends how they designed the hosting framework. If we assume that every matchmaking server for each region is in use currently, it would be easier to just shut them off. It also spares the IT guy some time when he doesn‘t need to wait for everyone to finish :stuck_out_tongue:

ah, but that assume it is manually being deployed :smiley: - if it is automated (i.e. CI/CD) that isn’t an issue at all, and actually supports being able to ship more frequent, smaller, updates without users ever needing to know! This is common practice today.

Anyway, I concede that the developers probably have limited budget and choose to focus their time and attention where there is more value. But it would be nice :D.

Just in case any devs are reading - I love the game, keep up the good work.


They’re not taking the servers down to deploy a new build. There are no release notes. They are doing server maintenance, i.e. re-initializing stateful parts of their infrastructure so that things like player session metadata, client connection pools, and database sessions can be cleared.

You can definitely automate this stuff, and many people do, but with an application like a game, that has many resource intensive, long-running sessions running concurrently, and geographically distributed to boot… the problem becomes massively complex, and extremely expensive to solve.

I can’t fault them for declining to invest here, but the timing of the maintenance window could probably be better.

1 Like