Hower mouse over menu to expand!
PunkBuster is anti cheating system developed by a handful of online computer game playing enthusiasts in September 2000.
PunkBuster is an automatically self-updating client/server Anti-Cheat software system. That means that players run the PunkBuster Client software while they are playing online games and also, PunkBuster Server software is running on the game server that players connect to for gameplay. The PunkBuster system is designed to hold all participants accountable by scanning the game computers looking for known cheats, game hacks, and exploits similar to the way Anti-Virus software would scan a computer looking for a virus. PunkBuster does not modify any files or settings on your computer even if it detects some type of violation, it reports what it finds and, in some cases, will remove offending players from the current game. PunkBuster is optional. A Server Admin who decides to run PunkBuster on his or her Game Server is simply choosing to limit players on said Game Server to players who have chosen to enable PunkBuster on their playing computers. You do not have to enable PunkBuster if you are uncomfortable with the idea of such software. However, PunkBuster is not "spyware" nor is it a trojan - it is designed for groups of honest people to use together in an effort to keep out players who are unwilling to subject their system to an objective third-party software system scanning their computer during gameplay. PunkBuster basically just looks for known cheats and game-hacks while you are playing a PunkBuster enabled game in an effort to authenticate your installation as "clean" for the purpose of consentual multiplayer online gaming.
Although there is code inside the Game to allow PunkBuster to be integrated tightly with the Game, the PunkBuster software is completely separate from the Game software. It resides in its own folder called "pb" inside the game folder. For example, if your game is installed into a folder called "c:\Program Files\EA Games\Battlefield2\", then the PunkBuster files will be in "c:\Program Files\EA Games\Battlefield 2\pb". To remove or uninstall PunkBuster from your system, simply delete the "pb" folder using the explorer program on your computer. PunkBuster does not modify the system registry nor hide files or other information anywhere else on your system. There are only a few files in the "pb" folder when PunkBuster is first installed. When the game is first launched after PunkBuster has been installed, PunkBuster will add new files and folders for later use.
Sub-directory and file information
The "pb" folder normally contains the following file types:
- Files with a "dll" or "so" extension (example: pbcl.dll) are PunkBuster system files. Removing any or all of these files may cause your PunkBuster system to stop working.
- Modifying any or all of these files is a violation of our End User License Agreement and permanently terminates your license (and legal ability) to use our software.
- Files with a "db" extension are PunkBuster database files. The PunkBuster databases are automatically created and maintained by the PunkBuster software. If you
delete one or all of these files, PunkBuster will recreate and re-populate them with information obtained from Master PunkBuster Servers if possible. Modifying any of
these files may cause PunkBuster to act in an unexpected manner.
- Files with a "dat" extension are PunkBuster data files. They should not be removed or modified. The PunkBuster system will maintain them automatically.
- Files with a "log" extension are files into which PunkBuster logs information during the course of using the software. By default, the PunkBuster Client only logs severe
error information to a log. The PunkBuster Server logs important activity into log files automatically.
- Files with an "htm" extension are special log files that are designed to be viewed by a web browser such as Internet Explorer or Netscape.
- Files with a "cfg" extension are configuration files that contain PunkBuster commands and settings. You can create and modify your own configuration files and have them
loaded either automatically or manually. Details about PunkBuster commands and settings are given later in this publication. Two specific "cfg" files: pbsv.cfg and
pbsvlog.cfg may be used and overwritten by the PunkBuster system under some circumstances. Each time PunkBuster starts, the pbsv.cfg and pbsvuser.cfg configuration
files are loaded automatically. Note that 'File Not Found' messages related to either of these files does not point to a problem or an error. Using the pb_sv_writecfg
command will create a pbsv.cfg and overwrite anything that was previously in that file. Admins should create (with any text editor) and use pbsvuser.cfg for PB settings
and commands that they don't want to get overwritten with a pb_sv_writecfg command.
PunkBuster also creates subfolders inside the "pb" folder to organize information; the following is a list of these folders and what they contain:
- The "htm" folder contains htm files that are used during PunkBuster's auto-update system. Over time and after many updates, this folder may contain old files that may be
deleted to recover disk space if desired.
- The "dll" folder contains various PunkBuster system files obtained during the auto-update process from prior version installations of PunkBuster. As with the "htm" files
described above, old files in this folder may be deleted to recover disk space if desired.
- The "svlogs" folder contains PunkBuster Server logs. Log files are named in sequence using an 8 digit number and the ".log" file extension.
- The "svss" folder contains screenshots (PNG files) and "helper" HTM files that have been captured from Players connected to the Server - the file pbsvss.htm located in this
subdirectory is a sequential index (log) that can be used to quickly and easily view captured screenshots.
- The PunkBuster WebTool provides the means to remotely administer game servers from any connected computer using a web browser (such as Netscape's Navigator or
Microsoft's Internet Explorer). The PunkBuster Server software includes a mini web server that takes input from Web-based forms and translates that input into game
commands. This type of access is similar to using rcon (remote console) commands, except it is done through an html interface and works even from computers that do not
have the game or PunkBuster installed. Just about anything that can be done at a server's console or via rcon can be achieved easily by using the WebTool. By default, the
WebTool is deactivated. The remainder of this section explains how to activate and use the WebTool.
- There are five PunkBuster settings associated with the WebTool: pb_sv_httpPort, pb_sv_httpAddr, pb_sv_httpKey, and pb_sv_httpRefresh. The pb_sv_httpPort setting
defaults to a value of 0 which means that the WebTool is deactivated. To activate the WebTool, pb_sv_httpPort must be set to a port number between 1 and 65535 that is
not already in use by another program on the computer running the game server. Most web servers use port 80. If you choose not to use 80, then it is probably best to use
a number that is at least 1024 or higher to avoid conflicts with other software. Once pb_sv_httpPort is set, PunkBuster will respond saying either that it is listening on the
specified port number or that there was some problem trying to listen on the specified port number which means that a different port number should be specified. After
setting pb_sv_httpPort, you should test the WebTool functionality, if possible, by launching a web browser on the same computer as the game server and enter this URL:
http://127.0.0.1:. For example, if you chose port number 8000, then you would enter http://127.0.0.1:8000 for the URL. At this point, you should see the opening login
screen for the WebTool.
- If you wish to be able to use the WebTool from another computer connected via network to the game server (even across the Internet if desired), then the pb_sv_httpAddr
setting needs to be set to hold the routable IP Address of the game server. Please note that the WebTool does not use a secure protocol (such as https) for performance
reasons. That means that any information you send from your web browser to the WebTool is sent in plain text (including the Key/Password).
- The game server's rconpassword is used to allow remote console access to the game server. By default, the rconpassword is also used for WebTool access. However, if you
wish to use a different password for WebTool access, then the pb_sv_httpKey should be set accordingly.
- One of the screens available inside the WebTool is the Player List screen. This screen shows the list of players and allows Admins to kick and/or ban players easily. By default,
this screen automatically refreshes inside the web browser every 30 seconds to show when players leave or when new players join the game. To change the auto-refresh
rate, set the pb_sv_httpRefresh setting accordingly. Setting pb_sv_httpRefresh to 999 will disable the auto-refresh feature for the Player List page.
- One of the features of the WebTool allows the Admin to change to a new map by choosing the map name from a drop down list in the web browser. By default, the
pb_sv_httpMaps setting is empty which means the standard "official" maps are listed in the dropdown.The map list can be edited with a text editor on the game server. We
supply common map/mode/mod in the pbsvmaps.cfg file in the PB folder. You can edit this file to change the list that the webtool displays. The syntax is "MapName" "Mode"
"Mod", with no quotes and any amount of whitespace inbetween names.
- PunkBuster communicates to players by displaying information directly to the game screen and the game console. A player can also communicate directly to PunkBuster by typing commands into the game console. The BF2 console is only available when you are connected to a server. More advanced players may wish to use this ability to put PunkBuster commands into key bindings and game configuration scripts for personal convenience.
- In general, to access the game's console, press the Tilde Key. On most Qwerty keyboards, the tilde key is located directly under the Esc key and looks like this: ~ . Some non-American keyboard layouts do not have a tilde key and a different key such as the � key are the tilde equivalent on those keyboards. Pressing the tilde key will bring down the Game Console. The console is used to display several lines of textual information and also accept user input such as commands. The bottom line of the console will always start out empty and typed keystrokes will appear on the left. To enter any Game or PunkBuster command type out the full command in the console.
- All PunkBuster Client commands and settings start with the three character sequence "PB_". Specific PunkBuster commands and settings are described in a subsequent section of this publication. Note that if you run your own Server, PunkBuster Server commands are preceded by the six character sequence "PB_SV_". PunkBuster doesn't care whether commands and settings are typed in lower case, upper case, or in some combination. ENABLE, enable, and EnAbLe are all the same as far as PunkBuster is concerned. Any time PunkBuster needs to display a message, the message will be preceded by the words "PunkBuster Client:" or "PunkBuster Server:". This is useful if you are running your own server so that the source of each message will be obvious.
- Players who like to join Game Servers from inside the game will notice that there are some PunkBuster friendly features built into the game's interface. There is a column that shows whether each Game Server currently has PunkBuster On or Off. There is also an option in the Filter Servers screen whereby users can choose to see only Servers with PunkBuster "On" or both types of servers together.
Taking local screenshots
PunkBuster also allows players to take their own local screenshots in addition to the screenshot-taking ability built into the game itself. For players who want to only save images of a portion of the game screen, the PunkBuster option may be more desirable. To take a PunkBuster screenshot of your own screen, first use the PB_SSOPTIONS command to set the parameters for subsequent screenshots. Type "PB_SSOPTIONS" alone to view the current parameters: Width, Height, X-component, Y-component, and the Sample Rate. The defaults are 640, 480, 50, 50, and 1 respectively. The width and height represent the size and shape of the rectangular area on your screen that you wish to capture. If either of these are set beyond the resolution of your game playing screen, then the actual screen dimension will be used. The X and Y components are measured in percentages and specify how far across (X) and down (Y) the center of the captured rectangle should be from the upper-left corner. The defaults of 50 and 50 specify the center of the screen. If, for example, you decide to use X=25 and Y=75, then the captured image would come from the lower left region of your playing screen. The Sample Rate parameter can be either 1, 2 or 4. Setting Sample Rate to 2 means that only every second pixel will be captured and setting it to 4 means every fourth pixel will be captured. Using a higher number for Sample Rate will allow you to get larger screenshot images into smaller files but the sharpness of the resulting images will suffer accordingly. The best way to become comfortable with the parameters and the effects from changing them is to experiment. To actually take a screenshot using the parameters currently in effect, use the "PB_GETSS" command. Each time PunkBuster takes a local screenshot, you should see a message at the top of the screen (and also in the Game Console) that displays the image filename on your hard drive.
PunkBuster software running on game servers and also on the computers of connected players during gameplay is continuously validating each player with respect to
avoiding violations. A violation can be raised by PunkBuster for various types of things depending on how each Server Administrator chooses to configure PunkBuster on the
game server. The various categories of violations are explained below. When a violation is raised, PunkBuster announces this violation to all connected players in the game
and then saves information about the violation into a PunkBuster log file on the server. In most cases, the player associated with the violation will also be removed from the
server for a few minutes. It is up to each Server Admin whether or not to permanently ban players for violations raised by PunkBuster. Note that some servers are non-
dedicated. That means that one of the players is running the game server while also playing inside the game (known as a localhost player). If PunkBuster raises a violation
on such a localhost player, the violation will be reported, but the localhost player will not be removed from the game. The other players will be alerted to the fact that
PunkBuster is foregoing the kick due to the violation being raised on the localhost player. Steps to resolve violations are given below with each violation category. Any player
who has problems resolving a violation should fill out a trouble ticket here for assistance. When requesting assistance, be sure to specify the violation number raised and
give as much additional information as possible.
Technical Violations: (Resolution: Reinstall PunkBuster from the latest game update patch)
#101 - Communication Failure
#102 - Communication Failure
#131 - Initialization Failure
#132 - Protocol Error
#141 - Distress (This indicates a problem trying to update to the latest version of PunkBuster - it may indicate a problem reaching one of our Internet-based Master PB
Servers which can be caused by firewalls, router problems, etc.)
#111 - Bad Name (Resolution: Change player name or play on a different server)
#112 - Too Many Bad Names
#113 - Too Many Name Changes (Designed to eliminate name change spamming)
#114 - Protected Name (Resolution: Change player name or play on a different server)
#121 - Negative Score Too Low (usually from Killing Teammates)
#151 - Extended ASCII Characters in Player Name (Resolution: use regular letters, numbers and symbols in the player name or play on a different server)
#9001 - CVAR value failed range check (Try different server. If that fail, and you don't know which one is changed you will probably have to reinstall the game)
When PunkBuster is unable to verify that a player's gaming environment is functioning properly and/or has not been alterred, an Integrity violation is raised. This also
involves the detection of modified game or PunkBuster files. These violation numbers are between 10000 and 29999.
When PunkBuster detects a cheat or hack by repeated positive identification on a player's computer, a violation is raised. These violation numbers are 50000 and higher.
Families of cheats are listed below. Resolution: Remove cheats and hacks from the computer.
#50000s - Aimbot
#60000s - Wallhack
#70000s - Multihack
#80000s - Gamehack
#90000s - 'Cheat' Video Drivers
#100000s - Speedhack
#110000s - Autofire
#120000s - Game Hook
#130000s - Attempted PunkBuster Hack
There is a whole category of kicks by PunkBuster known as Restriction kicks. These are not meant to be treated as cheat violations. These kicks are reserved for programs,
drivers, etc. that contain methods not generally allowed on PunkBuster servers. We encourage admins to never ban for Restriction kicks.