Hackers Game a Multiplayer World
Two programmers reveal covert ways to automate characters in an immensely popular game.
It’s the simple necessities that sometimes spur invention. For Christopher Mooney, four years ago, it was the need to take a shower. A senior at the University of Southern Maine at the time, Mooney was in the midst of a long quest with a group of friends in the immensely popular online game World of Warcraft. Mooney didn’t want to leave his friends in the lurch and then have to redo the quest all over again. So instead, he cobbled together some code to keep his character running with the party and healing anyone who needed it, then left his computer to freshen up.
On Friday, Mooney and colleague James Luedke showed off an evolved version of the original trick at DEFCON 17, a hacker conference in Las Vegas: a set of programs to automate in-game characters that have so far evaded detection by World of Warcraft’s developer Blizzard Entertainment.
“Playing the game was fun, but what kept me up at night was figuring out ways to change the environment and extend the game experience,” Mooney says. “Over the years, the stuff we did wrong, the things we rewrote, it must have totaled a full-time job for a year.”
The project, dubbed Behead the Prophet (BTH) by the two programmers, includes code for automating characters described as “helpers.” Such automated programs, known as “bots,” are controversial in massively multiplayer online role-playing games (MMORPGs) because they are often used to automate the collection of valuable items–an activity known as “gold farming.” Moreover, some bots use programming loopholes to cheat in other ways, for example, by giving characters super speed or the ability to attack more quickly.
Blizzard allows some third-party developers to create scripts and in-game add-ons that enhance the user interface. But the company has taken measures to prevent third-party developers and hackers from using in-game information in external programs in ways it does not approve. The company has even created a program, called the Warden, to detect programs that violate its policies.
Mooney and Luedke argue that their programs are benign. They programmed their helpers to wait until a character from a particular guild asks for assistance and then follow that character’s lead in taking certain actions: healing, casting spells, and attacking enemies.
To avoid detection as well as legal issues, Mooney and Luedke created a script written in the Lua programming language that makes decisions based on what’s happening within the game. The script’s decisions are represented as a particular color in a bar at the top of the screen. A second program uses this color to determine which keys to press in order to control the helper character. “The outside program is the stupid thing–it just presses keys,” Mooney says. “All the power is on the inside add-on.”
Judging from past efforts to ban similar programs, it is likely that Blizzard Entertainment will take a dim view of the duo’s activities.
In February, Blizzard successfully argued in court that a company called MDY Industries, which created a similar in-game helper program to automate a user’s character for short periods of time, had circumvented the game maker’s protections and violated copyright. The bot, called MMO Glider, allowed users to automate the sometimes-onerous task of killing and collecting loot.
“They are saying that we own the license and, if you don’t follow the license terms, we are taking away your license and you are a copyright infringer,” says Jef Pearlman, fellow and staff attorney at Public Knowledge, a Washington, DC-based digital-rights group. “It’s a very worrisome model.”
Blizzard Entertainment did not immediately comment on the DEFCON presentation.
Rather than eliminate bot programs, Mooney argues that Blizzard should start a handful of separate servers as a playground for developers and players who want to experiment by automating their characters. Aside from helping eliminate boring quests in which characters have to kill an onerous number of monsters–an activity referred to as “grinding”–the separate environment could be good place to test new approaches to automation and machine intelligence, he says.
“There is a community of developers that enjoy this type of game experience,” Mooney says. “I think that would go a long way toward preventing the bitter back and forth between Blizzard and their developers.”