Punkbuster Server Config-File

Walrus walrus at iam3.de
Thu Apr 22 00:15:45 EDT 2004


Hi all,

Somehow I knew there was more than just enabling PB. The Punkbuster FAQ for
Call of Duty http://www.evenbalance.com/index.php?page=support-cod.php wasn't
too helpful though.

I browsed serveral PB related websites to create a Config-File for my
servers. I added the Comments and Hints provided on those website to
have a lil in-cfg documentation. Maybe it helps you to create your own
custom Config. The current config-file shows my current Settings.

I haven't played with the MD5Tools thingy yet because the Statement...

'Players should also be aware that any detected attempt to circumvent MD5Tool
file checks will be subject to a Global PB GUID ban. The banned GUIDS/Cdkeys 
associated with such attempts will not be allowed to join any Internet based PB 
servers from that point forward without recourse. Banned GUIDS/Cdkeys will still 
be usable on non-PB Servers.'

...made me kind of anxious :)

Detailed Info can be found on the following Sites:

http://www.evenbalance.com/publications/et-ad/index.htm
http://www.punksbusted.com/modules.php?name=Content&pa=showpage&pid=59
http://www.punksbusted.com/modules.php?name=Content&pa=showpage&pid=57
http://www.punksbusted.com/modules.php?name=Content&pa=showpage&pid=58
http://www.punksbusted.com/modules.php?name=Content&pa=showpage&pid=56
http://www.punksbusted.com/modules.php?name=Content&pa=showpage&pid=61


here goes the config:


// *********************************************************************************************************************
// SCREENSHOT SETTINGS
// *********************************************************************************************************************



// Automatic Screen Shots
// To set up your server to take automatic screen shots, you will need to use and understand the following commands in
// your pbsv.cfg.

// This setting tells your PB enabled server whether it should retrieve screen shots automatically. Setting to 1 will
// turn the auto screen shot capture ON and setting it to 0 will turn it OFF. The default is OFF.

pb_sv_autoss 1 

// This is the MINIMUM number ( in seconds ) that PB will wait after taking a screen shot from players, before
// attempting to take another one. The default is 60 seconds. Remember that taking screen shots from every player every
// 60 seconds will rack up a nice number of screen shots in your PB's screen shots folder and use plenty of system
// resources, sometimes resulting in lag. If there are 10 players on your server and the map lasts 10 minutes, you will
// be getting 100 screen shots per map. Be careful with this setting. Some recommended settings and samples will be
// presented at the end of this page.

pb_sv_autossfrom 600 

// This is the MAXIMUM number ( in seconds ) that PB will wait after taking a screen shot from players, before attempting
// to take another one. The default is 1200 ( 20 minutes. ) Some recommended settings and samples will be presented at
// the end of this page.

pb_sv_autossto 1200 

// PB screen shots are taken and then saved numerically. This is the "starting" number that PB will use to name screen
// shots. Default is 1.

pb_sv_ssfloor 1 

// This is the highest number PB screen shots will be saved. After screen shot #100, PB will over write the screen shots
// starting at your pb_sv_ssfloor setting. Default is 100 but this could easily be reached in a few hours. Some
// recommended settings and samples will be presented at the end of this page.

pb_sv_ssceiling 300 

// Each player will have to wait a random amount of seconds ( up to the number of this setting ) before actually sending
// the screen shot after the request has been made. This *may* help reduce lag, as all players don't have to send their
// shots and then get processed and written at the same time, rather they get done randomly within the time frame set.
// On the other hand, it may cause more lag ( lets say set to 5 ) from screen shots being sent and processed over a
// longer period of time ( processing 20 players over a 5 second period, rather than an instantaneous "glitch" from all
// 20 being done at the same time.) Default is 0 which means there is no delay and all shots are taken at the same time.

pb_sv_ssdelay 60

// This is where PB will send the screen shots and the helper html files. The default is "" ( empty ) and need not be
// specified if you want to keep the shots stored in the default PB screen shots folder.

pb_sv_sspath "" 

// The height in pixels of the screen shot. 240 is the default and the recommended value to maintain a good size while
// keeping file size and cpu usage at an acceptable level.

pb_sv_ssheight 480 

// The width in pixels of the screen shot. 320 is the default and the recommended value to maintain a good size while
// keeping file size and cpu usage at an acceptable level.

pb_sv_sswidth 640 

// The sample rate ( quality ) of the shot captured. If set to "2" then only every second pixel is taken ( both
// horizontally and vertically. ) If set to "4" then only every fourth pixel is taken. This reduces file size and cpu
// usage but significantly reduces the picture quality as well, making it hard to prove those "close calls." Default
// is 1 and is recommended.

pb_sv_sssrate 1 

// Percentage ACROSS the screen where the center of the screen shot should be captured from. Default is 50 and is
// recommended to keep the screen shots centered.

pb_sv_ssxpct 50 

// Percentage DOWN the screen where the center of the screen shot should be captured from. Default is 50 and is
// recommended to keep the screen shots centered.

pb_sv_ssypct 50 



// *********************************************************************************************************************
// TASKS SETTINGS
// *********************************************************************************************************************



// pb_sv_taskdel [slot#]
// Deletes a task in your list of tasks by slot number. This is useful in keeping multiple tasks
// from piling up and repeating themselves. In your pbsv.cfg you should insert this command right before your list of
// tasks to make sure you start off clear.

pb_sv_taskdel 1
pb_sv_taskdel 2
pb_sv_taskdel 3

// pb_sv_task [start-seconds] [optional-run-every-seconds]
// This allows server admins to set a task starting from a specified time in seconds and then running again every x
// seconds there after. If no re-run value is specified then the task is only run once. This feature is not limited to
// PB functions and can run in-game functions as well. You may use more than one task if you like. Example:
//
// pb_sv_task 10 300 "say ^3Visit us at www.yourwebsite.com"
// pb_sv_task 15 305 "say ^5Email server admins: admin at yoursite.com"
// pb_sv_task 700 "pb_sv_bindsrch com_maxfps" 
// pb_sv_task 700 "pb_sv_bindsrch m_pitch" 
//
// This will spam your two messages on screen and re run them at the specified times. The last two will run a bind-cvar
// check once only.
//
// pb_sv_tlist Shows what tasks you have running and shows you what slot number each task is assigned to.

pb_sv_task 25 300 "say note: ^1FF is ON - watch your Fire!"
pb_sv_task 30 300 "say note: ^1Cheaters, Team-Killers and -Wounders get kicked/banned!"
pb_sv_task 120 300 "say Map Rotation: ^2Stalingrad, MoH_Berlin, Pavlov, Second Comming."



// *********************************************************************************************************************
// NAME SETTINGS
// *********************************************************************************************************************



// pb_sv_badnameDel [slot#]
// Deletes a name in your list of bad names by slot number. This is useful in keeping multiple bad names from piling up
// and repeating themselves. In your pbsv.cfg you should insert this command right before your list of bad names to make
// sure you start off clear.

pb_sv_badnameDel 1
pb_sv_badnameDel 2 
pb_sv_badnameDel 3
pb_sv_badnameDel 4 
pb_sv_badnameDel 5
pb_sv_badnameDel 6
pb_sv_badnameDel 7
pb_sv_badnameDel 8
pb_sv_badnameDel 9
pb_sv_badnameDel 10
pb_sv_badnameDel 11
pb_sv_badnameDel 12
pb_sv_badnameDel 13
pb_sv_badnameDel 14
pb_sv_badnameDel 15
pb_sv_badnameDel 16
pb_sv_badnameDel 17
pb_sv_badnameDel 18
pb_sv_badnameDel 19

// pb_sv_badname [grace-seconds] [filter]
// This command will allow you to filter out certain text in names, then give the player x seconds to change the name
// before being removed from the server. Here are some examples:
//
// pb_sv_badname 30 www.
// pb_sv_badname 30 .com
// pb_sv_badname 30 UnnamedPlayer 
// pb_sv_badname 30 ogc 
// pb_sv_badname 30 noskill
// pb_sv_badname 30 noname
//
// The first two lines prevent people from using your severs to advertise web sites. The others are just suggested
// filters and can be adjusted to your preferences. They are all set to give the player 30 seconds of warnings before
// they are removed from the server.
//
// pb_sv_badnamelist Lists all the bad names in your check list and shows you each lines assigned slot number.

pb_sv_badname 60 www.
pb_sv_badname 60 http://
pb_sv_badname 60 .com
pb_sv_badname 60 .de
pb_sv_badname 60 .net
pb_sv_badname 60 .org
pb_sv_badname 60 .co.uk
pb_sv_badname 60 UnnamedPlayer 
pb_sv_badname 60 noskill
pb_sv_badname 60 noname
pb_sv_badname 60 arse
pb_sv_badname 60 fuck
pb_sv_badname 60 bitch
pb_sv_badname 60 moron
pb_sv_badname 60 dick
pb_sv_badname 60 hitler
pb_sv_badname 60 himmler
pb_sv_badname 60 goebbels
pb_sv_badname 60 nazi

// Amount of seconds allowed between name changes, prevents name spamming. 

pb_sv_changeperiod 30 

// Number of total allowed name changes per session.

pb_sv_changemax 5  

// Amount of time ( in seconds ) that a duplicate name has to be changed before that player is removed from the server.
// This ensures that all players on the server have a unique name. 

pb_sv_dupnamegrace 30 

// Control of extended characters in names ( characters and symbols that can not be produced from a single key stroke. )
// "0" to disallow such names, "1" to allow these names.

pb_sv_extchar 0  

// Control the option of a an "empty" name ( no name at all ) "0" will not allow an empty string to be returned for a
// name value, "1" will allow an empty string.

pb_sv_emptyname 0  

// Dictates the minimum amount of actual characters a players name must have to be allowed on the server. This will double
// check the above pb_sv_emptyname 0 to make sure a player doesn't enter "^7^7" as a name ( which satisfies the
// pb_sv_emptyname 0 but still returns an empty string to the console. ) Set this to one to make sure that a player has at
// least one standard character in their name.
pb_sv_minName 3  



// *********************************************************************************************************************
// ALIAS SETTINGS 
// *********************************************************************************************************************



// Defaults to 0; if set to 1, PB will reload from the Alias database file after each map change; this is useful for
// cases where multiple servers share an alias database file so that each instance of PB gets updates from other
// servers sharing the same file.
// NOTE: on busy servers, using this function will increase map load times and should be used only after careful
// experimentation on your server(s) 

pb_sv_aliasautoupload 1

// Can optionally be set to any file on the file-system to direct PB to use instead of the default pbalias.dat file
// (must specify full path or else the file will be stored in fs_basepath location) 

pb_sv_aliasfn /home/codsrv/pbalias.dat

// Loads the Alias database from the PB_SV_AliasFn file (or default pbalias.dat file accordingly); PB will load the
// database automatically on startup if PB_SV_AliasMax is set to non-zero in the pbsvuser.cfg file; this command is
// provided only as manual method to load an Alias database for a running server 

pb_sv_aliasload /home/codsrv/pbalias.dat

// Setting defaults to 0 which means alias tracking is disabled; set to some value above 0 to enable and to specify
// how many aliases will be stored for each GUID; if the player uses more aliases than the max, the later ones will
// be ignored 

pb_sv_aliasmax 50

// Defaults to 0; if set to 1, PB will kick players who try to use more than PB_SV_AliasMax number of aliases; also
// if set to 1, PB will warn joining players just like it does for extended ascii characters, etc. 

pb_sv_aliasmaxenforce 1

// Used to write all the aliases in memory to disk; if desired, an alternate filename (other than pbalias.dat) may
// be specified after the pb_sv_aliaswrite command to have PB write the Alias database to the alternate filename.
// NOTE: using PB_SV_AliasWrite is optional as PB updates the database at every map change automatically; however,
// the map change updates only append new information to the file and thus cause it to grow greatly in size on busy
// servers; conversely, the pb_sv_aliaswrite command writes a fresh copy of the entire Alias database to disk, this
// may take a number of seconds on very busy servers - for best results, we recommend starting up a 'dummy' game
// server just to issue this command and then exit so as not to adversely affect gameplay on populated game servers 

//PB_SV_AliasWrite



// *********************************************************************************************************************
// GUID SETTINGS 
// *********************************************************************************************************************



// Number of seconds that a player with no guid is kicked ( 0 - 300 ) We recommend giving players 30 seconds or so in case
// of slow communication rate with the master auth server.

pb_sv_noguidgrace 30  

// Number of seconds that a player with a "no updated status" has to update before being kicked ( 300 - 600 )

pb_sv_updategrace 300  

// This setting was added to server version 1.011 to set options for the locked-down guid system. This setting is cumulative
// based on adding the values for the conditions desired: 1=UNKN Guid, 2=WRONGIP Guid, 4=DUPLICATE Guids. The current default
// for this setting is 7 (1+2+4) which means that PB will not kick (relax kicking) for any of the three cases. We recommend
// kicking for at least UNKN guids. Below are the possible combinations: 
// 0 = Kick for UNKN guid, wrong ip guid and duplicate guid.
// 1 = Kick for wrong ip guid and duplicate guid.
// 2 = Kick for UNKN guid, and duplicate guid.
// 3 = Kick for duplicate guid.
// 4 = Kick for UNKN guid and wrong ip guid.
// 5 = Kick for wrong ip guid.
// 6 = Kick for UNKN guid
// 7 = Don't kick for UNKN guid, wrong ip guid and duplicate guid.

pb_sv_guidrelax 7 



// *********************************************************************************************************************
// AUTO KICKING AND POWER USER SETTINGS 
// *********************************************************************************************************************



// This allows admins to turn off / on the feature that shows players why they were kicked ( bad name, cvar violation, hook,
// no guid, etc. ) We recommend leaving this ON, so people can see why they were kicked. "1" is ON and "0" is OFF. 

pb_sv_cqc 1 

// When kicked from the server for a violation ( bad name, cvar violation, hook, no guid, etc. ) this is the time ( in minutes )
// that person must wait before they can re-join the server.

pb_sv_kicklen 10

// 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_powerdef 1

// 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_powerkicklen 5

// 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_powermin 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_scorekick -5



// *********************************************************************************************************************
// BAN UPDATES 
// *********************************************************************************************************************



// PB_SV_AutoUpdBan [0=no, 1=yes]
// 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_autoupdban 0

// 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_banload ""



// *********************************************************************************************************************
// CVAR CHECKS
// *********************************************************************************************************************



// Punk Buster cvar checks is a great way for server admins to police their servers and check for cheat variables.
// Coupled with the Punk Buster game hook check, it can be a very powerful tool. Be careful though, not to place too
// many restrictions on your clients. ( Note that not all games support user defined cvar checks )
//
// The cvar check looks for people using a specified cvar, and then compares it to the value or values you have specified.
// The client then has to change the cvar or he/she will be kicked. Note that not all commands are available for all
// games or game types.
//
// ( we use the example "runrate" here, a fictitious cvar )
//
// --------------------------------------------------------------------------------
//
// "IN" SETTING
//
// pb_sv_cvar [cvar-name] IN [from-value] [optional-to-value]
//
// pb_sv_cvar runrate IN 8000 Means all players MUST have their runrate set to 8000 or they will be kicked.
//
// pb_sv_cvar runrate IN 1000 8000 Means all players MUST have their runrate setting from 1000 to 8000 to play on your server.
// 
//
// --------------------------------------------------------------------------------
//
// "OUT" SETTING
//
// pb_sv_cvar [cvar-name] OUT [from-value] [optional-to-value]
//
// pb_sv_cvar runrate OUT 8000 Means all players MUST NEVER have their runrate set to 8000 or they will be kicked. Values of
// 0 - 7999 and 8001 to max value are ok.
//
// pb_sv_cvar runrate OUT 1000 8000 Means all players MUST NEVER have their runrate setting from 1000 to 8000 to play on your
// server. Values of 0 - 999 and 8001 to max value are ok.
//
//
// --------------------------------------------------------------------------------
//
// Here is a recommended list of cvars to check for cheats. If entered directly into your pbsv.cfg, we recommend adding the line
// pb_sv_cvarempty before the cvar checks. This is to prevent re-stacking and "pile-on" ( duplicate ) cvar checks that can
// increase lag and cpu performance. The command makes sure that the cvar check list is emptied before loading the list.
//
// cvars MUST = 0 or else client is kicked.

// pb_sv_cvarempty

// pb_sv_cvar aim IN 0 
// pb_sv_cvar glow IN 0
// pb_sv_cvar ignorewalls IN 0
// pb_sv_cvar pingpredict IN 0
// pb_sv_cvar autoaim IN 0
// pb_sv_cvar autofire IN 0
// pb_sv_cvar ogc_aim IN 0
// pb_sv_cvar ogc_bot IN 0
// pb_sv_cvar ogc_fov IN 0
// pb_sv_cvar ogc_glow IN 0
// pb_sv_cvar ogc_mode IN 0
// pb_sv_cvar ogc_names IN 0
// pb_sv_cvar ogc_wall IN 0
// pb_sv_cvar ogc_trans IN 0
// pb_sv_cvar ogc_weapons IN 0
// pb_sv_cvar pmove_fixed IN 0
// pb_sv_cvar cl_punkbuster IN 1
// pb_sv_cvar safe IN 0
// pb_sv_cvar radar IN 0
// pb_sv_cvar mode IN 0
// pb_sv_cvar names IN 0
// pb_sv_cvar bunny IN 0
// pb_sv_cvar nofx IN 0
// pb_sv_cvar wall IN 0
// pb_sv_cvar shoot IN 0
// pb_sv_cvar weapons IN 0
// pb_sv_cvar alias IN 0
// pb_sv_cvar guid IN 0

pb_sv_cvar cl_maxpackets in 15 100
pb_sv_cvar cl_timenudge in -50 0
pb_sv_cvar r_gamma in 0 2
pb_sv_cvar r_intensity in 0 1.5
pb_sv_cvar r_mapoverbrightbits in 0 2
pb_sv_cvar r_overbrightbits in 0 2
pb_sv_cvar r_picmip in 0 2
pb_sv_cvar rate in 5000 25000
pb_sv_cvar snaps in 20 60
pb_sv_cvar com_maxfps out 0.000001 40

// 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_cvarchangedpulse 30

// 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_cvarfreq 6

// 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_cvarlogging 1

// 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_cvaruserpulse 30

// 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_cvarwalk 0



// *********************************************************************************************************************
// LOGFILE SETTINGS
// *********************************************************************************************************************



// 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_logceiling 1000

// 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_lognext ""

// 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_logaddr ""

// 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_logport ""

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

pb_sv_loguser  ""

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

pb_sv_logpw ""

// PB_SV_LogSync [0=no, 1=yes]
// 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_logsync 0



// *********************************************************************************************************************
// HTTP SETTINGS
// *********************************************************************************************************************



// 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_httpaddr ""

// 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_httpport 0

// 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_httpkey ""

// 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_httpmaps ""

// 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_httprefresh 30




More information about the Cod mailing list