Identify, catch, and call out people who cheat in certain online FPS games.
The developers of FPS titles such as Half-Life are making it easier and easier for users to create modifications. This increases the longevity and enjoyment of the games, but it also puts power in the hands of the clients. Giving up some control means that users can surprise you, but it also makes it much easier for people to create cheats. Cheaters are almost inevitable and commonly difficult to identify.
How can you recognize a cheater in, say, Counter-Strike, and what can you do about it?
To understand the problem, you first need to understand what kind of things cheaters can do. One of the best places to find out about anticheating software is at the Counter Hack site (http://www.counter-hack.net/content.php?page=typesofhacks), which lists hacks common to games. They even go one step further and specifically describe Half-Life-specific hacks (http://www.counter-hack.net/content.php?page=halflife), as seen in Figure 3-1.
Here are some of the most common hacks:
This type of cheat locks the cheater’s crosshair onto other characters. It is commonly configurable so that players can aim automatically at different parts of their targets. In some instances, players may also use auto-shoot in conjunction with auto-aim to fire without having to click the mouse button.
Early Half-Life aimbot hacks worked by making the computer fire at certain onscreen colors, requiring cheaters to change their character model colors to very bright hues. This method saw swift defeat, both by anticheat programs and by enterprising anticheaters running around the level daubing the walls with colored stencils. If you saw another player firing uncontrollably at your bright red wall stencil instead of at your character, you knew he was cheating.
This cheat allows the cheater to view other players through walls, usually by making the walls partially translucent, not transparent, often by messing with the graphics drivers. (With transparent walls, you’d continually run into invisible barriers.) Wallhacks can be quite confusing to play, but having the equivalent of X-ray vision can give cheaters quite an advantage.
When you play Counter-Strike, your radar normally shows dots for your teammates and various other gameplay objects you’re allowed to monitor. Some hacks add your enemies to the radar readout, making it trivial to track down your opponents. In a similar vein, people have managed to put a friend-and-foe mini-map in the corner of the screen in some later versions of Counter-Strike.
Most players consider bright skins (either retextured or full-brightness character models) a cheat. Basically, this technique colors the character textures of other players so that they stand out from the background more. It’s much easier to find a high-contrast clown hiding in the shadows.
There are a variety of installable anticheating software mods for Half-Life, all of which have good and bad facets. Let’s check them out.
There’s an excellent explanation of “why Cheating-Death is different” on its official web page (http://www.unitedadmins.com/cdeath.php). In short:
The main difference between Cheating-Death (C-D) and the other anti-cheating packages available is that it does not have cheat specific detection methods. Instead, it tries to make cheats less effective, and to prevent cheats from getting information. In most cases this leads to cheats simply not working.
Cheating-Death is particularly good because it works from both the client and server side. Servers have the option of requiring clients to run the C-D client software or allowing clients to run without it while marking them as less trustworthy. This flexibility, combined with regular and excellent updates, make Cheating-Death the third-party anticheat utility of choice at the time of writing.
HLGuard ( http://www.unitedadmins.com/hlguard.php ) was once the best anticheat utility around. It’s still one of the few Half-Life tools with current updates. The downloadable server-only version (http://www.unitedadmins.com/hlguard-dl.php) can’t do some of the clever stuff Cheating-Death can, such as preventing cheating or incompatible players from ever joining the server in the first place, but it does stop some of the most obvious wallhacks, aimbots, and other hacks.
There’s also an excellent FAQ (http://docs.unitedadmins.com/hlguard/en/) for the title, which explains some of the neater features, including a Filescan feature to detect modified game files and some good aimbot detection. The latter is especially tricky; like many other systems, it calculates the accuracy of any given player and flags warnings and triggers actions (such as bans) if that player’s aiming skills obviously exceed human capabilities.
Because Half-Life, Counter-Strike, and other Valve products are gradually transitioning over to a more secure framework on their Steam content delivery system, it’s natural that Half-Life creators Valve would eventually make their own in-house anticheat system. This has the distinct advantages of having input from the creators of the game and more concrete punishments for the bad guys, as you can see by the message if you join a VAC-enabled server over Steam:
You are joining a server that implements Valve’s anti-cheat system (VAC). Please note that the use of Cheats is a violation of your End User License Agreement for the software and/or your Steam Subscriber Agreement.
If Valve or the game host detects your use of Cheats on an VAC-enabled server, your Steam Subscription and/or your product key for the software will be banned from playing on VAC-enabled servers for one (1) year.
On the other hand, it’s hard to learn about the actual anticheat mechanisms and which cheats VAC detects, because the update information usually reads “New detections and detection strategies.” That’s very nonspecific when compared to the other, more transparent anticheat systems. On the other hand, while Cheating-Death is more watertight than VAC, it looks like VAC is catching up.
There’s no separate download location for updates to VAC. Steam automatically pushes down the latest fixes and patches automatically. Valve also promises VAC functionality for the forthcoming (at press time) Counter-Strike: Steam, hopefully meaning many more months and years of no cheating.
Suppose you can’t rely on technology because you’re playing on a server without anticheat devices installed, or you’re just obtuse and don’t want to use any of the anticheating tools mentioned earlier. Identifying a cheater can be difficult or even impossible. Competitive players are often so good at FPS games that they play better than people who cheat!
Fortunately, there are behaviors that may lead you to suspect that someone isn’t relying on skill alone.
For example, a good player will know exactly where you are based on the sounds you make throughout the level. Based on those sounds, he can accurately predict your next move. However, this is also characteristic of someone using a wallhack, so what can you do?
For one, someone using a wallhack will spend a lot of time looking at otherwise uninteresting walls. Seeing someone strafing with his face up against a building, for example, should raise your warning flag. In a similar vein, if you see someone make good strategic judgments without ever looking into open space to get his bearings, he may already see open spaces—through the walls!
It’s difficult, but not impossible to identify someone using an auto-aim cheat. Such a player will usually make a series of extremely quick, unfluid movements, too precise or odd to come from a human hand on a mouse or trackball. You may also see him lock onto other characters without first looking in the appropriate direction.
These cheats are never completely accurate, can be ineffective in laggy situations, and may not function well with projectile weapons, so pay attention to a suspect’s choice of weapon. The best weapons for auto-aim use super-swift bullets that reach the target immediately.
Unfortunately, from sight and play experience alone, it’s almost impossible to identify someone using bright skins, radar, map ESP, or similar hacks. (You can, at least, identify the very simple speed hacks; if someone’s running much faster than normal, he’s probably cheating.)
In these situations, because cheating can be very subtle, you can definitely identify only flagrantly obvious cheaters. The player will display similar characteristics to the very best conventional players. Fortunately, software anticheating measures can stop this little blighter from ever entering your Half-Life server in the first place.