# PunkBuster

PunkBuster is a computer program that is designed to detect software used for cheating in online games. It does this by scanning the memory contents of the local machine. A computer identified as using cheats may be banned from connecting to protected servers. The aim of the program is to isolate cheaters and prevent them from disrupting legitimate games. PunkBuster is developed and published by Even Balance, Inc.

## History

Tony Ray founded Even Balance to develop PunkBuster after his experience with cheaters on Team Fortress Classic.
The first beta of PunkBuster was announced on September 21, 2000, for Half-Life. Valve was at the time fighting a hard battle against cheating, which had been going on since the release of the game. The first game in which PunkBuster was integrated was id Software's Return to Castle Wolfenstein.

## Features
### Published features

* Real-time scanning of memory, by placing a PunkBuster Client on players' computers searching for known hacks/cheats using a built-in database.
* Throttled two-tiered background auto-update system using multiple Internet Master Servers to provide end-user security ensuring that no false or corrupted updates can be installed on players' computers.
* Frequent status reports are sent to the PunkBuster Server by all players. When necessary, the PunkBuster Server raises a violation which (depending upon settings) will cause the offending player to be removed from the game and all other players to be informed of the violation.
* PunkBuster Admins can also manually remove players from the game for a specified number of minutes or permanently ban if desired.
* PunkBuster Servers can optionally be configured to randomly check player settings looking for known exploits of the game engine.
* PunkBuster Servers can be configured to instruct clients to calculate partial MD5 hashes of files inside the game installation directory. The results are compared against a set configuration and differences logged, and optionally, the client removed from the server.
* PunkBuster Admins can request actual screenshot samples from specific players and/or can configure the PB Server to randomly grab screenshot samples from players during gameplay. However, it is possible for a game hack to block screenshots (producing a cropped screenshot) or remove all visual features of a hack (cleaning the screenshot) to remain undetected, leaving the effectiveness of this feature diminished.
* An optional "bad name" facility is provided so that PunkBuster Admins can prevent players from using offensive player names containing unwanted profanity or slurs.
* Search functions are provided for PunkBuster Admins who wish to search player's keybindings and scripts for anything that may be known to exploit the game.
* The PunkBuster Player Power facility can be configured to allow players to self-administer game servers when the Server Administrator is not present entirely without the need for passwords, in which the players can call votes to have a player removed from the server for a certain amount of time.
* PunkBuster Servers have an optional built-in mini HTTP web server interface that allows the game server to be remotely administered via a web browser from anywhere over the Internet.
* PunkBuster Admins can stream their server logs in real time to another location.
* PunkBuster has initiated Punkbuster Hardware Bans, that bans hardware components upon detection of cheats that disrupt or circumvent PunkBuster's normal operation. These bans mean permanently banning players whose HD id matches the blacklist at Evenbalance.

## Incompatibilities

Some games (like Crysis or BioShock 2) do not have a 64-bit version of PunkBuster. For this reason, 64 bit clients will not be able to play in PunkBuster enabled servers unless they run the 32-bit client of the game.
PunkBuster does not allow Windows users without administrative accounts to connect to any games. Upon connecting to a game, the user will be immediately kicked for having insufficient OS privileges. Starting with PB client v1.700, a Windows service with full administrative rights is used in complement with the ingame PunkBuster client, allowing updates without user rights elevation. However, some games might still require administrative rights before PunkBuster will function correctly.

## Enforcement
### Global GUID bans and Hardware bans

PunkBuster uses a system called 'global banning'. Either the GUID (generated from the CD key) or parts of the computer's hardware are banned from PunkBuster-enabled servers. Most attempts at cheating will only receive a detection warning, but cheats that interfere with PunkBuster's software itself could lock out the GUID of the offending system and disable access to all PunkBuster enabled servers for that particular game. Particularly severe instances of cheating may lock the offending computer out of all PunkBuster-protected games.
As of June 30, 2004, Even Balance has used unique hardware identifiers to permanently ban players who attempt to interfere with PunkBuster's normal operation (which is, itself, a violation of the PunkBuster EULA). Even Balance uses a 128-bit private one-way hash so that no serial number information for individual computers can be obtained from a hardware GUID.
As with previous PunkBuster GUID bans, hardware GUID lockouts are permanent. Even Balance has not disclosed what hardware PunkBuster looks for when issuing a ban, but close examination of the software has indicated that the GUID may be based on the serial numbers of scanned hard-drives. As with many bans based on information from the user's system, hardware GUID bans can be spoofed.

### False positives

During the period of October 30 to November 6, 2013, Punkbuster was falsely banning Battlefield 4 users with the error "(Gamehack #89265)". As of November 8, 2013 the issue has been resolved by Even Balance inc. and all Punkbuster bans resulting from this error have been resolved and officially deemed a false-positive.
    "We have confirmed that Violation #89265 may be triggered by non-cheat software. This Violation code has been removed from our master servers and we encourage server admins to give the benefit of the doubt to players who raised this code over the past few days."

### Attacks on PunkBuster

PunkBuster usually searches for known cheat program signatures as opposed to relying on a heuristic approach. On March 23, 2008, hackers published and implemented a proof of concept exploit of PunkBuster's indiscriminate memory scanning. Because PunkBuster scans all of a machine's virtual memory, malicious users were able to cause mass false positives by transmitting text fragments from known cheat programs onto a high population IRC channel. When PunkBuster detected the text within user's IRC client text buffers, the users were banned. On March 25, 2008, Even Balance confirmed the existence of this exploit.

## Games using PunkBuster

* Assassin's Creed 3
* Battlefield 1942
* Battlefield 2
* Battlefield 2142
* Battlefield 3
* Battlefield 1942
* Battlefield 4
* Battlefield Hardline
* Battlefield: Bad Company 2
* Battlefield Heroes
* Battlefield Play4Free
* Battlefield Vietnam
* Blacklight: Retribution
* Call of Duty
* Call of Duty 2
* Call of Duty 4: Modern Warfare
* Call of Duty: World at War
* Crysis
* Doom 3
* Far Cry
* Far Cry 2
* Far Cry 3
* Medal of Honor (2010)
* Medal of Honor: Warfighter
* Need for Speed: ProStreet
* Quake 3 Arena
* Red Orchestra 2: Heroes of Stalingrad
* Return to Castle Wolfenstein
* Soldier of Fortune II: Double Helix
* Tom Clancy's Ghost Recon: Future Soldier
* Tom Clancy's Ghost Recon Online
* Tom Clancy's Rainbow Six: Vegas 2
* America's Army