Quake 4 Edition




Last updated November 8, 2010

The following people contributed to this publication:
Björn Christoph, Ken Creedon, Stuart Dunsmore, Daniel Ferguson, Tony Ray, Jason Roman, Paul Seale, and Hendrik Thole.


Even Balance, Inc.


This publication is © Copyright 2002-2010 by Even Balance, Inc. All Rights Reserved.
PunkBuster™ Software and the PunkBuster Logo are trademarks of Even Balance, Inc.
Other trademarks referenced by this publication are the property of their respective owners.







This publication is for Players of online games who are interested in using or finding out more about the PunkBuster Anti-Cheat system.  This publication is meant to document PunkBuster for the following games: Quake4, by id Software, Inc and Raven Software. PunkBuster editions for other games may vary from the edition described herein.

A great effort has been made to make this publication useful for those new to PunkBuster and also for advanced users of PunkBuster.  Any comments or suggestions will be gladly received via email to docs@evenbalance.com.

If you wish to learn about using the PunkBuster Server software for running a game server, please see our related publication entitled 'PunkBuster for Server Administrators'.




In September of 2000, a handful of online computer game playing enthusiasts became concerned with the increased activity of cheating in online multiplayer gaming.  We decided to do something about the problem.  We were aware that a few attempts had been made in the past by others (including the makers of the games themselves) and that they were all generally considered to have failed for the most part.  We had a vision of a new way to approach the problem and decided to develop an experimental software system to see if our new approach would work.  We believed that once we had submitted and maintained a product for open use that the response from affected online communities would tell us whether or not the experiment was a success.  After several months of growth, much hard work, acceptance, and the appreciated beta testing and support of hundreds of thousands of users, we believe that we have a viable solution to fighting the problem of cheating in online multiplayer games: PunkBuster.

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.  The activities performed by PunkBuster are generally described on our website and we have also developed and published a Privacy Policy Statement.  We take the privacy and security of our users and their computers very seriously and there is no featured provision (documented nor undocumented) whatsoever in our software whereby anyone outside of your computer can gain control of your computer or view / change your private information with or without your knowledge.  Additionally, PunkBuster does not transmit your private data files to any other computer nor keep any type of centralized database that tracks any information about your personal files.  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 consensual multiplayer online gaming.

In mid-2001, a privately funded corporation, Even Balance, Inc. was formed to handle the commercial application of the PunkBuster system.  We plan to offer several types of products and services to online gaming communities that are built up around the games we support.  We are actively seeking relationships with game software developers who would like to have us provide anti-cheat support for their online multiplayer game titles.

There is no cost for a personal, non-commercial license to use PunkBuster software.  Our End User License Agreement must be accepted on-screen before PunkBuster is installed.  If you wish to use PunkBuster in any type of commercial environment or in connection with any commercial event, a separate commercial licensing arrangement must be obtained from Even Balance, Inc.  To find out more about commercial licensing, send an inquiry via email to license@evenbalance.com.

More information about Even Balance, Inc. and the PunkBuster system can be found on our website at evenbalance.com.




From the main game menu, choose Multiplayer to get to the In-Game Server Browser.  On the In-Game Server Browser screen, make sure the 'PunkBuster' button says 'Enabled'.  If not, click the button and then confirm that you wish to Enable PunkBuster.  After confirmation, the button should now say 'PunkBuster Enabled'.


The In-Game Server Browser

You are now ready to join any servers that are PunkBuster Enabled.  The far right column in the Server Selection table will say 'Yes' for servers that are PunkBuster Enabled.  When PunkBuster needs to give you information, it will appear at the top of your playing screen briefly and then scroll off he top of the screen.  If you wish to review previous messages, press Ctrl+Alt+tilde (~) at the same time to bring down the game console.  From inside the game console, use the 'PageUp' and 'PageDown' keys to scroll the console text up and down if necessary.




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:\games\QUAKE4", then the PunkBuster files will be in "c:\games\QUAKE4\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.

Most people install to and run the game (and PunkBuster) from a local hard drive.  However, for players who run the game from a shared location such as a network file server, an extra step is required in setting up the game to run so that PunkBuster functions properly.  PunkBuster must have full control over its own files and subdirectories for each player.  If multiple players are running the game (and PunkBuster) from the same shared location, then PunkBuster is very likely to have problems authenticating one or more of the players and will eventually remove them from gameplay.  In order to function when running the game from a shared location, the fs_homepath game setting must point to a separate location for each player who runs the game from the shared location.  The easiest way to set this up is to copy the "pb" folder from the shared location to a folder on each player's local hard drive such as "C:\QUAKE4PB".  Then add +set fs_homepath c:\QUAKE4pb to the end of the shortcut target (or other mechanism) that is used to launch the game for each player running from the shared location.

The "pb" folder normally contains the following file types:

  • Files with a "dll", "so", or "mac" 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: pbcl.cfg and pbcllog.cfg may be used and overwritten by the PunkBuster system under some circumstances.  Each time PunkBuster starts, the pbcl.cfg configuration file is loaded automatically.

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 "scrnshot" folder contains PunkBuster screenshot files (described more fully later in this publication).  These files may be retained or deleted as you see fit.
  • The folders that start with "sv" are used by the PunkBuster Server software and are not covered in this publication.  For more information about these folders, please see our related publication entitled 'PunkBuster for Server Administrators'.

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.  More advanced players may wish to use this ability to put PunkBuster commands into key bindings and game configuration scripts for personal convenience.



The Tilde Key

In general, to access the game's console, press the Ctrl+Alt+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 have a ']' character to the far left which is where any typed keystrokes will appear.  To enter any Game or PunkBuster command type out the full command or a few letters of the command, then press the Tab key.  Pressing the Tab key after entering some text into the console tells the Game that you are entering a command.  If you only type a few letters of a command, then the Game will try to auto-complete the command for you by matching the text you have typed up to the point of pressing Tab with known commands in the software.  If there are multiple matches to the text you have typed, then a list of matching commands will be displayed.  For example, typing "PB_" and pressing Tab causes all of the available PunkBuster Client commands to be listed in the console.  The PageUp / PageDown keys can be used to scroll the console output backwards / forwards respectively if necessary to browse through previously displayed information that has already scrolled up past the top of the screen.

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.


The In-Game Server Browser

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", only Servers with PunkBuster "Off", or both types of servers together.




There are two ways to Enable / Disable PunkBuster software.  One is by modifying game configuration files.  The other way is built into the game's user interface.  Both will be described below.  Note that when PunkBuster is Disabled, it will ignore commands and setting changes except for the specific command to Enable after which it will begin full and proper operation.

From the game's main screen, clicking 'Multiplayer' then 'Settings' will bring up a line that says either 'PunkBuster Enabled' or 'PunkBuster Disabled'.  Click this button to toggle the current status of PunkBuster.

If you wish to create a Game Server, then there will be a PunkBuster option near the bottom of the list of Server options.  Set it to 'Yes' if you wish to have PunkBuster Server Software Enabled for the newly created Game Server and set it to 'No' otherwise.

There is no additional cost involved for using PunkBuster in a personal, non-commercial environment.  If you are playing in a prize tournament or any event (whether over the Internet or in a LAN environment) that charges an entry fee and/or awards prizes to participants, the organizers of that event are required to obtain a commercial license with Even Balance, Inc. if they wish to utilize PunkBuster Software during the event.  More information about this requirement can be obtained by emailing license@evenbalance.com.

The alternative method of Enabling and Disabling PunkBuster involves editing config files.  To Enable PunkBuster browse to ../id Software/Quake 4/baseq4/Quake4Config.cfg.  Edit cl_punkbuster to 1 to enable the client, sv_punkbuster 1 to enable the server.

NOTICE: PunkBuster cannot be Disabled immediately during the middle of gameplay.  Choosing to Disable PunkBuster by any methods described above will set PunkBuster into Disabled mode but that does not take effect until the entire game is restarted.  Neither Players nor Server Admins can simply turn PunkBuster off and on during the middle of gameplay.  Once PunkBuster Client and/or Server has been Enabled for a gaming session, it stays Enabled regardless of how many times the Enabled/Disabled mode is toggled.  When the game is exited, the current PunkBuster status is saved and the next time the game is started, PunkBuster will initialize to the mode in which it was last set, either Enabled or Disabled.  That means players can Enable PunkBuster once and then never worry about it again if desired, as it will continue to be enabled from that point on even when the Game is exited unless specifically Disabled at some later point in time.




Most Players use some type of Game Browser to find Game Servers to join.  The Game itself has a very nice integrated Game Browser built in so that Players can usually find what they are looking for very easily.  Some Players prefer to use external Game Browsers such as the ones produced by GameSpy, Pingtool and Kali.


The In-Game Server Browser

For Players who use the in-game browser, a column is displayed that specifically shows whether or not each server listed currently has PunkBuster Enabled.

For external Game Browsers, some configuration may be required to display and/or filter servers based on whether or not they currently have PunkBuster Enabled.  First, a little background: while a Game Server is running, it sends a "heartbeat" packet of information every few seconds to several Master Game Servers located around the world.  This heartbeat packet tells the Master Game Servers that the Game Server is running, how many players are currently connected, and the current status of all sorts of things such as the Name of the server, the maximum number of players and what is commonly referred to as the "server rules".  One of the server rules returned by Game Servers is called sv_punkbuster.  If sv_punkbuster is set to "1" for a particular Server, then PunkBuster is Enabled on that Server.  Consult the documentation for your chosen external Game Browser to determine how to display and/or filter servers based on the value of sv_punkbuster.




One of the core aspects of the PunkBuster system is the automatic update feature.  As new versions of PunkBuster files are made available for download from our Internet-based Master PunkBuster Servers, the PunkBuster software running on Players' and Admin's computers will attempt to retrieve those new versions and perform an automatic "self-update" function in the background without interrupting gameplay.  For most users, this occurs automatically and seamlessly.  Since PunkBuster Servers require all connected Players to be running identical versions of all PunkBuster files in order to be authenticated for "clean" online play, the automatic update facility inside PunkBuster is an important component of the overall system.  PunkBuster will retain older versions in case there is ever a need to connect to a Server that is still running old versions of the PunkBuster software.

All PunkBuster update files are stored in special compressed HTM files and can be opened with any Internet Web Browser.  We have designed and implemented a robust method for securely delivering updates from our Master PunkBuster Servers to Regular PunkBuster Servers and then on to computers that have Enabled the PunkBuster Client software.  Great care has been taken to design and develop the system such that only authentic PunkBuster files will ever be accepted and used by the PunkBuster System during the auto-update process.

There may be times, however, when it is necessary to manually update a PunkBuster System.  For instance, if there is no Internet Access available and multiplayer gameplay is occurring in a LAN environment.  Or perhaps, there is a temporary routing problem causing locally running PunkBuster software to not be able to "find" any Master PunkBuster Servers whereby an update can be obtained.  There may also be times that the PunkBuster Team offers pre-release beta versions of PunkBuster software for manual download so that it can be tested before broad distribution.  For whatever reason that may come up that requires a manual update, we have prepared a separate section, called 'Updating PunkBuster' on our website at Even Balance




The use of PunkBuster commands and settings is optional.  This information is provided for advanced users who want to get more out of the PunkBuster software or who want to customize it.  A brief overview of using commands and settings is given, as well as a reference list of all available commands and settings along with explanations of their correct use.

The most common way to enter a command or to check / change a setting in PunkBuster is to bring down the Game Console and type away.  However, since PunkBuster is directly integrated into the game, PunkBuster commands and settings can also be treated just like any other game command or setting in that they can be placed into game script files, bound to keystrokes and used in aliases.

The easiest way to quickly test that your PunkBuster system is properly installed, Enabled, and working is to type "PB_VER" into the game console.  If PunkBuster is working properly, it will respond by displaying the version number that is currently installed and running.  If there is no response, then PunkBuster is either currently Disabled or there is a problem that may require some troubleshooting.  Consult the FAQ (Frequently Asked Questions) Appendix later in this publication for suggestions on ways to troubleshoot this type of problem.

Some commands are standalone and others may require or accept additional parameters.  For example, the command "PB_VER" is standalone, typing in "PB_VER" tells PunkBuster that you would like to know the currently running Version number.  The command "PB_LOAD" takes one parameter (a filename), typing in "PB_LOAD ABC.CFG" tells PunkBuster to load the configuration file called "ABC.CFG".

PunkBuster settings, sometimes also called variables, hold numbers or textual information that PunkBuster uses while it is operating.  Changing PunkBuster settings will affect the way PunkBuster runs in specific ways.  All PunkBuster settings start out with default values that are the recommended setting values for most users.  To find out the current value of a setting, simply type in the name of the setting all by itself.  For example, typing "PB_LOGTOFILE" will cause PunkBuster to display the current value.  Also displayed is the allowable range that the value can contain.  This particular setting can be set either to 1 or 0 and 0 is the default.  To set it to 1, type in "PB_LOGTOFILE 1", PunkBuster will then respond by showing the setting name along with its new value.  Trying to set a PunkBuster setting outside of its allowable range will cause PunkBuster to give the setting the closest allowable value to what was originally specified.

Listed below (in alphabetical order) is a list of PunkBuster Commands and Settings along with a general description and usage instructions where necessary.

PB_BindSrch [search_text]
Searches through all of your game key bindings for the specified [search_text] and reports on the findings; this is useful if you want to see which key(s) is/are currently bound to which action(s)

PB_CL_Disable
Disables the PunkBuster Client Software - the disabling does not take effect until the game is exited and restarted

PB_CL_Enable
Enables the PunkBuster Client Software

PB_CvarVal [Variable_Name]
Sends a request to the connected Game Server and then displays the results of the request; used by Players to find out the current value of Game Server settings (cvars); client queries using pb_cvarval are ignored if the text "pass" is in the query

PB_CvarList
Displays the allowed cvar ranges for any cvars that the Game Server is monitoring; see the section dealing with the Variable Monitoring Facility

PB_GetSs
Captures and saves a screen shot based on the parameters found in the PB_SSOPTIONS setting listed below; described more fully in the Screen Capture Facility section

PB_Kick [slot #]
Requests that a specific player be removed from the game; this command is part of the PB Player Power facility

PB_Load [File Name]
Loads the specified PunkBuster config file which can contain commands and/or setting changes

PB_MyGuid
Displays your PunkBuster GUID and your Game CDKey (Note: Cdkey is not shown if currently connected to a server); The GUID is used by PunkBuster to identify players and it is based on the CDKey entered into the game

PB_PList
Requests that the connected PunkBuster Server display a list of players and their current status to the console

PB_Power
Requests that the connected PunkBuster Server display a list of players and their current PB Player Power status to the console

PB_RCon [server command]
Allows players with suffecient Power Points to issue server commands that the admin has allowed. Example pb_rcon pb_sv_kick Player

PB_SsOptions
Sets and/or displays the parameters used for taking local PunkBuster Screenshots; used by the Screen Capture Facility

PB_Ver
Displays the currently running version of the PunkBuster Client software

PB_WebUpdate
Adds the PBWEB functionality directly into the PB client; PBWEB should no longer be required to manually update PB clients; PunkBuster will automatically issue this command when necessary to auto-update during gameplay before going into distress mode (note: For RtCW, this command only works in win32 and linux editions)

PB_WriteCfg
Writes the current values of the PunkBuster settings to the local hard drive (creating or overwriting files called pbcl.cfg and pbcllog.cfg) in such a way that they will be loaded automatically the next time PunkBuster starts; if you make changes to your PunkBuster settings and you want the changes to be permanent, then enter this command after making the changes

PB_AutoExec [Filename]
Holds the name of a game script file that is to be executed each time a server is joined; This is useful if you need to reset game settings each time you join a server

PB_Lan [0/1]
Setting defaults to 0; when set to 1, PB will behave as though it has no Internet access

PB_LogAddr [Address / Internet Hostname]
Holds the address of the machine to which remote logging is sent (default is empty meaning the feature is not used)

PB_LogMD5Tool [0/1]
S etting defaults to 0; setting to 1 will cause PB to log all MD5Tool file check query replies sent to connected PB Servers during gameplay

PB_LogPort [Port #]
Holds the listen port of the machine to which remote logging is sent (default is 0 meaning the feature is not used)

PB_LogPw [Password]
Holds the password required to send logging output to a listening remote logging machine

PB_LogToFile [0=no, 1=yes]
When set to 1, PunkBuster will log activity to the pbcl.log file; the default is 0 which means only errors are logged

PB_LogUser [Username]
Holds the username required to send logging output to a listening remote logging machine

PB_MsgPrefix [New Prefix]
Holds the text that PunkBuster displays in front of every output line displayed; the default is "^5PunkBuster Client" (note the ^5 means output in the color LIGHT BLUE); All PunkBuster Client output goes to both the top of the playing screen and to the console by default; To prevent PunkBuster Client messages from being displayed on the playing screen, insert the text [skipnotify] before any desired message prefix text.  For example, the command pb_msgprefix [skipnotify]^5PunkBuster Client will cause all PunkBuster Client output to go only to the console and not to the playing screen.

PB_Security [0=no, 1=yes]
When set to 0, PunkBuster will accept all "update" files without verifying that they are authentic; the default is 1 which should not normally be changed except for LAN environments where there is no Internet Access and/or you fully trust the Servers you are connecting to

PB_Sleep [Period]
Holds the period of time (milliseconds) that PunkBuster "sleeps" between processing cycles; the default is 60; lower numbers will cause PunkBuster to process events more times each second which also has the effect of increasing the bandwidth used by PunkBuster; Players with a modem connection will probably want to set this as high as possible

PB_SsLog [0=no, 1=yes]
When set to 1 (which is the default), PunkBuster will create an entry in the pbsslog.htm log file every time a PunkBuster Server requests a screenshot to be taken and delivered; this log file is designed to be viewed with a web browser and contains information about the size of the image, when it was taken, and also a digital signature of the image itself

PB_SsSave [0=no, 1=yes]
When set to 1 (0 is the default), PunkBuster will save all Server-requested Screenshots to the local hard drive so that Players can see the actual screenshots that have been delivered to Game Servers that they were connected to; if this setting and the PB_SsLog setting are both set to 1, then the pbsslog.htm log file will automatically have links created for local viewing directly from the log file

PB_System [0/1]
PB can conflict with other software on some systems due to vigorous memory scanning; Changing this setting may reduce or eliminate conflicts if you have problems on your system; this setting can only be changed before connecting to a server




PunkBuster issues several types of messages during gameplay.  These will appear at the top of the playing screen for a few seconds before scrolling off.  All messages also are logged to the console and old messages can be reviewed by bringing down the game console.  The game console can be scrolled up or down by using the PageUp or PageDown keys respectively.  During almost every game, there will be periods of inactivity where players are not actively playing the game.  This is a good time to review previous PunkBuster messages to see if you missed any important messages while playing.

The most useful PunkBuster command to get acquainted with is the pb_plist command.  By occasionally issuing a pb_plist command, you can view the PunkBuster status of all players in the game.  The status of each player can either be INIT, UPDT or OK.  The INIT status means that the PunkBuster Server is still initializing that player’s connection.  The UPDT status indicates that the PunkBuster Server is updating that player’s PunkBuster installation.  Other information is displayed by the pb_plist command such as the Auth Rate and RecentSS columns.  The Auth Rate of a player is how many times per minute the player’s PunkBuster has successfully authenticated with the PunkBuster Server.  Once each player has reached OK status, then the Auth Rate should never fall below 2.0.  If it does, that would indicate that PunkBuster is not functioning normally for some reason.  The RecentSS column indicates how many screenshots the PunkBuster Server has requested from each player during the past few minutes.

To get a list of PunkBuster commands with brief usage help during gameplay, bring down the console (with the tilde ~ key) and type "PB_" then press the Tab key.  All PunkBuster Client commands will then be displayed and the PageUp / PageDown keys can be used to scroll the console text up and down.

After each map ends and a few seconds after the next one is starting, the PunkBuster Server will report some information to connected players about the Server log files.  This information gives players the filenames of the log files and also the Digital Signatures of the log files saved at the Server.  This is useful mostly in organized matches where Server Admins provide logs to administrators after each match.  The Digital Signatures that are reported to players keep the Server Admin or anyone else from being able to change or edit the log files without altering the reported Digital Signatures.  If a log file is changed at all, then its Digital Signature will no longer match what was broadcast to all players in the game. We have for download, on our website at evenbalance.com, a free utility called pbmd5 that will compute the Digital Signature (also known as MD5) of any file.  If you would like to "save" the Digital Signature of log files reported by a Server, we recommend bringing down the game console and then taking a screenshot of your playing screen while that information is displayed.  If desired, the PB_GETSS command can be used to save the screenshot.




This is a fairly advanced topic.  This section assumes that the reader is familiar with the concept of game variables (also known as cvars).

If you have used external game browsers such as GameSpy, Pingtool, or Kali, you may have noticed that there are many details about Game Servers that are reported.  Things like the maximum number of players, the current map, the gravity settings, etc. are displayed in the game browser so players can know how servers are set up before attempting to join them.  You may also know that there are many, many variable settings that are not reported by the Game Server to be viewed by persons who do not have access to the Game Server.  The PunkBuster Variable Monitoring Facility is designed to let players view the current value of almost all Server-side variables - the only exceptions are the variables that have the text "pass" in them.

Server Admins have the option of disabling this feature for their Game Servers if they do not want players to be able to see the value of Server-side variables.  However, this facility is Enabled by default and if a particular Server Admin has Disabled the feature, players who try to check the value of Server-side variables will be informed that it is Disabled by the Server Admin.

To check the value of a Server-side variable, use the command called "PB_CVARVAL".  After the command, type in the name of the variable you wish to check.  For example, when connected to a PunkBuster Enabled Game Server, type "PB_CVARVAL timelimit" into your console and press the Tab key then the Enter key.  After a short pause, you should see a response similar to: SV_CVAR timelimit = "8".

At the time of this writing, there are over 350 different Server-side variables that may be configured by Server Admins.  If you want a list, start a Server and type 'cvarlist' into your console and the full list will scroll through the console.  It is beyond the scope of this publication to explain Game Server variables and their meanings.




The PunkBuster Screen Capture Facility allows Server Admins to request actual screenshots from players' screens while they are playing.  The screenshots are transferred over the network and saved by the Server Admins either for private use or possibly for publication to a website.  PunkBuster limits the filesize of the screenshots by setting a maximum number of pixels that can be captured.  PunkBuster also limits how many times a PunkBuster Server can request a screenshot within a few minutes to prevent Server Admins from taking screenshots one after another continuously.  All PunkBuster screenshots are saved in the PNG image format and therefore have the ".png" extension.  This format is similar to the JPEG format but does not reduce image quality during compression.  Most newer Web browsers can view PNG files directly.  Programs that convert PNG format images to and from other formats are widely available.  More information about the PNG format can be found at the PNG-Homepage.

There are two PunkBuster settings that can be used by players to track the activity of PunkBuster Servers that request screenshots from their system.  The settings are called PB_SSLOG and PB_SSSAVE.  If PB_SSLOG is set to 1 (which is the default), then PunkBuster will keep a log file on your hard drive in the "pb" folder called "pbsslog.htm".  This log can be viewed using any web browser such as Netscape or Internet Explorer.  The log contains information about each screenshot that was requested by a PunkBuster Server.  If PB_SSSAVE is set to 1 (note that 0 is the default), then PunkBuster will save the actual screenshot to your hard drive after the screenshot image has been transmitted to a PunkBuster Server.  Note that screenshot images vary in size usually between 40 and 80 thousand bytes.  If you play frequently, saving Screenshots to your hard drive can consume a lot of disk space after only a few days.  We don't recommend setting PB_SSSAVE to 1 unless you are sure that you will routinely view the screenshot images and remove them if they start to take up too much disk space for your system.

If PB_SSSAVE is set to 1, PunkBuster saves the screenshots into the folder called "scrnshot" inside the "pb" folder.  The filename used is based on the date that the screenshot was taken.  For example, the first screenshot taken on March the 15th will have the filename "0315_000.png".  The next one would have "0315_001.png", etc.  If you exit the game and play again later the same day, PunkBuster will start over at 000 and overwrite the images taken in earlier sessions.  Please keep this in mind if you intend to keep all of your screenshot images.

When PunkBuster writes log lines to the "pbsslog.htm" file due to a screenshot request from a connected PunkBuster Server, the log lines will have the following format: "<local filename> <server filename> <time screenshot was taken> <MD5 of the screenshot> <address of the game server> <name of the game server>".  If the PB_SSSAVE setting is at 0, meaning that screenshot images are not saved locally, then the first item <local filename> is replaced by the date and the words "(Not Saved)".  The information called <MD5 of the screenshot> is a type of digital signature of the screenshot image.  Logging the MD5 is a way to protect players from unscrupulous Server Admins who would otherwise try to alter or create images in order to "frame" players by making it look like they are running some type of game hack or cheat.  If a screenshot image is modified, then it's MD5 will no longer match the MD5 that is saved to your log file.  For players who are very concerned about protecting themselves from this type of thing, we offer the Remote Logging Facility.

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.  This can be bound to a key-press for convenience.  For example, to bind PB_GETSS to the 'P' key, press the tilde (~) key to bring down the game console and type "bind p pb_getss" followed by the Tab key and then the Enter key to issue the Bind command.  Then while you are playing and you wish to capture an image, press the 'P' key and the image will be saved.  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.




This facility is not associated with the votekick system that is built into the game itself. Both systems work independently of each other and can be used together or be enabled/disabled separately depending on the desires of each PB Server Admin.

PB Player Power allows PB Server Admins to empower their trusted regular players with more weight in a new elective process used to remove an undesirable player from the game server. Frequently, troublemakers who attack teammates, block doorways, or otherwise ruin the gameplay are able to get around other methods of keeping them off of the server. This new facility aims to tackle this issue so that gameplay on good public servers doesn't suffer when troublemaking punks show up.

The use of this facility by players requires being comfortable with issuing PB Commands. Please refer to the Commands section of this publication for general information on how to access the game console and enter PunkBuster commands.

When connected to a PB Server, use the pb_power command to determine if PB Player Power is enabled or disabled on that server. The first line of output shows this indication. Below that line, a list of all connected players is displayed showing each player's PB slot #, power rating and also the number of power points that have been applied against each player (if any). Once the number of power points applied against a player has reached the limit for the server, then that player is removed from the game and won't be allowed to rejoin until several minutes have passed (the exact amount of time is set by each PB Server Admin).

Notice that if any players are shown to have 100 power points, then those players are considered deputies to the PB Server Admin. If one or more deputies are connected, then only deputies are able to use the PB Player Power facility.

When no deputies are present, all players on the server may each apply their power points against other players. To apply your power points against a player that you want removed from the game, use the pb_kick command. You must specify the slot # of the player who you wish to have removed. The slot # of each player is shown in the list displayed by the pb_power command described above. For example, if you wish to remove the player in slot #5, then press your tilde key (~) to bring down the game console, then enter "pb_kick 5" (without the quotes), press the Tab key, and then press the Enter key. The PB Server will ignore your pb_kick commands if there are one or more deputies connected or if you enter the command more frequently than once per minute. There is no duration for the pb_kick command. It stays in effect until you leave the server, or the target player leaves the server or until you specify a different player with the pb_kick command. That means that your power points can only be applied against any one other player at a time.

Players should be aware that when power points are applied against another player, the event is reported to all players on the server by PunkBuster. The report includes the target player's slot # and name as well as the name of the player who issued the pb_kick command and the associated number of power points applied.




The PB RCon Facility allows admins to give specified players something similar to the normal RCon ability of the game. The Facility is based on guids that are generated for each player, so passwords are not used for this feature at all. This will work with anything that would normally be entered at the server console including commands, settings, etc. even specific to whatever mods you are running at your server.

We assume that the Admin of the PB Server has set up a list of pb_rcon commands, and has also assigned you Power Points so you can execute pb_rcon commands. For more information on Power Points check the PunkBuster Player Power section of this documentation. If you wish to learn how to enable the PB_RCon as an Admin please see our related publication entitled 'PunkBuster for Admins'.

As example, the admin has set up following list of RCon commands:

  • 100 power points required to permanently ban players (pb_sv_ban)
  • 50 points required to change the map (map)
  • 25 points required to change sv_minping and sv_maxping server cvars (command prefixes used here are sv_minp and sv_maxp).
To issue PB_RCon commands, you will need to use PB_RCon in your console while playing - you must be connected to the server and past the point where the PB server issues their GUID. You may now type PB_RCon followed by the command you wish to execute.

If you have 30 power points you can successfully issue this command using our example: /PB_RCon sv_maxping 150.

As a player with 50 points you could as well successfully issue /PB_RCon map q3dm1.

Once a PB_RCon command has been executed by you, the PB server will announce to all players that the command has been executed and say that you executed it. If you are trying to use PB_RCon and do not have the requisite power points or try to issue a command that is not in the list, then the PB server logs that activity but otherwise ignores it. No feedback is sent to players - successful or unsuccessful. There is no "secrets" with this command. You can't use it to do anything anonymously. Any output associated with an issued command is logged to the server console and log files, but is not returned to your console.




Even Balance, Inc. offers a premium, optional Name Registry hosting service for Players, Clans, Guilds and other groups who wish to take advantage of our facility for online identity verification.  Registered names are password protected so that only persons knowing the correct password will be designated as *Registered while playing on PunkBuster-Enabled Game Servers.  Subscribers will be able to Register Names either with Partial or Full matching.  Registered Names for Partial matching are designed for groups such as clans, guilds, etc. whose members wear a "tag" (usually at the beginning or end of each member's playing name).  For Partial type Names, the Registered Name can appear anywhere in the player's name to attain *Registered status.  Full matching Registered Names will require an exact match of the playing name to the Name Registration record in order to attain *Registered status.

Each Registered Name comes with a descriptive line of text (up to 80 characters) that is provided so that a website, email address, membership requirements, or other information describing the group or person represented by the Registered Name can be displayed to other players during gameplay.  The Name Registry is not exclusive with regards to unique Registered Names.  Different groups / players will be allowed to Register a Name that is already in the Registry.  All Registrations of a unique Name after the first will have a serial number automatically appended to the Name Registration so that different Registrations can be easily distinguished. More information is available on our website at evenbalance.com.




Even Balance, Inc. will soon be offering a premium, optional hosting service for Players who wish to remotely log screenshot signatures in real time for automatic publication to a fully and openly accessible website.  We will offer a similar service for Server Admins.  Each subscriber gets a separate page and each days' activity is further separated into web pages.  The subscription service is password protected so that players who play on multiple machines can log screenshot signatures from their various playing machines.  When this Service is available, more information will be available on our website at evenbalance.com.




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.)

Miscellaneous Violations:
#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 (see the FAQ for more info)

Integrity Violations:
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.

Cheat/Hack Violations:
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




Frequently Asked Questions (FAQs) are available on our website. Choose the appropriate game from the support page.