PunkBuster For Server Administrators

Last updated May 15, 2003 For the most up-to-date online version of this publication, choose from the following translations: English, French, Spanish, Italian, or German. 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. P O Box 11395 Spring, Texas 77391-1395 This publication is © Copyright 2002-2003 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.

Introduction What PunkBuster Is All About Quick Start Guide The Basics Game Integration PB Subdirectory and File Information The PunkBuster Interface Enabling and Disabling PunkBuster Updating PunkBuster WebTool Commands and Settings Commands Settings Player Name Management Facility Monitoring Game Variables Advanced Cvar Monitoring Screen Capture Facility PunkBuster Player Power Remote Logging Facility Frequently Asked Questions

This publication is for Server Administrators 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: Wolfenstein: Enemy Territory, by id Software, Inc. 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. Since this manual is for Server Administrators, we will assume for the most part that the reader is familar with the Game Console, entering commands, and configuration files. If you wish to learn about using the PunkBuster Client software for use with playing the game, please see our related publication entitled 'PunkBuster for Players'.

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

If you create a Game Server using the In-Game Browser screen, make sure the PunkBuster setting is set to 'Yes' before proceeding to create the Server. If running the Game Server strictly in console mode, enter `PB_SV_ENABLE` to ensure that the PunkBuster Server software is enabled before proceeding. When PunkBuster is Enabled for the first time, it will begin operation using the default configuration. This configuration has been designed to work with all types of game servers. Optimizations can later be made by adjusting the PunkBuster settings described later in this publication to better match the server connection speed, user load, and Admin preferences. The following are a few options that can greatly enhance server cheat protection with a relatively easy learning curve. Once PunkBuster has been enabled, automatic screenshot capturing can be turned on by setting `PB_SV_AUTOSS` to 1. To make this (and/or most other PunkBuster setting changes) permanent, enter the command `PB_SV_WRITECFG`. This will save most current PunkBuster settings to the PunkBuster configuration file "pbsv.cfg". PunkBuster loads this configuration file every time it is run. When the automatic screenshot capturing has been turned on, screenshots will begin to be routinely taken of all the servers’ connected players and stored in the "svss" folder. The default limit to the number of captured screenshot files is 100 which can be changed with the command `PB_SV_SSCEILING`. Once the limit has been reached, the PunkBuster server will begin to overwrite the current files starting with the lowest numbered file first in an endless cycle. For Server Admins who wish to log important (but verbose) information about each connected player's cvars during gameplay, enter the following four setting changes into the Game Console. These will have the effect of logging (every 15 minutes) all user-created and non-default player cvars to special log files with a `.var` extension (in the "svlogs" folder). `PB_SV_CvarLogging 2 PB_SV_CvarWalk 4 PB_SV_CvarUserPulse 15 PB_SV_CvarChangedPulse 15`

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\et", then the PunkBuster files will be in "c:\games\et\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. 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. All interaction with PunkBuster is performed inside the game itself. The PunkBuster Server logs information both to the Game Server Console and PB Server Logs located in the "svlogs" folder. When you need to issue commands and setting changes to PunkBuster, do so by typing directly into the game's interface / console. Groups of commands and settings can also be placed into “.cfg” files for easy loading. All PunkBuster Server commands and settings start with the same six characters: "PB_SV_". Specific PunkBuster commands and settings are described in a subsequent section of this publication. PunkBuster doesn't care if 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 the PunkBuster Server needs to display a message, the message will be preceded by the words "PunkBuster Server:".

There are two ways to enable / disable PunkBuster software. One is by typing commands into the game console. The other way is built into the game's user interface Only the command line method will be described below, the GUI method is described in our publication "PunkBuster for Players". 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. To Enable the PunkBuster Server from the console, type in `"PB_SV_ENABLE"` without the quotes. To Disable PunkBuster, type `"PB_SV_DISABLE"`. NOTICE: PunkBuster cannot be Disabled immediately during the middle of gameplay. Choosing to Disable PunkBuster by any method 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 becomes Enabled immediately and then 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.

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 occuring 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 page on our website designed to help with manual updates.

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). Starting with version 0.987, 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, pb_sv_httpRefresh, and pb_sv_httpMaps. 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. If you wish to customize the map dropdown list, then set the pb_sv_httpMaps setting to hold the maps, separated by a space, that you wish to see in the list. For example, setting pb_sv_httpMaps to "mp_beach mp_ice" means that only those 2 maps will show up in the drop down. Note that you are not limiting the maps available to the server in any way, only what will show up in the WebTool's drop down list. The Login Screen is where the Web Key is entered for access to the other screens. Remember that the Web Key is the value of the pb_sv_httpKey setting or, if that is blank, the value of the rconpassword game server setting. The four buttons at the bottom of the page take you to the various screens available inside the WebTool provided that the Web Key is entered correctly. These four buttons appear at the bottom of all screens inside the WebTool to make it easy to navigate to the various areas. The Command Screen is provided so that commonly used game commands can be issued very easily. The name on each button corresponds to the exact name of the game server command that it represents. This is also the screen with the map list drop down to make changing maps very easy. If you wish to issue a specific game command that is not covered by one of the buttons, enter your desired command into the "To console->" field and then click the "To console->" button to send that command to the game server. The Player List Screen shows all players and their PunkBuster slot numbers along with the same information displayed by the PunkBuster pb_sv_plist command. The bottom of this screen has buttons to allow you to kick, ban or get a screenshot from a specific player. To perform one of these actions, first click the button corresponding to the slot number of the player you wish to reference. That player's information will then automatically be filled into the Slot # and GUID fields at the bottom of the screen. If you plan to kick or ban that player, you may edit the Reason field and if kicking, the Kick Minutes field which defaults to 2 minutes. Press the appropriate button to take action. Note that pressing the pb_sv_getss button will cause the PB Server to request a screenshot from the referenced player. However, screenshots are not viewable through the WebTool interface at this time. The Game Settings Screen allows common game server settings to be changed easily. Simply change the value of one or more settings and click the "Update" button at the bottom of the screen. The field tags correspond exactly to the game server's cvar names. If you wish to change a setting that is not shown on this page, you can use the "To console->" method found on the Commands Screen (described above). The PB Settings Screen is used to change PunkBuster settings. Simply change the value of one or more settings and click the "Update" button at the bottom of the screen. Except for the Web Key field, the field tags correspond exactly to the PunkBuster Server's setting names. Please note that the behavior is the same as changing PB Settings from the server console in that they are not saved to the PB config files until/unless you issue a pb_sv_writecfg command after making the change. There is a button for this command on the Commands Screen (described above). If you change a PB Setting and want PunkBuster to "remember" the new value even after the server is exited, then you should issue a pb_sv_writecfg command after making the change. You should also be aware that the WebTool settings can be changed on this page. If you change the Web Key, the Port number and/or the Address values, then that will affect your current WebTool session. In that case, be prepared to retype any new URL into your web browser and start over with the Login process to continue using the WebTool.

The easiest way to quickly test that your PunkBuster Server is properly installed, Enabled, and working is to type `"PB_SV_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 not installed properly or has become corrupted and should be reinstalled. Some commands are standalone and others may require or accept additional parameters. For example, the command `"PB_SV_VER"` is standalone, typing in `"PB_SV_VER"` tells PunkBuster that you would like to know the currently running Version number. The command `"PB_SV_LOAD"` takes one parameter (a filename), typing in `"PB_SV_LOAD ABC.CFG"` tells PunkBuster to load the PB configuration file called `"ABC.CFG"`. Many Server Admins remotely control their game servers via the `rcon` facility built into the game. Most PunkBuster commands will operate the same way whether issued directly into the game console or remotely. A few of the Server commands listed below send queries to Clients and the responses are not directed back to the user when issued remotely via rcon. These commands are denoted by a `{rcon limited}` designation after the command name in the descriptions below. Most Server Admins will not use the `PB_SV_LOAD` command, but rather will use the game-specific exec command so that configuration files can be loaded that have both Game and PunkBuster commands and settings changes. Configuration files loaded by the `PB_SV_LOAD` command may contain only PunkBuster related commands and settings. 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 values for most users. To find out the current value of a setting, simply type in the name of the setting by itself. For example, typing `"PB_SV_AUTOSS"` 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.. To set it to 1, type in `"PB_SV_AUTOSS 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_SV_AutoUpdBan [0/1] Set to 1 (defaults to 0) if you want PB to automatically update the permanent ban file (pbbans.dat) after each change to the banlist in memory PB_SV_BadName [grace_seconds] [text_filter] Adds a bad name to the list of bad names for the server to disallow in player names PB_SV_BadNameDel [slot #] Deletes a bad name from the list of bad names PB_SV_BadNameList Displays the current bad name list for the Game Server; see the section dealing with the Player Name Management Facility PB_SV_Ban [name or slot #] [displayed_reason] | [optional_private_reason] Removes a player from the game and permanently bans that player from the server based on the player's guid (based on the cdkey); the ban is logged and also written to the pbbans.dat file in the pb folder PB_SV_BanEmpty Empties the current ban list stored in memory PB_SV_BanGuid [guid] [player_name] [IP_Address] [reason] Adds a guid directly to PB's permanent ban list; if the player_name or IP_Address are not known, we recommend using "???" PB_SV_BanList [optional_search_text] Displays the list of bans in the console, including kicks with a temporary ban; if the `[optional_search_text]` parameter is specified, then only bans/kicks that include the search text are listed (useful for searching for a specific name / guid). PB_SV_BanLoad [optional filename] Loads a PB Ban List from the specified file; if no filename specified, then pbbans.dat is loaded PB_SV_BanMask [IP Address / Subnet Mask] Permanently bans players from joining the server from the specified IP Address / Subnet Mask; for example: issuing PB_SV_BanMask "12.34." will cause PB to deny access to all players trying to join from an IP Address that begins with "12.34."; These bans are written to the pbbans.dat file just like bans issued with the PB_SV_Ban command PB_SV_BindSrch [search_text] [player_name_or_slot#] `{rcon limited}` Sends a request to all applicable connected players asking for a report on which local player key bindings contain the specified `[search_text]`; to specify a player name or substring (as opposed to slot #), surround the text with double-quote marks PB_SV_Cvar [Cvar_name] [IN/OUT/INCLUDE/EXCLUDE] [Param1] [optional_Param2] Adds an automatic cvar check to the list of cvars for the server to check for during gameplay PB_SV_CvarChanged [player_name_or_slot#] `{rcon limited}` Sends a request to all applicable connected players asking for a list of which local player cvar values have been changed from their original default value; to specify a player name or substring (as opposed to slot #), surround the text with double-quote marks PB_SV_CvarDel [Cvar slot #] Deletes a Cvar range check from the list of checks stored in memory; the Cvar slot # can be obtained via the pb_sv_cvarlist command PB_SV_CvarEmpty Empties the list of Cvar range checks in memory PB_SV_CvarList Displays the allowed cvar ranges for all cvars that the Game Server is monitoring; see the section dealing with the Variable Monitoring Facility PB_SV_CvarSrch [search_text] [player_name_or_slot#] `{rcon limited}` Sends a request to all applicable connected players asking for a list of which local player cvar values contain the specified `[search_text]`; to specify a player name or substring (as opposed to slot #), surround the text with double-quote marks PB_SV_CvarUser [player_name_or_slot#] `{rcon limited}` Sends a request to all applicable connected players asking for a list of which local player cvars were created by the user (as opposed to being part of the game itself); to specify a player name or substring (as opposed to slot #), surround the text with double-quote marks PB_SV_CvarVal [Variable_Name] [player_name_or_slot#] `{rcon limited}` Sends a request to all applicable connected players asking for the value of the specified variable (cvar); to specify a player name or substring (as opposed to slot #), surround the text with double-quote marks PB_SV_Disable Disables the PunkBuster Server Software - the disabling does not take effect until the game server is exited and restarted PB_SV_Enable Enables the PunkBuster Server Software PB_SV_GetSs [player_name_or_slot#] Sends a request to all applicable connected players asking for a screen shot to be captured and sent to the PB Server; to specify a player name or substring (as opposed to slot #), surround the text with double-quote marks PB_SV_IPGuard [IP Address] The PunkBuster Server automatically adds suspicious IP Addresses to the IP Guard list when players join with a non-functioning PunkBuster client; Players joining from a guarded IP with an old version of PunkBuster are removed from the server; The PB_SV_IPGuard command allows admins to add their own suspicious IP Addresses to the list PB_SV_Kick [name or slot #] [minutes] [displayed_reason] | [optional_private_reason] Removes a player from the game and won't let the player rejoin until specified [minutes] has passed or until the server is restarted, whichever comes first - kicks are not written to the pbbans.dat file but they are logged and will show up in the output from the pb_sv_banlist command PB_SV_Load [File Name] Loads the specified PunkBuster configuration file which can contain PunkBuster commands and/or setting changes PB_SV_NameLock [GUID or partial match] [Name to Lock] Causes the PunkBuster Server to kick players wearing a locked name unless the player's GUID contains the specified GUID or partial match associated with a locked name; NameLocks are not stored to disk automatically so Admins should add these to the pbsvuser.cfg file in order to have NameLocks extend to future server sessions PB_SV_NameLockEmpty Empties the list of NameLocks in memory PB_SV_NameLockList Displays the list of NameLocks to the server console PB_SV_NewLog Causes PunkBuster to close the current PunkBuster log and open a new one PB_SV_PList Displays a list of connected players and their current status PB_SV_Power [slot #] [power rating] Adds player in specified slot # to the locally stored PB Player Power database with the specified power rating. (NOTE: The order of the arguments for this command was reversed for consistency starting in version 0.996). PB_SV_PowerList [filter] Displays a list of Power Players in the database; if filter is specified, then only entries where the filter is either in the guid and/or name fields are displayed PB_SV_PowerPoints [power slot #] [points] Changes the number of Power Points assigned to a Power Player in the database; use the PB_SV_PowerList command to get the power slot # PB_SV_ProtectName [Unique ID] [Registered Name] Protects the specified PunkBuster Registered Name on the local server so that players who wear the protected name without having the correct Registration Credentials will be removed from the server PB_SV_ProtectTag [Unique ID] [Registered Tag] Protects the specified PunkBuster Registered Tag on the local server so that players who wear the protected tag without having the correct Registration Credentials will be removed from the server PB_SV_ReBan [slot #] Rebans a player who has been mistakenly Unbanned with the pb_sv_unban command; use pb_sv_updbanfile to update the permanent ban file after using this command PB_SV_Task [X] [Y] [command] Adds a task to PB's Task List; The Task will be executed X seconds after entry and every Y seconds thereafter; use -1 for Y if a one-time task is desired; this can be used to execute game server commands as well as PB commands PB_SV_TaskDel [task slot #] Removes the task from PB's Task List that corresponds to the specified task slot # PB_SV_TaskEmpty Empties the list of Tasks in memory PB_SV_TList Displays a list of PB Tasks along with a task slot # for each task PB_SV_UnBan [slot #] Unbans a player from the ban list stored in memory; use pb_sv_updbanfile to update the permanent ban file after using this command PB_SV_UnBanGuid [guid] Unbans a guid from the ban list stored in memory; use pb_sv_updbanfile to update the permanent ban file after using this command PB_SV_Update Forces the PB Server to attempt a PB software update even if no players are currently connected PB_SV_UpdBanFile [optional filename] Updates the specified ban file (pbbans.dat is used if none specified) with regard to recent unbans/rebans PB_SV_Ver Displays the currently running version of the PunkBuster Server software PB_SV_WriteCfg Writes the current values of the PunkBuster Server settings to the local hard drive (creating or overwriting a file called pbsv.cfg) in such a way that they will be loaded automatically the next time the PunkBuster Server starts; server admins who wish to manage multiple config files for different situations will usually not use this command at all PB_SV_AutoSs [0/1] Set to 1 (default is 0) if you want the PB server to regularly retrieve screen shots from connected players PB_SV_AutoSsFrom [Seconds] Minimum number of seconds (default is 60) PB will wait before requesting a screen shot after the previous request from each player PB_SV_AutoSsTo [Seconds] Maximum number of seconds (default is 1200 = 20 minutes) PB will wait before requesting a screen shot after the previous request from each player PB_SV_CQC [0/1] CQC means Client Query Capability - setting this to 0 (default is 1) means that connected players cannot use PB to check the value of game server cvars (we recommend leaving this set to the default of 1 to promote goodwill); NOTE that PB doesn't let players see the value of any server-side cvars that include the text "pass" nor any PB settings PB_SV_CvarChangedPulse [Number] The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above PB_SV_CvarFreq [Number] The number of times per minute (default is 6) that each player has one cvar value checked against the current list of cvar ranges on this server PB_SV_CvarLogging [0/1/2/3] Determines the target destination of log output related to player cvar checks; The value of 1 (default) specifies the server console and normal log file, the value of 2 specifies separate log files in the "svlogs" folder with the var file extension, and the value of 3 specifies both PB_SV_CvarUserPulse [Number] The number of minutes (default is 99 which means disabled) between automatic sends of the `CVARUSER` command described in the command section above PB_SV_CvarWalk [Number] The default setting of 0 tells PunkBuster to simply log lists of cvar names returned by the `CVARSRCH`, `CVARUSER` and `CVARCHANGED` commands so that the Admin would have to manually query the individual values if desired; a non-zero setting tells PunkBuster to "walk" through each cvar returned in such a list automatically and log the values of each cvar - the higher the number for this setting, the more cvars PunkBuster walks through during each processing cycle PB_SV_DupNameGrace [Seconds] Set to the number of seconds (default is 0 which means duplicate name kicking is disabled) of grace period a player should be granted to change names before being kicked for having the same (duplicate) name as another player (first come first served) on the server PB_SV_EmptyName [0/1] When set to 0 (which is the default), PunkBuster will remove players who join with an Empty Name or who change to an Empty Name during gameplay PB_SV_ExtChar [0/1] The default setting of 0 tells PunkBuster to disallow extended ASCII Characters in player names; for the purposes of this command, characters that cannot be easily entered with simple keystrokes are considered extended PB_SV_GUIDRelax [0-7] Defaults to 0; Controls PunkBuster's kicking behavior related to GUIDS; A Value of 1 means PB will not kick for UNKN (Unknown) GUIDs; A Value of 2 means PB will not kick for WRONGIP GUIDs (these are GUIDS which are valid but not from the IP Address the player is connecting from); A Value of 4 means PB will not kick for DUPLICATE GUIDs; These values (1, 2 and 4) can be combined to achieve the desired behavior PB_SV_HttpAddr [IP Address] The IP Address of the computer running the PunkBuster WebTool; if this setting is left empty ("" which is the default), then the WebTool will only operate properly when used with a web browser running on the same machine as PunkBuster itself (i.e. using 127.0.0.1 as the IP address) PB_SV_HttpKey [Key (password) for WebTool use] The Key or Password used by the WebTool to limit access to its features; if this setting is left empty ("" which is the default), then the game server's rconpassword will be used instead; if both are empty, then the WebTool will not be usable at all PB_SV_HttpMaps [List of Maps] By default, this setting is empty which means that the standard official maps will be displayed in the 'change map' dropdown list inside the WebTool; if you wish to customize the entries in the dropdown, then use this setting to store the list of maps (each separated by a space) PB_SV_HttpPort [Port Number] The TCP port number used by the WebTool's http server; this setting defaults to 0 which means the WebTool is deactivated PB_SV_HttpRefresh [Number] The number of seconds between auto-refreshes of the Player List screen inside the WebTool; setting this to 999 means that the page will not auto-refresh at all PB_SV_KickLen [Minutes] The number of minutes (default is 2) a player will be kept from being able to rejoin after getting kicked by PunkBuster PB_SV_LanMask [IP Subnet Mask] This setting is used for Internet Servers that also have local LAN game clients connecting; it should be set to hold the subnet of the LAN; for example, if the LAN IP Addresses are 192.168.1.x, then set pb_sv_lanmask to 192.168.1 PB_SV_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_SV_LogCeiling [Number] The highest serial number (default is 1000) that PunkBuster will use in numbering its log files before starting over at 1 PB_SV_LogNext [Number] The next serial number that PB will use to name a PB log file; this setting is automatically maintained by PunkBuster and is incremented after each map change by the Game Server as PB opens a new log file PB_SV_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_SV_LogPw [Password] Holds the password required to send logging output to a listening remote logging machine PB_SV_LogSync [0/1] When set to 1 (default is 0), PB will name Game log files in accordance with PB log files using the same serial number system; Game log files will still be stored in the same location inside the game directory either way, but will have the same filename as the corresponding PB log file and both will be closed at the end of each map and a new log file will be opened PB_SV_LogUser [Username] Holds the username required to send logging output to a listening remote logging machine PB_SV_MaxConDls [Number] The maximum number (default is 3) of PB updates that PB will attempt to download at the same time PB_SV_MaxDlRate [KB/sec] The (roughly) maximum bandwidth (default is 1 KB/sec) requested per file for PB update downloads PB_SV_MinName [0-4] Holds the minimum player name length (default is 0) allowed on the server (after stripping color codes) PB_SV_MsgPrefix [New Prefix] Holds the text that the PunkBuster Server displays in front of every output line displayed; the default is "`^3PunkBuster Server`" (note the `^3` means output in the color GOLD); If the game server is running in non-dedicated (listen) mode, all PunkBuster Server output goes to both the top of the playing screen and to the console by default; To prevent PunkBuster Server messages from being displayed on the playing screen, insert the text `[skipnotify]` before any desired message prefix text. For example, the command `pb_sv_msgprefix [skipnotify]^3PunkBuster Server` will cause all PunkBuster Server output to go only to the console and not to the playing screen. PB_SV_NoGuidGrace [Seconds] Holds the number of seconds PB will wait (default is 1) before kicking players who join without having a GUID; Refusing to enter a CDKey into the game causes the "no guid" condition PB_SV_PowerDef [power points] Holds the default number of Player Power points (default is 1) assigned to players who are not in the locally stored PB Player Power database PB_SV_PowerKickLen [minutes] The number of minutes (default is 5) a player will be kept from being able to rejoin after being removed via the PB Player Power facility PB_SV_PowerMin [power points] A player is removed from the server when the number of power points applied against him/her is equal to or greater than the value of this setting (default is 10) PB_SV_ScoreKick [low_negative_score] Players whose score drops below this setting will be kicked from the server; the default of 0 means disabled; the allowable range is -1 to -20 PB_SV_Sleep [Period] Holds the period of time (milliseconds) that the PunkBuster Server "sleeps" between processing cycles; lower numbers will cause PunkBuster to process more times each second which also may have the effect of marginally increasing the bandwidth used by PunkBuster PB_SV_Specname [text] If a special spectator client "bot" is used on the server, this setting should hold the player name corresponding to that client so that the PB Server will know this is not a real player; if the player with this name ever has a non-zero score, the "special" status is lost PB_SV_SsCeiling [Number] The highest serial number (default is 100) that PB will use in numbering Screenshot (PNG) files obtained from players before starting over at the `PB_SV_SsFloor` value PB_SV_SsCmd [Filename] The name of the script file (default is "" empty which means "not used") that PB calls after each screen shot PNG image file is received; this can be used by admins to copy or otherwise process screenshot files that are obtained automatically during gameplay PB_SV_SsDelay [Seconds] When this is non-zero (default is 0), then each PB client will wait a random number of seconds up to the value of this setting after receiving the request before actually capturing a screen image for sending back to the server PB_SV_SsFloor [Number] The lowest serial number (default is 1) that PB will use in numbering Screenshot (PNG) files obtained from players PB_SV_SsHeight [Pixels] The requested height (default is 240 pixels) of images captured by PunkBuster Clients for sending to the PB Server PB_SV_SsNext [Number] The next serial number that PB will use to name a PNG screen shot image file PB_SV_SsPath [Path] If specified (default is "" empty), PB will write captured screen shot images obtained from connected players to this alternate location, this can be a network share or some other location where you would prefer to place screen shot images and the "helper" htm files that go with them PB_SV_SsSRate [Number] The sample rate (default is 1) used for capturing screen shots, specifies how many pixels get skipped in the processing of the image to keep file sizes down; if set to 2, then only every 2nd pixel is taken (in both horizontal and vertical directions); if set to 4, then only every 4th pixel is taken PB_SV_SsWidth [Pixels] The requested width (default is 320 pixels) of images captured by PunkBuster Clients for sending to the PB Server PB_SV_SsXPct [Percentage] The percentage across the screen (default is 50%) where the center of the requested screenshot should be captured from PB_SV_SsYPct [Percentage] The percentage down the screen (default is 50%) where the center of the requested screenshot should be captured from PB_SV_UpdateGrace [Seconds] Holds the number of seconds (default is 600) that PunkBuster allows for a player to successfully update to the version of PunkBuster currently in use at the server

Some Server Admins wish to try to limit profanity / offensive language on their game servers. This is an individual preference issue. For Admins who wish to prevent players from using certain offensive text in their playing names, PunkBuster includes the Player Name Management Facility also known as the BadName Facility. By default, PunkBuster does not do any checking for BadNames. If you wish to construct a list of offensive text filters in PunkBuster so that players will not be able to wear names containing the offensive text, use the BadName command. The format of the BadName command is as follows: `PB_SV_BADNAME [grace_period] [filtered_text]` You can fill up a configuration file with nothing but these types of statements if desired and then issue a `PB_SV_LOAD` command either manually or inside your pbsv.cfg file to have the whole list executed easily at one time. If prefered, you can also type them into the console and do a `PB_SV_WRITECFG` to have the whole list written, along with your other current PB settings, to the pbsv.cfg file which is automatically loaded every time PunkBuster starts. If PB detects that a player has a name that includes the exact `[filtered_text]` from any BadName entry (case insensitive), then PunkBuster will send a warning message to the player that the playing name is not allowed on this server and that the player should change the name. If the name is not changed to an acceptable name within the number of seconds specified by `[grace_period]` for that text filter, then the player is removed from the game. Note that setting `[grace_period]` to 0 has the effect of immediately removing a player before any warning message has time to display. Note that PB strips player names of color codes before searching for `[filtered_text]`.

PunkBuster provides the ability for Server Admins to specify a list of acceptable player cvar value ranges while playing on the Game Server. When each player connects to a PB-Enabled Server, the PB Client will download the list of acceptable cvar ranges from the PB Server and will check all of the player's cvars for compliance. The player is warned about any cvars that are unacceptable to the Game Server. The player then will have a few seconds to make any necessary corrections before the PB Server will begin methodically and regularly checking that player's cvars against the list of acceptable ranges. If a player is found to have a cvar that is outside the acceptable range for that cvar, then that player will be removed from the game immediately. To add a cvar check to your PB Server, use the `PB_SV_CVAR` command. There are four different types of cvar checks that can take place: `IN`, `OUT`, `INCLUDE`, and `EXCLUDE`. Each is explained below along with examples and the format of the `PB_SV_CVAR` usage required to properly add that type of check to the PB Server's list. As with any other PB Command or Setting, cvar checks can be stored in configuration files and loaded either automatically during startup or upon demand during gameplay. In the case of cvar checks, we recommend adding new entries in such a way that they take effect the next time the server is started rather than adding them during gameplay. Note that once a cvar check has been added, it cannot be removed or changed without restarting the PB server. If a subsequent entry is made with the same cvar name, it is added to the list without affecting the prior entry. Also note that checking for non-existent cvars will return empty strings (which also evaluate to the value of 0). `PB_SV_CVAR [cvar_name] IN [from_value] [optional_to_value]` If you wish to require that a particular cvar always equals a certain value or falls within a specified range of values, use the "IN" type. For example, `"PB_SV_CVAR handicap IN 10"` means that each player's handicap cvar must always equal 10 on your game server. Issuing `"PB_SV_CVAR handicap IN 5 15"` means that handicap must always fall inside the 5 to 15 range (inclusive). `PB_SV_CVAR [cvar_name] OUT [from_value] [optional_to_value]` If you wish to require that a particular cvar never equals a certain value or falls within a specified range of values, use the "OUT" type. For example, `"PB_SV_CVAR handicap OUT 0"` means that each player's handicap cvar must never equal 0 on your game server. Issuing `"PB_SV_CVAR handicap OUT 11 99"` means that handicap must never fall inside the 11 to 99 range (inclusive). `PB_SV_CVAR [cvar_name] INCLUDE [text]` If you wish to require that a particular cvar always includes the specified `[text]` inside its value, use the "INCLUDE" type. For example, `"PB_SV_CVAR r_drawbuffer INCLUDE gl_back"` means that each player's r_drawbuffer cvar must always have the text "gl_back" somewhere in the value. `PB_SV_CVAR [cvar_name] EXCLUDE [text]` If you wish to require that a particular cvar never includes the specified `[text]` inside its value, use the "EXCLUDE" type. For example, `"PB_SV_CVAR name EXCLUDE ^"` means that each player's name cvar must never have the text "^" somewhere in the value (note: the ^ symbol is used to change text colors so using the example would mean that no one could put fancy colors in their playing name on your server without getting kicked once detected by PunkBuster).

In addition to the Variable Monitoring Facility described in the previous section, PunkBuster also includes several advanced tools that Admins can use when desired. Five such commands are `PB_SV_BINDSRCH`, `PB_SV_CVARSRCH`, `PB_SV_CVARVAL`, `PB_SV_CVARUSER`, and `PB_SV_CVARCHANGED`. The first three take two parameters: `[text] [player]` and the others take one: `[player]`. If the `[player]` parameter is not specified for any of these commands, then PB will direct the command at all currently connected players. There are 2 ways to specify specific players: by slot # or by name substrings. To get player slot numbers, use the `PB_SV_PLIST` command. Each player's slot # is in the first column of the resulting display. If you wish to specify name substrings, be sure to surround the search text with double quotes. For example, `PB_SV_CVARVAL handicap "et"` means to find the value of the handicap cvar for all players who have the text "et" in their playing name. The `PB_SV_BINDSRCH` command searches through all of the player's key bindings looking for the specified `[text]` and reports back matching keys and the full binding attached to each matching key. This is useful for examining the key bindings of a player to see if that player is trying to get around the cvar checks by setting a bind to set a cvar value to an unacceptable value and then quickly set it back to acceptable after some other processing has occured. For example, use `"PB_SV_BINDSRCH back"` to get a list of all keys that have the text "back" in the key binding from your connected players. The `PB_SV_CVARSRCH` command is similar to the BINDSRCH command described above. However, instead of searching key bindings, it searches through the values of all cvars defined in the player's system, including player-defined cvars. Since cvars can be used to execute commands by players, this type of search is useful to find out if a player has set up a cvar as an alias to execute in order to set other cvar values outside of acceptable ranges. When this command is issued, the full list of player cvar names that contain the search text is returned (the values of each cvar may be displayed/logged either manually with the `PB_SV_CVARVAL` command or automatically by setting the `PB_SV_CVARWALK` setting). The `PB_SV_CVARVAL` command can be used to check the exact value of any player cvar at any time. For example, use `"PB_SV_CVARVAL cg_drawallweaps"` to find the value of the `cg_drawallweaps` cvar for all connected players. Use `"PB_SV_CVARVAL cg_drawallweaps 1"` to find the value only from the player in slot #1. The `PB_SV_CVARUSER` command requests a list of cvars that are user-created. The `PB_SV_CVARCHANGED` command requests a list of cvars that are not currently set to their default value. There are also a few advanced settings that can be used to automate routine logging of cvar information supplied by using the above-listed commands: The `PB_SV_CVARLOGGING` setting determines how and where player cvar information is displayed and/or logged to a file for later viewing. A busy server with several players can generate lots of cvar-related information within a relatively short period of time if the PB Admin decides to take advantage of some of the above-listed features. If the `PB_SV_CVARLOGGING` setting is left at the default value of 1, then all cvar-related information is treated just like other events and is displayed in the server console as well as logged to the current PunkBuster log file. To redirect cvar-related logging to a separate (var) file, set `PB_SV_CVARLOGGING` to 2. In this case, PunkBuster actually maintains two separate log files for each map, one with the `.log` extension (normal logs) and one with the `.var` extension (cvar logs). Both files for a given map will have the same filename based on the sequential log file number, only the file extensions are different (for example, 00000001.log and 00000001.var). Setting `PB_SV_CVARLOGGING` to 3 has the effect of logging cvar-related information in both manners described above for values of 1 and 2. Setting to 0 means PunkBuster does not log cvar information. The `PB_SV_CVARUSER` and `PB_SV_CVARCHANGED` commands described above are designed to catch players who have figured out how to exploit the game using unpublished combinations of settings. If an Admin is suspicious of a certain player who seems to be able to do things that are not a normal part of the game, that player's cvars can be examined for any unusual combinations that may bring to light the source of an exploit. In some cases, Admins (or Leagues) may want to routinely and automatically log all such information for all players and then go back later to examine the logs rather than try to check players in real time while they are playing. To automate the sending of `PB_SV_CVARUSER` and `PB_SV_CVARCHANGED` commands to all players, use the `PB_SV_CVARUSERPULSE` and `PB_SV_CVARCHANGEDPULSE` settings. For example, set `PB_SV_CVARUSERPULSE` to 15 in order to have the PunkBuster Server automatically send a `PB_SV_CVARUSER` command to each player once every 15 minutes (staggered randomly). Both PULSE settings default to 99 which means disabled. Setting either or both to a number up to 98 activates the automatic feature. Another advanced setting that is designed to be used in combination with the PULSE settings mentioned above is called the `PB_SV_CVARWALK` setting. This setting normally defaults to 0 which means disabled. Setting it to a non-zero number causes PunkBuster to automatically "walk" through all cvars returned in a list (such as from a `PB_SV_CVARUSER` command) and query the actual current value of each player cvar in the list. Listed below is an example set of settings that would cause the PunkBuster Server to log all user-created and changed cvars along with their values to a separate log file with the `.var` file extension every 15 minutes (per player) during gameplay: `PB_SV_CvarLogging 2 PB_SV_CvarWalk 4 PB_SV_CvarUserPulse 15 PB_SV_CvarChangedPulse 15`

PunkBuster allows Server Admins to request and retrieve actual screenshot images being displayed on the gaming monitor of players currently connected to the game server. It is very easy to request a screenshot from one or more players and also to set up automatic screenshot capturing. Several advanced features are available for Admins who want to tweak their systems. The defaults are fine for most Admins and are a good place to start when getting a feel for how the Screen Capture Facility works. There are two ways to capture screen shots: Manually and Automatically. Some Admins will do both types. To Manually request a screenshot from all connected players, simply type `"PB_SV_GETSS"` into the Game Server console and after a few seconds, you will start seeing messages about where newly retrieved screenshots were written to your hard drive and what their filenames are. PB names screenshot image files using incrementing sequential serial numbers and they always have the PNG extension. PNG graphic files are similar to GIF and JPG files - they combine the best of both worlds with respect to the type of images found in most computer games. Along with each screenshot image (PNG) file, PunkBuster also writes a "helper" HTM file with the same filename so that you can use any web browser, such as Netscape or IE, to easily view your captured screenshots. Furthermore, all screenshot requests are logged to one specific HTM file called pbsvss.htm so that the list is made available on one scrolling screen as an index for quick and easy viewing. If you wish to take a manual screenshot of only one or a few connected players, you can specify either the player's slot number directly or you can specify a text substring and PB will request screenshots from all players whose names contain the specified search text. To find the slot # of a specific player, type `PB_SV_PLIST` into the console. Column one contains the slot # for each connected player in the list. To request screenshots from all players with the text "ABC" in their name, type `PB_SV_GETSS "ABC"` (note the quotes are necessary when specifying name substrings). To set up Automatic Screenshot Capturing, set the `PB_SV_AUTOSS` setting to 1 (the default is 0). Then you may want to change the values of the `PB_SV_AUTOSSFROM` and `PB_SV_AUTOSSTO` settings to specify how often PunkBuster will request screenshots from each connected player. Both of these settings are measured in seconds and the defaults are 60 and 1200 respectively which means that the PunkBuster Server will request a new screenshot randomly anywhere from 1 to 20 minutes after each previous request for each connected player. Note that regardless of the combination of manual and automatic screenshot requests submitted during gameplay, the PunkBuster system limits screen shots in two ways. First, each individual screenshot is limited to 82,000 pixels in an effort to keep image file sizes and transfer bandwidth requirements down. If you set your parameters (described below) to request images that contain more than 82,000 pixels, then PunkBuster will automatically reduce the image size until the actual capture fits within the limitation. Also, PunkBuster will not allow more than 3 screenshots to be requested from each player within any 10 minute period, nor allow a screenshot to be requested within 30 seconds of the previous request. The PB_SV_PLIST command used to display information about connected players has a column called "RecentSS" which shows the number of requests for each player within the last 10 minutes. Also, Admins should keep in mind that PunkBuster will not take a screenshot from a player who has minimized his local game or who has an application active other than the game itself. In those cases, an empty black screenshot image is sent with text at the bottom explaining why the Capture failed. Also, there are a few video display setups that cannot be correctly captured at this time. These setups also do not allow the game itself to take screenshots using the built-in non-PunkBuster method. The following settings can be used to customize the Screen Capture Facility: PB_SV_SSWIDTH and PB_SV_SSHEIGHT are used to request a specific size image in pixels. The default is 320 x 240. If a size is requested that is larger than the actual resolution on a player's system, then PB will automatically reduce the appropriate parameter to match the size of the resolution. For example, if a screenshot of 800x600 resolution is requested from a player running the game in 640x480 resolution, then PB will take the image at 640x480 resolution automatically. PB_SV_XPCT and PB_SV_YPCT are used to specify where on the full playing screen that the capture is to be centered. The default is 50 and 50 so that the capture comes from the center of the playing screen. Using lower numbers moves the captured area toward the left (in the case of XPCT) and upper (in the case of YPCT) portions of the screen and using higher numbers moves the area towards the right and lower portions of the screen respectively. If XPCT and/or YPCT are set to -1, then a random percentage between 0 and 100 will be used for each individual capture request - this has the effect of capturing different (randomized) portions of the playing screen each time a capture is taken. PB_SV_SSSRATE sets the sample rate for the capture. The Sample Rate can be set to take less pixels from a larger area of the screen to, in effect, compact a larger picture into a smaller size by simply skipping pixels. Sample Rates of 1, 2 and 4 are available. Using a Sample Rate of 2 will reduce image file sizes to about one fourth of normal (Sample Rate 1) and using 4 will reduce to about one sixteenth. The reduction in file size does affect the clarity of the image. It is always best to use Sample Rate of 1 unless you desire to capture large portions of the playing screen and don't mind losing some clarity in the resulting image. Even with the 82,000 pixel limit, it is possible to capture images at 1280x1024 using a sample rate of 4 for the relatively few players who play in very high resolutions. PB_SV_SSDELAY causes the PB Client to wait a random number of seconds (up to 60) after receiving the capture request before actually capturing the image. PB_SV_SSPATH can be configured to hold an alternate location where captured screenshots are to be written. This can be a network share if desired. The default is "" (empty) which means the pb/svss subfolder holds captured screen shots and related support files. PB_SV_SSFLOOR, PB_SV_SSCEILING, and PB_SV_SSNEXT deal with the way captured screenshot images are named as they are saved to files at the PB server. The PB_SV_SSNEXT setting holds the serial number that PB will use for the next captured filename - for example if PB_SV_SSNEXT is 250, then the next captured image will have a filename of pb000250.png (and it's "helper" file will be named pb000250.htm). The PB_SV_SSNEXT setting is incremented and maintained automatically by the PB system but can be set manually if desired. The FLOOR and CEILING settings specify the from and to range for the screenshot filenames captured by this server. Using the PB_SV_SSPATH command mentioned above, Admins who run multiple servers may want to have all PB Servers send captured screenshots to a central location. The FLOOR and CEILING settings allow the admin to give each PB Server its own unique range of filenames to use so that there is never any overlap in the central archive. PB_SV_SSCMD holds the name of a local script (batch) file that PB will execute automatically after each screen shot is retrieved successfully. The default value of this setting is "" (empty) which means that PB will not run a local script at all after image captures. PunkBuster passes the full image filename with path as a parameter to the script. This is for advanced Admins who wish to automate the processing, archiving, and/or publishing of screenshots (such as to a web server).

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. Basically, every player on PB Servers has a power rating. Each PB Server Admin can add specific players to a locally stored database which stores the power rating for those specific players between playing sessions. Additionally, a "catch all" setting called `pb_sv_powerdef` holds the default power rating for players who are not in the database. During gameplay, players may apply their power points against a player by requesting to have that player kicked from the server. Each application of power points is reported to all players on the server so that all players will be able to see when a player applies his/her power points against another player. Once enough power points have accumulated against a given player, then that player is removed from the game and forced to wait a number of minutes before being allowed to rejoin. To add a specific player to the local PB Player Power database, use the `pb_sv_power` command; this command takes two arguments: the slot # of the player to be added and the desired power rating. The `pb_sv_plist` command is used to display a slot # for all connected players. The local PB Player Power database is stored in the pbpower.dat file. Each entry is based on the guid of the player. The power rating assigned to players may range from 0 to 100. Assigning a power of 0 to a player means that the player's vote carries zero weight on the server and any requests by that player to kick other players using this facility are completely ignored. A setting of 0 should normally be reserved for players who have shown themselves to be untrustworthy from the standpoint of voting against their peers. Assigning a power of 100 to a player is further distinguishing that player as a "deputy". There are a couple of additional points of interest involving deputies. When at least one deputy is presently connected to a game server, then only deputies may apply their power points on that server. Other players must appeal to the judgment of any and all deputies presently connected. Also, deputy players cannot be removed from the game server using this facility. The `pb_sv_powerdef` setting is used to set the number of power points allocated to players who are not in the local PB Player Power database. Use the `pb_sv_powermin` setting to specify the number of power points required to be applied to a given player before that player is removed from the game. The `pb_sv_powerkicklen` setting holds the number of minutes that players must wait before being allowed to rejoin when removed via this facility. To completely disable this facility, set `pb_sv_powerkicklen` to 0. More information about how this facility is used from a player's perspective can be found in our related publication: "PunkBuster for Players".

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

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