ZDKP: Cataclysm, Behind the Scenes

While I have retired from regular gameplay in 2008, I still manage the technical systems of <Goon Squad>, one of the top three World of Warcraft Mega-Guilds (1000+ members) in the US. The Cataclysm expansion set changes how guilds work in the game and has resulted in some interesting software challenges to successfully manage them.

Some History

Historically guild management systems built into the game have allowed unlimited members but would stop functioning usefully after 500 characters. As such, Goon Squad, and other mega-guilds have had to develop out of game workarounds to manage and organize large numbers of players. ZDKP was built originally in 2006 for the first expansion set to unify the hodge podge of different systems used during the classic game. More on its history is available

The Cataclysm expansion brought new challenges to the mega-guilds of Warcraft. Starting early in November, guild size was capped at 600 characters in preparation for an expansion of the role of guilds in the game beyond a shared chat channel and guild bank. Now guild members would be able to work to improve the guild itself, with cooperation between guild members producing additional resources and exclusive rewards not available to lower ranked guilds. After a few weeks of gathering feedback, Blizzard raised the cap to 1000 characters, still well below <Goon Squad>'s roster at the time of about 4000 characters.

ZDKP: Cataclysm

Goon Squad has had many tough decisions to make as a part of this, the final conclusion being that it had to split into a network of smaller guilds. ZDKP has been significantly reworked in order to provide the administrative structure for a handful of guild leaders to organize and maintain a coherent community split across five networked guilds. What is new?

Character Management

ZDKP Character Manager

The largest changes in ZDKP has been the expansion of the character management system. Previously, ZDKP stored only characters who used the event signup system and only as a convenience cache so that players did not have to re-enter character information for every event.

The character management system now keeps track of all characters of all players in all guilds. This includes basic character management (claim new character, release character, character name changes, transferring characters to another player) as well as some additional character metadata, including play frequency and what guild they are assigned to.

Play frequency is used to filter and hide characters in lists in other areas of the system, for example, so you don't have to wade through all of your bank alts and characters you never play whenever you sign up for an event.

In order to allow players to get new characters into their chosen network guild quickly, without waiting for admin approval, ZDKP allows admins to define sets of rules for each network guild (in particular, limiting the number of characters in a certain guild by player account group) that are shown to users and automatically considered when allowing users to assign their characters to guilds.

Guild Invites

The guild invite tool has been enhanced to confirm not only that a character is cleared for an invite, but which specific guild the character should be invited to. Volunteer inviters need only plug in the character's name for quick confirmation that the invite is authorized. An invite takes a negligible amount of time away from the game. In addition, one of our Lua coders has built an in-game invite authorization checker that uses a data feed from the central database.

For player convenience, lists of potential inviters to look for are now automatically generated from the character database by looking up which characters have the volunteer inviter rank in the guild they want an invite to.

Event Signups

The signup system was the most well developed part of ZDKP prior to Cataclysm and only minor changes have been made. The highlights:

  • Players can now create their own recurring event groups and add group metadata so they don't have to re-type/paste it every time they make a new event. Groups will automatically fall off the group list if they haven't created an event in a few weeks.
  • Sorted attendees by player account rather than character so that raid leaders can more easily tell how many unique people they have.
  • Improved the signup controls to show complete information from the new central character database. This allows you to sign up on multiple characters at once and to override the metadata values for spec, needs gear, and needs achievements on a per event basis. Bank alts and characters marked played never are excluded from the signup list for convenience.
  • Network guild information is shown so that raid leaders who need to build guild specific events have that information (80% of the group must be from the same guild for it to get credit).

Armory Integration

One of the most exciting new features is a nightly import of guild data via the Blizzard XML Armory API. This data is used to automatically update character race and level information for player convenience as well as confirm that characters ended up in the guild they are supposed to be in. Reports based on this data are generated daily for guild admins to clean up the guild after rogue inviters and players who quit without removing themselves from the guild, freeing up guild slots for new characters. Additionally, there is an API for writing stats modules that query combined ZDKP/armory data and present it in interesting ways to guild members.


While not strictly a part of the ZDKP character manager, it is worth mentioning that <Goon Squad>'s network guild solution would not be possible without the CrossGuildChat mod written for us by LemonKing. This mod transparently links the guild chat channels of all of our network guilds into a single stream. This mod contributes extensively to keeping the player experience as close as possible to that of pre-cataclysm .

ZDKP is written and maintained by Peter Thorson (thorvoquien), with some stats plugins contributed by Vedini. Lua coding for the in game Invite and CrossGuildChat mods were written by Kayakyakr and LemonKing respectively. The software is custom built for Goon Squad using PHP/MySQL as a loose module for Invision Power Service's IP.Board 2.3 product. If you are interested in further details on our experience using software to manage very large guilds feel free to contact me at wowgoons@zaphoyd.com

Add new comment