
Wallhacking
Wallhacking is the use of various methods for cheating in multiplayer first-person shooters by changing the properties of walls. Wallhacking allows cheating players to see things they normally wouldn't be able to, such as the exact location of another player hiding behind a wall, often granting the cheater the ability to kill other players while remaining unseen, particularly when it is possible to shoot through the walls. Wallhacking is the FPS equivalent of maphacking.
Many FPS games provide weapons such as grenades that can kill unseen players, but such explosives rely on splash damage rather than direct hits. However, in a game like Counter-Strike, certain guns can shoot through walls, rifles in particular. This allows them to see the enemy and kill them instantly, unseen. On Steam, the online play system for Counter-Strike, the offender (depending if the hack is detected by VAC or not) will be banned permanently from all VAC servers.
Other types of wallhack include "wallwalk", in which players become able to see through and walk through walls. Sometimes referred to as "ghostmode", this hack enables sneak attacks on anyone walking by the wall, as the player inside the wall is essentially invisible.
A final, perhaps more malicious, form of wallhack is "noclip". Noclip is a cheat code in many games that disables clipping, allowing the player to fly by holding down the "jump" key, move through walls, and causes shots to go through the character. This comes in varied forms, some of which are less unfair than others. Although this cheat is theoretically unable to be used on multiplayer, it can be enabled for online use by changing a single line of code. Fortunately, noclippers are incredibly easy to detect, and usually end up banned from the server that they use their powers on.
Origin
Wallhacks arguably first publicly appeared early in the counter-strike alphas when a certain player under the alias XQZ used his programming skills to create his infamous and classic XQZ2 OpenGL multi-hack. It is known as a multi-hack due to the abundance of features inside it, notably including the wallhack. Wallhacks come in various different forms but all work in essentially the same manner. When OpenGL is rendered to the screen, the graphics library is given coordinates of where the view camera is located in the three dimensional space that is the game you see. Using these coordinates and other parameters defining the field of view, the machine renders what you would be able to visibly see under the circumstances. In memory, all objects that will be drawn on the screen are mapped into buffers to be drawn: there is no wall in front of a player, they are simply two different buffers of coordinates in memory. The game engine specifies that the set of coordinates known as the player model is to be drawn with a GL_DEPTH_TEST mode enabled. This means it will be tested for depth and visibility to all objects between the view camera and it. All things not visible directly in front of your field of view and all coordinates omitted by GL_DEPTH_TEST checking are "culled" out, or are not rendered for sake of salvaging frame per second rates. OpenGL level wallhacks work by disabling this test from running on the model coordinates and essentially the model is drawn on top of everything else regardless of its position. Some wallhacks work by setting blending modes on the wall coordinates and giving them alpha values lower than 1.0f ( or 100% opaqueness, depending on blending modes ) in order to make them transparent, thus showing player models behind them.
Detection
Wallhacks can be instantly recognized by a player who physically sees the cheater's computer screen and thus can be impossible to use at LAN parties. When playing over the Internet, detection is not always as simple.
Cheat detection software such as PunkBuster might find it difficult to detect wallhacks. While most wallhacks are achieved by making changes to the game's renderer or maps (and are therefore detectable), some can simply be exploited hardware issues. For example, a player might discover that an obscure combination of a specific video card and an old driver causes the game's doors and other props to be rendered in wireframe.
Wallhacking can be difficult for other players to correctly identify in-game. A wallhacker might be skilled at hiding their virtual extra-sensory perception from other players. For example, consistently shooting people in the head through walls might alert players, but just knowing there's opponents hiding behind a box or a corner is more than enough to give that player a extra preparedness. Skilled or lucky players can be misinterpreted as wallhackers. Experienced players become extraordinarily familiar with preferred hiding places and might shoot at or bombard these spots even if they have not seen anyone there.
External Links
Elitecoders.org, an HL/CS hacks site.