View Full Forums : Engineering Everquest


Stormhaven
07-20-2005, 11:44 AM
Pretty interesting article:

<a href="http://www.spectrum.ieee.org/WEBONLY/publicfeature/jul05/0705eq.html">Engineering Everquest</a>

"YOU'RE ABOUT TO GO into the Death Star," Joffe says. A balding, goateed guy with narrow, rectangular glasses, Joffe places his palm in a biometric scanner in the first-floor lobby of a building near Sony Online Entertainment's main offices, and a gray door unlocks noiselessly.

The Death Star is a huge, warm, windowless room containing the rows and rows of servers that run Sony's online games. The whooshing of a massive air-conditioning system is so loud that conversation is almost impossible. A large steel cage surrounds more than 500 servers stacked 32 high in towering racks—and this is just one battalion, albeit the largest, in Sony's 1500-machine army of servers.

At any given time, Sony is hosting 150 000 gamers

Other than the graphics and sound, which are loaded directly onto the players' machines from CD-ROMs when EverQuest is installed, everything else needed to run the game—including the players' characters—is stored on these machines. Sony calls them "world servers."

It's more than just a catchy name. Remember that to prevent overcrowding, EverQuest is divided into dozens of parallel worlds. The worlds are reflected in the server farm as interconnected combinations, or clusters, of servers; the cluster size is based on how many users Sony expects to support simultaneously. In other words, each world is a cluster consisting of between 20 and 30 dual-processor computers. And within the clusters, individual processors are devoted to producing different pieces of geography—a town, a forest, a labyrinthine castle—in those worlds.

When a player logs on to the game, the program, or client, being used connects to servers in the cluster the character was last playing in. Those servers then download data describing everything—the alter egos, locations, weapons, and other characteristics of other players who are logged on, plus all the relevant monsters and weapons nearby. A full EverQuest install, which requires six CD-ROMs, weighs in at about 3 gigabytes. To log on, players must have the latest version of the software, which is updated through downloadable patches every two to four weeks.

When the patch is large—say, 25 or 30 megabytes—play stops and Sony takes the servers down for as long as several hours (but usually less than 30 minutes). During that time, Sony updates the code on the servers and sends the new software to the players. The patches are not merely fixes to problems. They can be brand-new content—a new city, dungeon, or continent to explore.

Each world can support about 2500 players at a time, although it can store data on up to 10 000. When EverQuest launched in 1999, there were just 12 worlds supporting 100 000 players. Last year there were 52 supporting half a million.