48

In massively multiplayer games, the servers are routinely restarted, for example EVE Online performs "maintenance" daily, and World of Warcraft performs it weekly.

What goes on during it, and why is it necessary?

2
  • 34
    It's to give people that play MMO's obsessively a few hours to have a real life.
    – user8376
    Commented Apr 5, 2011 at 21:57
  • 3
    @Mark or a few hours to sleep
    – Xantec
    Commented Apr 6, 2011 at 3:35

3 Answers 3

22

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.

3
  • 5
    In regards to non-regular maintenance, FFXI actually does this really well. Emergency maintenance obviously happens when it happens, but regular maintenance is scheduled and announced weeks in advance. People generally are happy with it and not taken by surprise (unless they're totally oblivious), and the upside is that we only have a few hours of maintenance every 8-12 weeks or so!
    – Shinrai
    Commented Apr 5, 2011 at 17:40
  • I was about to make a comment on FFXI as well. There general is no weekly maintenance.
    – Zeno
    Commented Mar 23, 2012 at 19:53
  • FFXI has a smaller user base these days than does WoW, though. Less users means less data generated and less to purge.
    – Crowbeak
    Commented Oct 29, 2012 at 9:27
43

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.

2
  • Wouldn't backup be software point of view? Or maybe both if it involves setting up new HDs? After all data is software... I got confused :S Commented Apr 5, 2011 at 14:13
  • Hmz, backups are software, I was actually thinking of physically saving a disc or something, but I can see how it's still software in the end.
    – Khez
    Commented Apr 5, 2011 at 14:16
6

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .