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