The Bot Parade
Since bots are such pervasive cheaters' tools, it is worth spending some time pondering a few examples. Three large-scale categories of bots are combat macro bots (used to cheat in MMORPG games), aimbots (a particular type of combat macro bot used commonly in FPS games), and poker bots.
Combat Macro Bots
Many games, especially MMORPGs, have simple scripting languages that can be used to interact with the game. These languages allow a number of basic activities to be strung together into a macro. Sometimes games don't include a scripting language off the shelf, but third-party programs that run with the game provide scripting capability.
Scripts are very useful for automating simple tasks. Here is an example of a macro that works with WoW.12 Web sites filled with macros like this one are easy to find on the Internet.
Here is another example. This macro works with Star Wars Galaxies.13
This macro is slightly more interesting than the first example because it works unattended. In fact, its simple description makes this clear. Some gamers draw a big distinction between attended use of macros and unattended use. They believe that unattended use is cheating.
Some games go so far as to outlaw the use of macros (see Chapter 4 for more on legal moves to prevent cheating). The game Asheron's Call includes the following legalese:
- Use of unauthorized third-party software or macros with the Software may be prohibited in the sole discretion of Turbine. Specifically, you may not use third-party software which allows your character to gain experience points or items by engaging in combat without being at the keyboard, ready to respond to Turbine staff on demand (this activity is commonly called a "Combat Macro"). Logging off as soon as an admin appears (visible or invisible) or when an admin tries to speak with you will be taken into consideration in determining the use of Combat Macros.14
One of the most well-known and widely used macro systems in gaming is Lin2Rich <http://lin2rich.com/>. Lin2Rich is actually an advanced bot environment. It works alongside your client (i.e., you use it in tandem with the regular game client), sending packets directly to the game server according to the way it is configured. Lin2Rich can be configured to send a set of commands to the server when a certain event happens. For example, if you click certain buttons at particular times or begin to rest at a particular time and place, you can program the cheating client to send particular commands to the game. Because of the way it works, detecting Lin2Rich by monitoring player behavior is difficult.
Aimbots are bots used in FPS games. The idea is simple: Aim better than your opponent and win. Superhuman aim achieved through programming is generally considered cheating (though some FPS games have built-in aimbots that can be used).
Aimbots come in a variety of flavors. Some only aim. Some aim and shoot. Some move, aim, and shoot. The first aimbots were created for Quake and Counter-Strike. An interesting FAQ about Unreal Tournament and cheats can be found at <http://www.digdilem.org/ut/aimbot.php>.
One popular aimbot called ZelliusBot works by reprogramming initialization files in Unreal Tournament. The Black Hat Corner includes some text from the readme file that comes with ZelliusBot.
In most cases, aimbots come packaged with other features such as the ability to travel through walls. One early aimbot for Counter-Strike was XQZ. XQZ combined several capabilities into an easy-to-use package. It was eventually released to the public. XQZ at first replaced and then later hooked the OpenGL DLL. XQZ included features that allowed users to use it stealthily during LAN parties without detection. Counter-Strike is still filled with spinoffs from XQZ.
In its first instantiations, the XQZ aimbot was invoked when a button on the keyboard or mouse was pressed. Pressing the button resulted in the aimbot controlling the aiming crosshairs.
Care must be taken when developing and using aimbots to ensure that their superhuman potential does not become a giveaway. For example, using an aimbot that perfectly tracks a strangely moving adversary, shooting it over and over in the exact same spot, is called slaving. Decoupling the aim and shoot features is sometimes necessary. As we mentioned earlier, more advanced aimbots can add statistical noise to their actions.
Now that online poker has topped $1 billion in revenue, it's not surprising that much activity has been invested in creating automated bots to play poker. Fortunately, poker is a reasonably hard game that can't easily be automated. However, poker bots do exist, and they are improving rapidly.
Of course, if poker bots get too good, they will undermine the game itself. Nobody wants to lose consistently to a bot! Especially when money is involved.
Rumors abound of a new generation of sophisticated poker bots that can beat newbies with some regularity. Some even say that above-average players can be beaten as well. Of course, just as in other kinds of gaming, the game companies want to discourage the use of bots. They make use of player monitoring and look for suspicious patterns of play, sometimes adapting their games to defeat bots.
Still, some people are making their living by selling poker bots commercially. A number of programs are available at the WinHoldEm Web site <http://www.winholdem.net/>, ranging from a $25 standard package of hand analysis software to a $200 version that includes bot play capability.
Once again we find ourselves in the midst of a classic arms race. Simple bots pop up, antibot measures out them, the bots improve, and so on. Of course, most online casinos don't allow bots, but enforcing that rule is difficult.
The entire online poker phenomenon is confusing to many security professionals. The biggest problem is collusion between players. Cheating by discussing hands in an out-of-band conversation is very difficult to detect. Banning this activity is easy from a legal perspective, but enforcing the ban may not be possible.
Some believe the inability to control poker bots and out-of-band communication will be the demise of online poker. We'll just have to wait and see.