Notes: Cheating and exploits

The objective for this lecture is to study (some of) the different cheats and exploits players commonly take advantage of in multiplayer games.

  1. Social exploits (moles, traitors, eavesdroppers)
  2. AI exploits (unintended AI behavioural weaknesses)
  3. Situational vulnerabilities (unintended moments of player vulnerability)
  4. Farming (trading wins/losses with an opponent for faster advancement)
  5. Disconnects/dropping (disconnecting just before a loss)
  6. Field of view (increasing your range of sight)
  7. Settings overriding visuals (enhancing your ability to see through effects)
  8. Rapid fire settings (binding controls to devices allowing faster-than-intended actions)
  9. Lag exploits (introducing lag at key times to gain advantage)
  10. Skinning exploits (making objects/players unintentionally easy or difficult to detect)
  11. Modeling exploits (changing model sizes or shapes to gain unintended advantages)
  12. Wallhacks (altering the properties of in-game walls or terrain)
  13. Bots (using automated aiming, firing, or AFK aids)
  14. Data interception (gathering/displaying game data you are not supposed to have access to)
  15. Packet manipulation (altering game data transmitted to the server)
  16. Account hijacking (accessing/using another player's identity or account online)

Reference material

One of the great difficulties in dealing with cheats and exploits in multiplayer games is the tremendous variation in what different people perceive to be "fair play".

In a great many cases, what one person sees as a cheat (or, at the very least, a "cheap" exploit) another will see as a legitimate use of a game feature. This results in many raging arguments in different game communities.

Even for the cases that are clearly cheating, it is very difficult for one player to identify with certainty whether another player is cheating or is simply very skilled or very lucky. This again results in many accusations and heated arguments.

For the most part, the discussions below simply try to identify the nature of the different potential exploits.


Social exploits

Behaviour in team play is one of the areas in which identification of what constitutes legitimate gameplay is very difficult.

Spys and moles
Suppose there are two teams of players, say team red and team green. Unknown to the people on team red, one of their members is secretly funneling information to team green - giving team green a tremendous advantage in planning their actions.

If we take it a step further, at critical moments the "mole" on team red could actively play to lose - sabotaging team red's work to make it easier for team green to win.

Similarly, if team red has a private forum or voice communication channel but if someone from team green gains access to the connection information and is able to eavesdrop on the planning or communications then it gives the team a significant advantage.

Some players will argue these are perfectly valid tactics, mimicing 'real world' use of spys and moles, while others will vehementently disagree.

Ghosting
Another similar exploit can exist when games allow a person who is not (or is no longer) actively plaing to observe a game from another player's perspective.

The observer could, potentially, have a voice communication channel open with the opponent of the player being observed -- relaying information to the opponent and giving them a substantial advantage over the person being observed.


AI exploits

The AI in many games will have distinct weaknesses in their behaviour - possibly not entering certain locations/situations, or handling certain tactics or situations very poorly.

While some of these weaknesses or behavioural patterns may be intentional on the part of the game designers, many (if not most) are not.

In multiplayer games these patterns might be exploited to give one player an advantage over another.

For example, in a naval combat scenario if one player is controlling an aircraft carrier whose AI-controlled fighters will not approach land, then another player can effectively eliminate much of the carrier's strength by hugging the coastline. Debate will then rage over whether this is a tactic deliberately supported by the game designers (giving players a safe zone away from fighters) or an unintended weakness in the AI, unfairly punishing the operator of the carrier.


Situational vulnerabilities

In many multiplayer games involving a persistent universe, there will be times at which certain players are particularly vulnerable to attacks from others.

For instance, if the game has been in progress for some time, new players will almost certainly be much weaker than people who have been playing for some time - enticing some players to pad their stats by preying on the newbs. While this may be a valid tactic, it discourages new players from participating in the game or campaign.

Another example is in the spawning of players when they join a game in progress - often during the first moments after they connect they are particularly vulnerable to actions by players already active in the game. A tactic adopted by some players is to camp out by known spawn points, and attack players the instant they join.

While most players will accept being killed in a "fair fight", having little or no chance of surviving your first few seconds of a gaming session can be very discouraging - again discouraging people from participating in the game or campaign.


Farming

While the term is used in several different contexts, here we are referring to opposing players deliberately trading off wins/losses with each other as an easy means of rapid advancement.

For instance, suppose a player gains experience when they capture terrain, but does not suffer a significant penalty when they lose it. Then two opposing players could simply take turns capturing/surrendering a particular location, rapidly building up each of their stats and giving them a significant advantage over other players who are "legitimately" earning their experience.

There are many variations on this tactic, with the common thread being a scenario in which the reward for the winner is much more significant than the penalty for the loser.


Disconnects/dropping

Many games rely on having the client machines resolve some form of competition between a small group of players and then transmit the result to a central server.

In such cases, a losing player may escape being penalized for a loss by deliberately disconnecting (or dropping) just before they lose.

For the player who was winning it can be very frustrating to be cheated out of their victory at the last instant, but it can also be very difficult to tell the difference between a deliberate disconnect and an honest loss of connection or game crash (particularly if the game is known to have connection issues or to be otherwise buggy).

This again can lead to many accusations and heated arguments.


Settings overriding visuals

Many games include effects that are intended to temporarily blind a player, either through bright visual effects (e.g. explosions) or through temporary darkness.

If a player is able to alter the settings on their computer or console to minimize the impact of the effects then they can obtain a distinct advantage over other players -- being able to see at an instant when no one else can.


Rapid fire settings

Many games allow players to re-assign which buttons or keys are associated with specific actions. In some cases, particularly with computer games, the action can be bound to a key or device that allows much more rapid control than intended.

For example, suppose a player reassigned their fire button to a mouse wheel, allowing them to "rapid fire" by spinning the wheel. This might give them a much faster rate of fire than the game designers had planned for.


Lag exploits

In some cases, players can gain a distinct temporary advantage by deliberately introducing a burst of lag into a game. This typically occurs when a game permits events to "pile up" (either due to processing load or communication backlogs), then process them in a batch.

Consider the following scenario: a player wants to move to a particular position and conduct an attack on another player, but will be vulnerable to certain counterattacks while moving. If the player can somehow induce lag then they might be able to generate the lag, move, and attack. From the other player's perspective, there is a moment of lag, following which (in a burst of processing) the other player seems to teleport to their new position and instantly attack, giving the victim no real opportunity to counterattack.

Sometimes players will discover an easy way to generate lag (e.g. in one game it could be done by rapidly taking a set of screenshots) but in more extreme cases players will actually attach devices to their connection allowing the deliberate insertion of noise or traffic.


Skinning exploits

Many games are designed to be highly modifiable visually, allowing players to create other looks and feels for their characters or the entire game (e.g. changing the game or characters to visually match other favorite games, movies, shows, books, etc).

However, allowing players to modify the visual appearance of characters or objects introduces a host of new potential exploits.

Suppose a game allows characters to use camoflauge, or to sneak around in shadows, or otherwise visually conceal themselves from other characters. Now suppose the player modifies their game so that every other character appears in glowing neon yellow - effectively making it impossible for them to hide effectively. This subverts significant elements of gameplay, and the opposing player may be completely unaware of the fact that they aren't hidden at all - it just seems like the (exploit) player has an unkanny knack for spotting them.


Modeling exploits

Again, games that are highly modable often allow players to substitute their own models for objects or characters in the game, but this creates opportunities for further exploits.

Two of the most common exploits involve either making the model for a player (or their vehicle or whatever) extremely small or extremely large.

If a player is trying to avoid collisions (with obstacles, bullets, or whatever) then making the model extremely small is one way to do so. On the other hand, if the player is seeking collisions (e.g. to ram things) then they may enlarge the model to make this easier.


Wallhacks

Wallhacks involve changing the properties of walls or other terrain, allowing players to either see through them or move through them.

The approaches vary from making walls transparent (so the player can see through them, while others can't), to drawing items in wire-frame mode (so you see the shape of everything plus all the objects behind it), to altering graphics drivers so that they ignore depth when drawing objects - i.e. even if the game specifies that one object is hidden behind another the graphics driver still puts both on the display.


Field of view

Yet another exploit based on what a player can/cannot see is to alter the field of view - allowing the player to see a greater portion of the gameplaying area than intended.


Bots

Bots are automated tools that take care of certain tasks for the player.

Some examples are bots that assist the player's aim - e.g. automatically aiming at other targets as soon as they come into view or as soon as they come into range. Typically such bots react much more quickly and much more accurately than a typical player, giving them a distinct advantage.

Other bots might assist the player with fire control - getting a shot off more quickly than a player could, or firing multiple shots in a shorter time span than a player could.

Still other bots might carry out routine/mundane activities while the player was away from the keyboard - e.g. undertaking training, gathering food, building items, etc. This lets the player's character to advance even while the player is sleeping, working, etc, again giving the player an advantage over others.


Data interception

In most games knowledge can be power - if the player can detect/intercept/display data they should not (theoretically) have access to then they can gain a significant advantage over other players.

Some ways the data can be obtained include intercepting data transmissions from the server to the client, decrypting where in memory key data items are stored, or substituting new routines for code within the game (e.g. in dlls) that provide different or expanded functionality.

Appropriate tools or alterations can allow the player to display key information such as the state or location of other players or objects, the occurrence of events (that should not yet be apparent to the player), etc.


Packet manipulation

Even greater advantage can be taken if the player is capable of manipulating the data sent from the client machine to the server or to another client.

If the form of the packets has been correctly decrypted, the player could substitute new data for their stats, events, their position, their speed, etc. This could make it look like the player can zip around the map, resist damage, etc.


Account hijacking

In most multiplayer communities, players who are very active commonly use a small set of usernames, and become (more-or-less) well recognized within the game or servers they typically play on.

If another player can find a way to log on using their account, or to use a very similar name, they can fool other players into thinking they are the other player.

This can have much more far reaching effects than just the damage to the impersonated player's account and reputation.