World Servers

Many players think of “World of Warcraft” servers in terms of world servers, or realms. These are essentially complete, self-contained copies of the game world named after people and places in Warcraft lore. There are about 200 realms in North America and other realms in different parts of the world. Playing the game on servers not owned by Blizzard or one of the companies that hosts official servers in Asia is a violation of the terms of use.
The realms come in three primary types:
Normal, or player versus environment (PvE)
Player versus player (PvP)
Role playing (RP) — there are also role-playing PvP servers
You can make characters on lots of different servers, but characters can’t communicate across servers unless they’re in the same player versus player (PvP) battleground.
A world server isn’t a single server, though — it’s a collection of servers. As of 2006, Blizzard had about 9,000 servers around the world [source: Vivendi].
When you log on to your “World of Warcraft” account, you do so using an authentication server. This server verifies your name and password before transferring you to the realm on which you last played. Exactly which portion of the server you access depends on where you logged out of the game. Blizzard hasn’t disclosed the exact architecture of its world servers, but based on the game’s behavior, several server divisions are clear.
Each of the world’s three continents — Kalimdor, the Eastern Kingdoms and Outland — has its own servers. There’s also a separate server for instances, or the game’s dungeons. When a group enters an instance, the game spawns a copy of that dungeon for the group. Other groups and players can’t enter it. A database server, or a database function running within the servers, provides information on the locations and respawn time all of the items players can loot (pick up) or otherwise interact with in the game world, including:
Non-player characters (NPCs)
Mobs
Chests
Herbs and mining nodes
Ships and zeppelins
Quest items
These items persist across all the servers that make up the realm. Some chat channels, like group and guild chat, are also accessible no matter where you are in the game world. Others, like general cannels for specific regions within the game, are accessible only when you’re in that particular zone.
Everything about your particular character, including the quests you’ve completed, your level and all your gear, is stored in a database that’s tied to your “World of Warcraft” account. You can log in from any computer that is running the game and find your character exactly the way you left it. This database can also interface with a Web server, allowing you to do things like look at other players’ gear and your own at the “World of Warcraft” armory. You can also pay a small fee and have your character moved from one server to another — Blizzard adjusts its database accordingly. 

World of Warcraft Addons and Mods

“World of Warcraft” has lots of ways for you to customize your game. You can access lots of settings through your interface options. These options let you change how your camera moves, which features your game displays and how you use your mouse to target yourself or enemies. Your video options lets you change the level of detail in the game world, which can help compensate for a slow processor or limited graphics abilities.
But suppose you want to completely change the way your party’s health and mana bars look when you’re in a group or see how much money you have without opening your backpack. The WoW interface options can’t handle these requests — but third-party addons can.
Addons are downloadable additions to “World of Warcraft” that players create. You can find addons at sites like Curse, WowAce and WowInterface. Here are some popular addons and what they do:
Omen is a threat meter. “World of Warcraft” mobs attack group members based on how threatening they are. Tanks, who can absorb a lot of damage, need to have the highest threat level in a group. Omen shows players how much threat they’re generating relative to the other group members who have the addon installed. Another threat meter is KLH ThreatMeter. The game interface gives players some information about their threat levels as well.
Auctioneer keeps track of prices at the in-game auction house. It suggests prices for items you want to sell and helps you figure out whether items you hope to buy are listed at a reasonable price.
Atlas displays maps of dungeons and flight paths, which aren’t included in the standard game.
Addons are created using the Lua scripting language. When you download them, they look like folders full of files. Some files are LUA format, while others are extensible markup language (XML) or table of contents (TOC) files. To install the addon, you simply move its entire folder to the correct location on your computer. These are the default locations:
Mac: /Mac HD/Applications/World of Warcraft/Interface/AddOns
PC: c:program filesWorld of WarcraftInterfaceAddOns
This makes the addon a part of your game’s file structure, which changes how the game operates. You can also download programs that will update your addons for you.
There are a few things to keep in mind if you’re using addons:
Blizzard doesn’t provide technical support for addons. If you have technical issues with the game, the first instruction you’ll receive from technical support will probably be to disable your addons.
Addons can carry malicious software, like key loggers that capture your username and password, to your computer. Keep your virus protection software up to date, and scan your computer regularly. If an addon tries to force you to install an executable file, don’t use it.
Your addons may break every time there’s a major update to “World of Warcraft.” You’ll need to download new ones.
The people who create addons are basically volunteers. Although many take their work very seriously, they’re under no obligation to fix bugs or to update their files. 

The Game Client: A Play-by-play

Let’s examine the image below as an example of how the “World of Warcraft” game client works. In it, a shaman named Yellowbell is collecting a stone for a quest, but she’s caught the attention of a goblin, which is on his way to attack her. Here’s what’s happening from a client perspective:
After pulling data from the archives stored on the computer’s hard drive, the client creates a representation of Yellowbell’s surroundings.
The client informs the server of Yellowbell’s position and receives information about stationary and mobile objects, or mobs, around her. A mob is essentially any wandering object in the world, but it’s most often used to describe attackable enemies.
When Yellowbell tries to pick up the stone, the client tells the server what she’s doing. It also displays a status bar, showing the player how long it will take for Yellowbell to retrieve the stone.
The client receives information about the goblin’s attack from the server. It interrupts Yellowbell’s stone collection when the goblin hits her. The client sends information to the server about how Yellowbell defends herself, and it receives information about the goblin’s actions and the progression of the fight.
Once Yellowbell kills the goblin and finishes collecting the stone, the client stops displaying it on the ground and instead displays an icon representing it in Yellowbell’s inventory. It informs the server that Yellowbell has collected the stone, so other players will no longer see it in the game world.
These are just the highlights. The client constantly accesses or receives information about the game world and the characters in it. The more other characters there are nearby, the more work the server has to do. This is why some players’ games can slow to a crawl in highly populated areas — the computer’s CPU and video processor can’t keep up with all the information they need to display. In some cases, the frame rate, measured in frames per second (FPS), can drop dramatically, causing players to see the world as a series of still pictures rather than a moving scene.
The client also stores information about your character and your in-game options in the WTF folder on your hard drive. Files in this folder are usually in one of three formats:
Text (TXT) files
WTF files, which can be opened and read with a text reader (like TextEdit on a Mac or Notepad on a PC)
LUA and LUA.BAK files, which come from the Lua programming language.