What is the purpose of MMO "maintenance"?

All MMO's have massive amounts of data in databases or caches. They can either purge very old data, cache old data, optimize new data, make backups.

And this is just from a software point of view. From a hardware point of view they can make update server hardware, perform defragmentation, etc.

Check this link for futher reading.


It's also a question of cost and predictability.

MMOs are relatively low stakes, and tolerant of downtime (particularly with region specific downtime windows). Google gets heavy traffic 24/7, but a MMO like WOW will fluctuate massively throughout the week. The impact of brining down servers during those valleys of usage is disproportionately lower than it is in other businesses with more regular activity periods.

By implementing regularly scheduled maintenance windows they also gain predictability. I would hazard a guess that, if they wanted to, 90+% of what happens in regular maintenance could be moved concurrently. They might still have some downtime windows occasionally for big things (replacing core network infrastructure, upgrading major patches, etc).

However there are some trade offs. They would still need occasional maintenance windows (when do you schedule them? Would people be more upset by occasional random maintenance windows than a predictable, consistent one?) Would the systems be much more complex? Would it be much more costly to add new features, innovate and maintain?

Also think about the nature of the servers in an MMO vs other online games like Starcraft 2. In Starcraft 2 the games are pretty much happening between two players. The servers have to coordinate the games, but there's a lot more fault tolerance and less need for global synchronization. Starcraft seems much more like a tradiontal website architecture than WOW, which is a more unified system. In WOW everyone needs to be in instant lockstep.

Basically the short answer is that there are dozens of reasons that a maintenance window can be used for, and the reasons for not doing one with an MMO specifically are pretty slim. The whole MMO software system can be much simpler and more predictable if they schedule and use a regular maintenance window, giving you a better game cheaper.


They may need to deploy updates to binaries on the server software that are transparent to the clients. This generally requires a complete application restart, and a window to test and repair any issues that might come as a result of that deployment. They may need to rebuild indexes and update statistics in the database engine to improve performance.

Tags:

Terminology