## etpub documentation

Updated for etpub 0.6.3

cvars
Statistics / Rankings Terms
Server Console Commands
Shrubbot
General Changes

### cvars

New for 0.6.x

  The following cvars have been added or changed since 0.5.x

  g_ATB | g_ATB_diff | g_ATB_rating | g_XPDecay
  g_XPDecayFloor | g_XPDecayRate | g_XPSaveFile | g_XPSaveMaxAge
  g_XPSaveMaxAge_xp | g_alliedSpawnInvul | g_asblock | g_axisSpawnInvul
  g_canisterKick | g_constructibleXPSharing | g_coverts | g_dmg
  g_damageXP | g_damageXPLevel | g_dmgAir | g_dmgAirRadius
  g_dmgArty | g_dmgArtyRadius | g_dmgDynamite | g_dmgDynamiteRadius
  g_dmgFG42 | g_dmgFG42Scope | g_dmgFlamer | g_dmgGLauncher
  g_dmgGLauncherRadius | g_dmgGrenade | g_dmgGrenadeRadius | g_dmgHeadShotMin
  g_dmgHeadShotRatio | g_dmgInfRifle | g_dmgKnife | g_dmgLandmine
  g_dmgLandmineRadius | g_dmgMG | g_dmgMG42 | g_dmgMortar
  g_dmgMortarRadius | g_dmgPanzer | g_dmgPanzerRadius | g_dmgPistol
  g_dmgSMG | g_dmgSatchel | g_dmgSatchelRadius | g_dmgSniper
  g_dmgSten | g_dyno | g_friendlyFireOpts | g_killRating
  g_killingSpree | g_killingSpreeMsg_X | g_killingSpreeMsg_default | g_killingSpreeMsg_end
  g_killingSpreeMsg_futility | g_killingSpreeMsg_tk | g_killingSpreePos | g_knifeDamage
  g_maxKnives | g_maxXP | g_medicHealthRegen | g_medics
  g_minAirstrikeTime | g_minArtyTime | g_misc | g_panzersGravity
  g_panzersSpeed | g_panzersVulnerable | g_partyPanzersDamageMode | g_partyPanzersEnabled
  g_partyPanzersPattern | g_playerRating | g_playerRating_minplayers | g_realHead
  g_reflectFFWeapons | g_reflectFriendlyFire | g_shortcuts | g_shuffle_rating
  g_staminaRecharge | g_teamForceBalance_playerrating | g_throwKnifeWait | g_throwableKnives
  g_weapons | skill_battlesense | skill_covertops | skill_engineer
  skill_fieldops | skill_lightweapons | skill_medic | skill_soldier
  team_maxCovertOps | team_maxEngineers | team_maxFieldOps | team_maxMedics
  vote_allow_shufflenorestart |  |  |

g_shrubbot [filename]

  This should be set to the name of your shrubbot.cfg file if you want to enable shrubbot. See shrubbot documentation for more information about this file.

  Example:

      g_shrubbot "shrubbot.cfg"

  This depends on punkbuster's guid, so don't turn this on unless you have punkbuster enabled on your server.

  Default is "" (Disabled)

g_logAdmin [filename]

  The name of the file that all shrubbot commands will be logged to. For example,

      g_logAdmin "admin.log"

  Default is "" (no log file)

g_hitsounds [integer]
  This is a bitflag cvar that supports the following values
  1
    enables hitsounds
  2
    disables hitsounds when shooting wounded players.
  4
    disable the headshot sounds when shooting wounded players in the head. default hitsound will be used in it's place unless the 2 flag is set.
  8
    disable the "hold your fire" sound that would normally be played when shooting a teammate for the first time.
  16
    disable hitsounds from poison damage.
  A client will hear a sound when they damage another player. The sounds it uses are ones that are included in the pak0.pk3 file so it does not require additonal file downloads to use this mod.

  A client can disable hitsounds by running

      /setu cg_hitsounds 0

  before connecting to the server, or toggle hitsounds on the fly with the /hitsounds command.
  Starting with 0.1.1, the hitsounds used are configurable with the following cvars:

      g_hitsound_default (Default is "sound/weapons/impact/flesh2.wav")
      g_hitsound_helmet (Default is "sound/weapons/impact/metal4.wav")
      g_hitsound_head (Default is "sound/weapons/impact/flesh4.wav")
      g_hitsound_team_warn_axis (Default is "sound/chat/axis/26a.wav")
      g_hitsound_team_warn_allies (Default is "sound/chat/axis/26a.wav")
      g_hitsound_team_helmet (Default is "sound/weapons/impact/metal4.wav")
      g_hitsound_team_head (Default is "sound/weapons/impact/flesh4.wav")
      g_hitsound_team_default (Default is "sound/weapons/impact/flesh2.wav")

  Note that these are server cvars. If you want to use hitsounds that are not included in the game you'll have to put them in a pk3 for all clients to download. Your custom hitsounds must be 22khz, 16 bit, mono WAV files in order for ET to be able to use them.

g_shoveSound [string]

  The sound that a player emits when shoved. Set this to "" to disable it.

  Default is "sound/weapons/grenade/gren_throw.wav"

g_poisonSound [string]

  The sound that a poisoned player emits every second. Set this to "" to disable it.

  Default is "sound/player/gurp2.wav"

g_fightSound [string]

  The sound that will play at the end of warmup or when the match is unpaused.

  Example

      set g_fightSound "sound/world/rooster.wav"

  Set this to "" to disable it.

  Default is ""

g_playDead [0|1]

  Allows players use the 'playdead' command and their character will act like it is dead until the playdead command is issued again (or they really die).

  Default is 0

g_shove [integer]
  Allows players to push other players with the "use" key. The integer adjusts the amount of force players shove with. 80 seems fair.

  NOTE: starting with etpub 0.5.1, this number has been changed to (hopefully) be more compatible with the value used in shrubet. You will need to turn down this value greatly when upgrading from earlier versions of etpub.

  Default is 0.

g_shoveNoZ [0|1]

  Set this to 1 if you want to disable shove in the up/down direction (a.k.a "boosting").

  Default is 0

g_dragCorpse [0|1]

  Allows players do drag wounded players with the use key when moving backward slowly. Works best when crouching or prone.

  Default is 0

g_classChange [0|1]

  Allows players to take the class of a gibbed teammate temporarily similarly to how a covert steals a uniform. Class changing does not latch, so the original class the player had will be restored on respawn.

  Default is 0

g_forceLimboHealth [0|1]

  If set to 0 it takes about 3 shots to gib a wounded player, if set to 1 it takes about 5.

  Default is 1

g_privateMessages [0|1]

  If set to 1, players can send private messages to one another with the m command. Example:

      /m tjw you totally suck!

  Starting in 0.2.1 players can also type '/m tjw you totally suck' in the 'chat' dialog box and it will be recognized as a private message.

  Starting in 0.5.1, clients can reject private message from other individual clients with the /ignore client command.

  Default is 0

g_XPSave [integer]

  If set to 1, XP and number of lives remaining will be saved if a player disconnects and reconnects later during the same campaign. As of 0.1.1, this is now a bitflag with the following values:

  1
    store xp when a client disconnects
  2
    don't reset xp to the pre-map start values on a map restart, shuffle, etc.
  4
    never reset xp (ever).
  8
    force the disconnection of clients with the same GUID as the connecting client. This is useful in saving the stored XP of players with unreliable network connections since they should still get their stored XP even if reconnecting immediately with a new IP address.
    This feature is enabled by default unless you have sv_wwwDlDisconnected enabled. sv_wwwDlDisconnected seems to interfere with this feature, so do not enable this flag if you change pk3's on your server often because stored XP will be lost over disconencted downloads.

  Storing XP on disconnect depends on the punkbuster guid, so don't turn this on unless you have punkbuster enabled on your server.

  Default is 0

g_XPSaveFile [string]

  Set this to the filename you want XPSave to store data in. This file will be relative to your fs_game directory (like g_shrubbot).

  Default is "xpsave.cfg"

g_XPSaveMaxAge_xp [integer]

  The number of seconds that must pass without a connection from this player before XPSave forgets his/her xp skills.

  NOTE: if g_XPSaveMaxAge is less than g_XPSaveMaxAge_xp, g_XPSaveMaxAge will be used.

  Default is 86400 (a.k.a 1 day)

g_XPSaveMaxAge [integer]

  The number of seconds that must pass without a connection from this player before XPSave forgets his/her skills/killrating/playerrating/mute status.

  See also g_XPSaveMaxAge_xp

  Default is 604800 (a.k.a 1 week)

g_XPDecay [integer]

  This is a bitmask that controls the XP decay feature. The following bitflags are supported:

  1
    Enable XP Decay
  2
    Do not decay a player's XP when they are disconnected from the server.
  4
    Do not decay a player's XP for the class they are currently playing as (e.g. Medic).
  8
    Do not decay a player's XP while they are spectating.
  16
    Do not decay a player's XP during warmup/intermission.
  32
    Do not decay a player's XP when he/she is playing. This means that they are on a Allies or Axis and the game is active.
  64
    Do not decay a player's Battle Sense XP when he/she is playing.
  128
    Do not decay a player's Light Weapons XP when he/she is playing.

  See also g_XPDecayRate.

  This feature was created in response to the g_XPSave 4 flag which allows XP to continue building forever.

  Default is 0

g_XPDecayRate [float]

  This is the rate (in skillpoints per second) that XP skill points for each skill will decay when g_XPDecay is enabled.

  Setting this to 0.1 would result in a player losing 6 points per minute IN ALL SKILLS, so up to 42XP per minute if the player has skill points for each skill.

  Default is 0.0

g_XPDecayFloor [float]

  This is the minimum that any particular skill can be reduced to by g_XPDecay.

  For example, setting this to 140.0 will ensure that no player will ever lose rank or skill levels due to g_XPDecay.

  Default is 0.0

g_maxXP [integer]

  This is a vicious cvar that will reset a players XP once their overall XP score reaches it. It has been requested by those who run servers with XPSave that never resets.

  Set this to -1 to disable it.

  Default is -1 (disabled)

g_damageXP [integer]

  Optionally enables the awarding of XP based upon the amount of damage a player has done to the opposing team.

  Available options are:

  0
    disabled: use normal ET XP awarding methods
  1
    1 point of XP is awarded per g_damageXPLevel points of damage done. The XP is placed in the skill category of the weapon used. When this mode is enabled, kills (regardless of method) are awarded a fixed value of 1 point of XP.
  2
    1 point of XP is awarded per g_damageXPLevel points of damage done. The XP is placed in the Battle Sense category. Normal XP amounts are awarded for kills (typically 3-5 XP).

  Default is 0

g_damageXPLevel [integer]

  This setting determines the amount of damage that a player must do to earn 1 point of XP. See g_damageXP for additional information.

  default is 50

g_weapons [bitmask]

  This is meant to match the shrubmod g_weapons cvar, but so far the only implemented flags are:

  2
    syringes work underwater
  4
    pliers work underwater
  8
    Fully restore Field ops charge bar if airstrike is aborted
  16
    Half restore FIeld ops charge bar if airstrike is aborted
  32
    ammo packs restore helmets
  64
    drop binoculars if player has them (requires etpub_client >= 20050927 or /weapons/binocs.weap in a pk3 file downloaded to the client)
  128
    soldiers with level 4 heavy weapons don't lose their pistols
  256
    garands can reload when not clip is not empty
  512
    balance the clip size between the allies and axis rifles. allied rifles get same clip sizes and max ammo as the k43.
  1024
    creates a hitbox for mortar shells. This reduces (or eliminates in some cases) the ability to fire mortars through smaller windows and bunker slits.

  Default is 0

g_goomba [integer]

  If set to a positive integer, players can damage each other by landing on each other. The integer is multiplier that determines how much damage should be done to the player that was fallen on. Also the impact for the falling player will be broken so that they only recieve 20% of the damage they would have normally. It is also possible to do small amounts of damage (5HP) to other players by hopping up and down on them.

  Falling damage can be either 500, 50, 25, 15, or 10 depending on the length of the fall. So if you set g_goomba to 5 and land on a player from a fall that would have damaged you 10HP, you will inflict 50HP of damage on the player you land on, and you will only recieve 2HP of damage.

  See also g_goombaFlags

  Set this to 0 to disable it

  Default is 0

g_goombaFlags [integer]

  This is a bitflag cvar that controls the way g_goomba is handled. Currently the following flags are supported:

  1
    Cannot do goomba damage to teammates
  2
    Short falls (hopping) on another player does no damage.
  4
    Short falls (hopping) does no damage to teammates. (not necessary if 1 or 2 flag is set)
  8
    Falling player recieves no damage when landing on any other player. (default is to recieve 20% of the damage the fall would have given if not landing on a player).
  16
    Insta-gib goomba. All goomba damage will be 500HP regardless of fall distance. The exception is hopping on anther player which still does 5HP of damage.

  Set this to 31 to have g_goomba work like shrubet.

  Default is 0

g_spawnInvul [integer]

  The number of seconds players will be invincible after they spawn.

  Default is 3

g_alliedSpawnInvul [integer]

  The number of seconds Allied players will be invincible after they spawn. This will override g_spawnInvul if not 0

  Default is 0

g_axisSpawnInvul [integer]

  The number of seconds Axis players will be invincible after they spawn. This will override g_spawnInvul if not 0

  Default is 0

g_spinCorpse [0|1]

  Allow players to use +left and +right binds to spin their corpse when dead or playing dead.

  Default is 0

g_teamChangeKills [1|0]

  If set to 0, players are allowed one non-killing team change per respawn cycle. If a player changes teams, he will be instantly spawned in the other teams default spawn point. Players will die (but not lose a life) if they change teams a second time in one spawn cycle.

  Default is 1

g_ATB [0|1|2]
g_ATB_diff [integer]

  g_ATB controls the type of active team balancing you want to use. Active team balancing will automatically move one of the top three player(s) from the team more likely to win, to the team more likely to lose. There are currently two versions. One uses XP, the other playerrating. Set g_ATB to choose between them. Note that g_ATB only decides WHEN to move a player, and NOT which player to move. See g_ATB_rating to see how ATB chooses which player to move.

  0
    No active team balancing.
  1
    Use team XP to balance the teams. Uses the following cvars:
    g_ATB_minXP [integer]
    g_ATB_minPlayers [integer]
    g_ATB_axisHoldoff [integer]
    g_ATB_alliedHoldoff [integer]

      Active Team Balance watches the team XP during the match and will force one of the top 3 players from the dominant team to switch teams when his/her team hits it's respawn time if the following criteria is met:

      1. One team has at least g_ATB_minXP (default 300) team XP.
      2. There are at least g_ATB_minPlayers (default 5) players playing
      3. The resulting team change will not give one team an advantage by number of players unless:
         1. If 16 or more people are playing, the losing team may get up to a 1 player advantage.
         2. If 26 or more people are playing, the losing team may get up to a 2 player advantage.
      4. The winning team is ahead in team XP by a margin of g_ATB_fidd percent.

      For example, setting

          g_ATB_diff 50

      a player would be moved if he/she was the top player on the team and his/her team had 750XP and the other team had 500XP.

      You can also adjust the rate at which ATB moves players with the g_ATB_axisHoldoff (default 5) and g_ATB_alliedHoldoff (default 5) cvars. For example, if g_ATB_axisHoldoff is set to 5 and an axis player is moved to the allied team, ATB will take no other action until the axis spawn timer cycles 5 times.

      NOTE: this calculation is based on TeamXP NOT the total XP of all the players on the team. TeamXP is the total score earned for the team by all players on the team during the map. When a player changes teams, the TeamXP they earned for their team does not move with them.

      Default values:

      g_ATB_diff: 75
      g_ATB_minXP: 300
      g_ATB_minPlayers: 5
      g_ATB_axisHoldoff: 5
      g_ATB_alliedHoldoff: 5

  2
    Use player rating to balance the teams. This will balance the teams by moving one of the the top 3 players when the probability of one team winning exceeds g_ATB_diff. g_ATB_diff is an integer and defaults to 75 meaning 75%. If the Axis team has more than a 75% chance of winning, ATB will move one of its players to the Allies, and this will often instantly lower the probability enough that another move will not be necessary. This version will not use any of the XP version's variables and it uses g_playerRating_minplayers instead of g_ATB_minPlayers as the minimum number of players that must be playing before it will act. It will also not swap players between teams since unbalanced team numbers is fine with player rating. It will actually stack team numbers on purpose to even out the teams unless g_ATB_swap is set.

    Note: Read g_teamForceBalance_playerrating carefully also. You probably don't want to turn option 2 on until after running your server long enough to learn map and player stats.

    NOTE: you must set g_ATB_rating to 4 and g_shuffle_rating to 4 if you use g_ATB 2 or ATB will by hyperactive and ineffective

g_ATB_swap [1|0]

  If set to 1, one of 3 loweset scoring players on the losing team will be moved to the winning team when ATB acts (unless the losing team has less players).

  Default is 1

g_ATB_rating [integer]

  Sets the rating system used by Active Team Balance. This is how ATB chooses which players to move, it is NOT how ATB decides WHEN to move them. That is g_ATB. The following options are supported:

  1
    Use player XP
  2
    Use the rate at which players have gained XP since connecting.
  3
    Use the killRating (g_killRating must be nonzero)
  4
    Use the playerRating (g_playerRating must be nonzero)

  Default is 3

g_shuffle_rating [integer]

  Sets the rating system used by shuffle. The following options are supported:

  1
    Use player XP
  2
    Use the rate at which players have gained XP since connecting.
  3
    Use the killRating (g_killRating must be nonzero)
  4
    Use the playerRating (g_playerRating must be nonzero)

  Default is 3

g_maxTeamLandmines [integer]

  Sets the maximum number of landmines a team can have planted at any given time. This value should be 0 or greater.

  Default is 10

team_maxPanzers [integer]

  Limits the number of Panzerfausts per team. A value of -1 means no limit

  Default is -1

team_maxMortars [integer]

  Limits the number of mortars per team. A value of -1 means no limit

  Default is -1

team_maxFlamers [integer]

  Limits the number of flamethrowers per team. A value of -1 means no limit

  Default is -1

team_maxMG42s [integer]

  Limits the number of mobile MG's per team. A value of -1 means no limit

  Default is -1

team_maxGrenLaunchers [integer]

  Limits the number of grenade launching engineer rifles per team. A value of -1 means no limit

  Default is -1

g_mapConfigs [string]

  When a new map starts, load the map specific config file named [mapname].cfg in the folder [string]. For example if you set g_mapConfigs to 'mapcfg', when the map fueldump starts, the server will try to exec 'mapcfg/fueldump.cfg'.

  Set this to "" to disable it.

  Set this to "." to look for the cfg file in the current directory (fs_home_path).

  Default is ""

g_packDistance [integer]

  Set the distance at which health packs and ammo packs are thrown. Set this to 0 to make it just like etmain. The settings should be similar to shrubet so set this to 2 for a subtle improvement.

  Default is 0

g_dropHealth [integer]

  If set to a positive integer, medics will drop [integer] number of health packs when they are gibbed. If set to -1, medics will drop the number of health packs that they could have dropped at the moment of their death.

  Set this to 0 to turn it off.

  Default is 0

g_dropAmmo [integer]

  If set to a positive integer, fieldops will drop [integer] number of ammo packs when they are gibbed. If set to -1, fieldops will drop the number of ammo packs that they could have dropped at the moment of their death.

  Set this to 0 to turn it off.

  Default is 0

g_tossDistance [integer]

  Set the velocity at which health or ammo packs are tossed from the dead body when g_dropHealth or g_dropAmmo are activated. This changes the distance that these packs travel from the corpse.

  Default is 0

g_logOptions [integer]
  This is meant to match the shrubmod g_logOptions cvar, but so far the only implemented flags are:
  1
    Use server-side obituaries displayed in chat instead of cpm. Will increase bandwidth usage. This will not have any effect unless g_obituary is set to 3.
  2
    Adrenaline countdown displayed
  4
    Disable display of tap-out confirmation box
  8
    Display connection attempts by banned players
  16
    Display gib reports ("<victim> was gibbed by <attacker>")
  32
    Omit "item" lines from log file
  128
    GUID's are logged in the game log
  256
    Log all private messages (/m commands). Starting with 0.5.1, this setting won't have any effect unless g_tyranny is enabled.
  512
    Logs the real time into logs, instead of the normal uptime of the server.
  2048
    Print TK death message like a normal kill message, giving killing weapon, except it is preceeded by a red TEAMKILL: identifier. Only works if g_obituary is set to 3.

  Default is 0

g_censor [string]

  A comma delimited string of words that will be censored from chat.

  Default is ""

g_censorNames [string]

  A comma delimited string of words that will be censored from player names.

  Default is ""

g_censorPenalty [integer]

  This is a bitflag that currently supports the following flags:

  1
    kill the player
  2
    kick players with names containing words in g_censorNames
  4
    kill, but don't gib
  8
    Auto-mute for g_censorMuteTime [60] seconds.

  Note: If you use both 1 and 4, it will gib (like shrub did).

  Default is 0

g_censorMuteTime [integer]

  The number of seconds to auto-mute as a censor penalty. Only works if bitflag 8 is added to g_censorPenalty.

  Default is 60

g_intermissionTime [integer]

  Set the length of time the end of game screens displays before loading the next map.

  Default is 60

g_intermissionReadyPercent [integer]

  The percent of connected players who need to hit the "READY" button to move on to the next map without waiting g_intermissionTime to run out.

  Default is 100

g_skills [integer]

  This is a bitflag cvar that currently supports the following flags:

  1
    players with level 4 battle sense can spot landmines for teammates.
  2
    players with level 4 engineering can keep the flak jacket for other classes.
  4
    players with level 4 first aid can keep adrenaline for other classes.

  Default is 0

g_hitboxes [integer]
  This is a bitflag cvar that currently supports the following flags:
  1
    lower the standing player's body hitbox to the shoulders.
  2
    lower the crouching player's body hitbox to the shoulders.
  4
    lower the wounded player's body hitbox to a reasonable height
  8
    lower the prone player's body hitbox to a reasonable height
  16
    lower the playdead player's body hitbox to a reasonable height
  The default is 31 which means use all of the improved hitboxes. Set it to 0 to use the unmodified hitboxes from etmain.
  See http://et.tjw.org/etpub/hitboxes/ for comparision screen shots.
g_misc [integer]
  This is a bitflag cvar that currently supports the following flags:
  1
    Enable double jump.
  2
    Enable binoc master competition. Requires g_weapons 64 to be set. (etpubclient >= 20050927 required)
  8
    Enable killing spree streaks to be printed. Require g_killingSpree to be set > 0. When set, a top 3 current killing sprees message will be printed every minute, similar to binoc masters, and a map's longest killing spree will be printed every two minutes
  16
    Players can not jump if stamina is too low. (etpubclient > 20050927 required)
  32
    Players cannot put their heads into other solids when prone/playdead. This is the behaviour of etpub 0.5.x. (etpubclient required). If using etpubclient before 20050927, this must be enabled.
  Default is 0
g_skipCorrection [1|0]
  Set this to 1 to enable Neil Toronto's unlagged2 skip correction. This will smooth out the movement of players with high packet loss (to a degree). This is similar to etpro's antiwarp, but has some differences. Neil likes this version better, bani likes his better.
  This replaces g_smoothClients from etmain.
  You can find a demo that shows g_skipCorrection in action at: http://et.tjw.org/etpub/skipCorrection/
  Defaults to 1 (on)
g_maxWarp [integer]
  This allows you to control the amount of "warping" that players with high packet loss can do. The [integer] is the number of server frames that you allow a player to miss before their next movement is put in check.
  A server frame is 50ms on a typical server (sv_fps set to 20). This means that if you set g_maxWarp to 5 you won't allow players to warp from point A to point B if that distance takes an normal player 1/4 of a second to travel. Setting this to 1 is a good way to drive off just about everyone from your server.
  As far as I can tell, 1000ms is allowed by default in the game, so setting this to any value higher than 39 should have no effect if sv_fps is set to 10.
  You can find a demo that shows g_maxWarp in action at: http://et.tjw.org/etpub/skipCorrection/
  Defaults to 4
g_teamDamageRestriction [integer]

  When greater than 0, anybody that has this percentage of hits inflicted on a teammate will automatically be kicked. A minimum of g_minhits hits total required before this is calculated. Client can see current stats for themselves by doing a /damage in console. Implemented to mimic shrub behavior as much as is possible, there are other ways to implement this feature, which may be implemented in addition to current manner.

  Default is 0

g_minHits [integer]

  Minimum number of damaging hits required before calculating if player has reached g_teamDamageRestriction threshold. Flamethrower and landmine hits are adjusted similar to shrub. Medics get -2 hits for every revive.

  Default is 6

g_autoTempBan [0|1]

  When set, anyone kicked because of the g_teamDamageRestriction setting will be temporarily banned for g_autoTempBanTime seconds

  Default is 0

g_autoTempBanTime [integer]

  The number of seconds kicked for when g_autoTempBan is set

  Default is 1800

g_voting [integer]
  This is a bitflag cvar that supports the following flags:
  1
    votes will pass on the number of votes cast rather than total eligible voters.
  2
    votes that pass do not count against the vote_limit for the caller.
  4
    " (called by NAME)" is appended to the vote description where NAME is the name of the player that called the vote.
g_moverScale [float]
  Multiply the speed of movers (e.g. tanks) by float.
  Defaults to 1.0
g_poison [integer]

  Gives medics the ability to poison enemies by sticking with their medic syringe. Enemies will be damaged at g_poison/second when g_poison is set to a value more than 0. Setting to 0 will disable poison needles.

  Default is 0

g_poisonFlags [integer]

  This bitflag cvar controls the effects of g_poison. The following flags are supported:

  1
    Poisoned player's screen shakes.
  2
    Other players see the poisoned player's head shaking.
  4
    Poisoned player appears to bend over (hurl) every 2 seconds. (poisoned player does not see this happen.)
  8
    Poisoned player cannot use +attack. NOTE: because of client side prediction, the client may see the gun firing occasionally if they hold down +attack, but no shots are fired.
  16
    Poisoned player is disoriented (view turned upside down).

  Default is 7

g_slashKill [bitmask]

  Bitmask that controls the behavior of the /kill command.

  1
    Player spawns with half charge bar after /kill
  2
    Player spawns with 0 charge bar after /kill
  4
    Restores the charge bar to the same state it was in at the moment the player issued /kill (regardless of how long they were in limbo)
  8
    Disables /kill command
  16
    Disable /kill when player is poisoned

  See also g_fear

  Default is 0

g_ammoCabinetTime [integer]
  The time between ammo cabinet regenerations in milliseconds.
  Default is 60000.
g_healthCabinetTime [integer]
  The time between health cabinet regenerations in milliseconds.
  Default is 10000.
g_spectator [integer]

  This is a bitmask that controls spectator behaviour. It supports the following flags:

  1
    When in freelook mode, you can 'fire' at a player to follow. If you miss a player, nothing happens.
  2
    When in freelook mode with the 1 flag set, if you shoot and miss you start following the next available player.
  4
    When the player you're following goes into limbo, don't move to the next available player.
  8
    When the player you're following goes into limbo, go to freelook instead of following the next available player. (4 has precedence)

  Default is 0 (no changes from etmain).

g_medics [bitmask]

  Bitmask to control various aspects of the medic, to nerf or otherwise change their behavior. Currently supported flags include:

  1
    Medics can't pick up their own health packs to cure themselves of poison needle effects
  2
    Medics can't pick up their own health packs at all
  16
    Medics do not spawn with akimbo pistols, regardless of their light weapons skill
  32
    Medics spawn with pistol only, and can't pick up SMG of either team However, any class can steal a medics uni, if g_classChange is set to 1, and receive the medic benefits while retaining their current weapons, including akimbos and SMG
  64
    Medics can use syringes to heal living teammates as an alternative to the tk/revive cycle.

  Default is 0

g_medicHealthRegen [integer]

  The rate at which medics regenerate health (in HP per second). This rate is divided into two parts: The first is from 1 to 110-125 HP (depending on the number of medics per team), and then above that. The system default is 3/2 (3 HP per second, then 2 HP per second).

  Possible values are:

  0
    3/2
  1
    2/2
  2
    2/1
  3
    2/0
  4
    1/1
  5
    1/0
  6
    0/0 (no health regeneration)

  Default is 0

g_coverts [bitmask]

  Bitmask to control various aspects of the Covert Op class. Currently supported flags include:

  1
    Level 4 Coverts have more accurate scoped weapons.
  2
    Disguised coverts can only be identified with the "crosshair name" by level 4 Field Ops. (requires etpub_client >= 20051016)
  4
    After detonating a satchel charge, the primary weapon will be selected instead of satchel again. (requires etpub_client >= 20051016)
  8
    Coverts in disguise take half the normal combat damage.
  16
    Coverts in disguise take no splash damage.
  32
    Coverts do not automatically lose their uniform if an enemy sees them firing a weapon.
  64
    Coverts do not automatically lose their uniform if they fire a non-silent weapon.
  128
    Coverts do not automatically lose their uniforms if they attach to an emplaced MG weapon. Note that this flag has nothing to do with firing. (etpub_client 20051030 required for proper client side prediction).

  Default is 0

g_truePing [0|1]

  Allows players to see the true amount of time it takes until their actions are processed on the server. Pings will show around 50 ms higher than normal, but it's more accurate. Shows in the scoreboard.

  Default is 0

g_dropObj [integer]
  Sets the number of times a player can drop/toss the objective (e.g. parts on radar) per life.
  The parts are dropped by pressing the +activate key (usually bound to F) when there's nothing else around to be activated.
  Before enabling this recall how spammy the voiceovers can be. Then picture a player tossing the parts to himself over and over again. For this reason you probably don't want to set this very high.
  Starting in 0.4.4 players must switch to knife in order to drop the objective. If they are not holding knife and hit +activate they will see a message that notifies them that they must switch to knife. This change was made to prevent accidental dropping of the objective when trying to push, drag, pick up, or activate something else.
  Default is 0.
g_doubleJumpHeight [float]
  Adjusts the height of the second jump in a double jump. This value is a multiplier to the default jump velocity. The greater g_doubleJumpHeight is, the greater the height of the second jump. This setting has no effect if double jump is disabled in g_misc. The default value of 1.4 matches shrub's double jump.
skill_soldier [string]
skill_medic [string]
skill_engineer [string]
skill_fieldops [string]
skill_covertops [string]
skill_battlesense [string]
skill_lightweapons [string]

  These variables allow customization of the experience points necessary to go up in ranks. These settings consist of four space-separated integers indicating the number of XP required to go up a rank. A string such as "3 10 10 10" indicates that 3 points are required to go up the first rank, and the next three ranks are granted when the players has 10 points. If, for example, you want to grant akimbo pistols upon the first kill, you would set skill_lightweapons to "3 3 3 3". The default for each of these variables is "20 50 90 140"

g_serverInfo [integer]
  Use this cvar to change the behaviour of the 'serverinfo' string. This string is printed in response to the 'getstatus' primative command used by game browsers. This is a bitflag cvar that currently accepts the following flags:
  1
    Display player team information using the 'P' cvar in the server info string. (etpro and etmain 2.60 behaviour)
  2
    Display player team information using the 'Players_Axis' and 'Players_Allies' cvars in the server info string. (etmain < 2.60 behaviour)
  4
    Display the 'campaign_maps' cvar in the server info string. This contains a comma delimited list off all the maps in the current campaign. Only works if you have g_gametype set to 4.
  8
    Displays the 'C' CVAR in the server info string. This is a string containing the current map number in the campaign, and total maps in current campaign, in the form of "xx,yy". Only works if you have g_gametype set to 4.
  16
    Starting with 0.5.1, the class charge times will not be present in the server info string unless this flag is set. They were removed by default in order to make room in the serverInfo string for more useful information. These cvars are g_medicChargeTime, g_engineerChargeTime, g_LTChargeTime, g_covertopChargeTime, g_soldierChargeTime.

  NOTE: this cvar MUST be set prior to loading the first map. You will not be able to change this cvar once the game code is loaded.

  NOTE: the serverInfo string has a fixed length of 1024 characters. This space is shared with any cvar you create on your server with the 'sets' command. If you use up too much space with 'sets', your server will fail to start. It will print the message "Info string length exceeded" if you don't have enough space left in your serverinfo string to handle the g_serverInfo flags you've selected. To fix this, either remove some sets cvars from your config, or use different g_serverInfo flags.

  Default is 1.

g_killRating [integer]
  g_killRating is a bitflag variable.
  When not set to 0 etpub will track a player's killing ability using an ELO type statistic similar to chess. Each kill will increase a player's kill rating based on how hard the kill was. Killing unskilled players will result in very few points whereas an unskilled player killing a skilled player will result in more points. Kill rating also takes into account the weapon used (less for arty, more for knife).
  Here are the bitflag options:
  1
    Use kill rating. A dummy flag since any non-zero value for g_killRating will enable it.
  2
    Make kill rating visible. Players can use /killrating and at the end of each map a message will display the top killers for the map and overall.

  NOTE: in 0.5.x there was a 4 flag that allowed killRating to be used for shuffle. This has been depriciated. This is now controlled through the g_shuffle_rating cvar.

  See also g_ATB_rating.

  See also g_shuffle_rating.

  Default is 3.

g_playerRating [integer]
  g_playerRating is a bitflag variable.
  When not set to 0 etpub will track a player's ability to win against good teams using an ELO type statistic similar to chess. Each win will increase a player's rating based on how hard the opposing team was. Skilled teams defeating less skilled teams will result in very few points whereas an relatively low- rated team defeating a good team will result in more points. Player rating also takes into account the number of players on each team (less points when a very large defeats a small one) and which side tends to win more often on the current map (e.g. Allies tend to win tc_base).
  Here are the bitflag options:
  1
    Use player rating. A dummy flag since any non-zero value for g_playerRating will enable it.
  2
    Make player rating visible. Players can use /playerrating and at the end of each map a message will display the top player.

  See also g_ATB_rating.

  See also g_shuffle_rating.

  See also g_teamForceBalance_playerrating.

  Default is 3.

g_playerRating_minplayers [integer]

  The minimum number of players that must participate in a map in order for it to count towards each player's player rating.

  Default is 8 (e.g. 4v4)

g_teamForceBalance_playerrating [0..100]

  Set to 0 to disable. If this setting is enabled, it overrides g_teamForceBalance. If g_teamForceBalance_playerrating is non-zero, etpub will not allow players to join a team whose chances of winning are already above g_teamForceBalance_playerrating. The winning chance is calculated using 3 things: the average player rating of the team, the number of players on each team, and how often each team wins the current map (e.g. Allies usually win tc_base). If the team being joined rates too highly, a message will tell the player to join the other team.
  Important Notes:
  First of all, g_teamForceBalance_playerrating WILL allow unbalanced numbers to offset map or team difficulty. If the Axis has VERY good players, it will allow the Allies to have a few more players than Axis, given a map that is equally difficult for both sides to win. Also, given teams equal in skill, g_teamForceBalance_playerrating will force Allies to have a large team if the map is almost always won by Axis.
  Because g_teamForceBalance_playerrating uses info tracked over time, it may be best to run through your cycle or campaign a few times without it before turning it on, so that it can learn how good the players are, and how hard the maps are.
  If you want an idea why it's working a certain way, use the !listteams command server console (or game). This will show you how many points each team is predicted to win. If a team is going to win less than 4 points, it's too good. The other information shows you the breakdown of how the points are calculated.

      Ratings       Win Prob       Win Points
      ---------------------------------------------
      Allies          0.65            5
      Axis            0.35           10

  The above says that Axis has a 35% chance of winning based on the players and map. It takes into account the number of players per team also. The points are calculated as 16*(1 - win prob). So there you have it.
  Remember, g_teamForceBalance_playerrating is contantly adapting, so if it seems dumb at first, give it some time to adapt to your server. Maybe don't turn it on for the first week.

  See also !listteams.

  See also g_ATB.

  Recommended Setting when used: 60

  Default is 0.

g_stats [integer]
  This is a bitflag cvar used to control the way statistics are handled. The following flags are supported:
  1
    When shooting a corpse to gib, do not count it as a hit.
  2
    When shooting a corpse to gib, do not count it as a shot.

  Set this to 3 to use the behaviour of etmain and shrubet.

  Default is 0

g_tyranny [0|1]

  This cvar controls the use of administrator commands that could be used by admins to cheat or abuse players. If it is set to 0 you will not be able to use commands on your server such as !gib, !slap, !burn, etc.

  Also, you will not be able to use g_logOptions flag 256 (log private messages) unless g_tyranny is enabled.

  g_tyranny must also be enabled in order to specify a client in using the 'playsound' server command.

  'g_tyranny' and its value appear in the serverInfo string to serve as a warning for perspective players.

  NOTE: If you enable this, you MUST do so immediately when the server starts (before the first map is loaded). This means putting

      set g_tyranny 1

  in the .cfg file that is exec'ed on server start. If you try to change this on a running server, you will get the message

      g_tyranny is read only.

  Default is 0

g_mapScriptDirectory [string]

  Similar to ETPro's b_mapscriptsdirectory. Set it to the name of a directory in your fs_path that contains custom map scripts.

  For example you can copy the 'etpromapscripts' directory from the ETPro distribution to your 'etpub' directory and add:

      set g_mapScriptDirectory "etpromapscripts"

  to your cfg.

  Setting this to "" disables it.

  Default is ""

g_campaignFile [string]

  Similar to ETPro's b_campaignFile. If you set this to the name of a file in your fs_path it will be interpreted as a .campaign script and all other .campaign scripts in your pk3 files will be ignored.

  This is useful for making custom campaigns since you don't need to offer a pk3 file containing a custom .campaign script for all clients to download. However, if the client has not downloaded this .campaign file in a pk3, they will not see information about the campaign. Such information includes:

  - will not display in the VOTE -> MAP list
  - map locations will not draw on the map of Europe.
  - campaign description will not draw in the right panel
  - total number of maps and current maps order in the campaign will not be shown in the intermission screens.

  Also, even though the built-in campaigns cmpgn_centraleurope and cmpgn_northafrica will not be valid, they will still appear in the client's VOTE -> MAP menu. If a vote for one of them passes, nothing will happen.

  Setting this to "" disables it.

  Default is ""

vote_allow_surrender [1|0]
vote_allow_nextcampaign [1|0]
vote_allow_restartcampaign [1|0]
vote_allow_poll [1|0]
vote_allow_maprestart [1|0]
vote_allow_shufflenorestart [1|0]

  Cvars that restrict the rights of players to use the respective /callvote command.

  Default is 1 (allowed)

g_fear [integer]

  If a player uses the /kill command within g_fear milliseconds after taking damage from an enemy, the attacker that last damaged that player will recieve full credit for the kill and the mode of death will be recorded as MOD_FEAR. Other restrictions are that the attacker must be on the opposite team and the attacker must still be alive.

  In-game statistics will reflect that the death was caused by the weapon that did the last recorded damage to the player.

  Set this to 0 to disable this behaviour.

  Default is 2000 (2 seconds)

g_msgs [integer]

  The duration, in seconds, between messages displayed to all users. Set messages by setting the g_msg1, g_msg2, g_msg3 . . . g_msgX cvars. These must be set consecutively, the first blank or missing number in the order will cycle the message back to the first message

  Set this to 0 to disable this behavior

  Default is 0 (disabled)

g_msgpos [integer]

  The locations of messages, if g_msgs is non-zero, and g_msgX variables are set

  0
    Chat area
  1
    Center of screen
  2
    Left notification area

  Default is 0

g_obituary [integer]

  This cvar controls how player Obituaries are handled. Obituarys are the messages normally printed in the cpm space with a skull next to them to notify all players of another player's death.

  Available options are:

  0
    Obituaries are disabled.
  1
    All Obituaries will ALWAYS be handled by the client with the EV_OBITUARY event. Since the etmain client does not know about some etpub MODs (e.g. MOD_GOOMBA) the default message will be printed for those deaths.
  2
    Only those Obituaries that the etmain client knows how to handle will be handled by the client. If someone is killed by a MOD that the etmain client doesn't know about, the Obituary is generated by the server.
  3
    All Obituaries are handled by the server and the EV_OBITUARY event is never sent to the client. This results in "Instant Obituaries". This comes at the cost of increased network bandwidth and absence of the skull icon in the obituaries. (when using this option, you can use Custom Obituaries starting with 0.6.1)

  See also g_logOptions.

  Default is 2

g_minAirstrikeTime [integer]
  The time (in seconds) that must elapse between airstrikes PER TEAM.

  Default is 10

g_minArtyTime [integer]
  The time (in seconds) that must elapse between airtillery strikes PER TEAM. Attempts to do airstrike before the timeout will get "Insuffient fire support" message.

  Default is 10

g_throwableKnives [integer]

  Number of knives player starts with. Set to zero to disable. Player throws a knife with the /throwknife command. Use the /knives command to see how many knives you have left.

  Requires etpub_client >= 20050927 or /weapons/knife.weap in a pk3 file downloaded to the client

  Default is 0

g_maxKnives [integer]
  Maximum number of knives a player can pick up

  Default it 5

g_knifeDamage [integer]
  Maximum amount of damage a thrown knife will cause to enemy. Actual amount of damage is random.

  Default is 35

g_throwKnifeWait [integer]
  How many seconds a player must wait between knife throws

  Default is 2

g_constructibleXPSharing [1|0]
  When multiple engineers help build a constructible, each gets his share of XP once the constructible is build. The share of gainex XP is proportional to how much the engineer built.

  Default is 0

g_asblock [integer]
  Airstrike blocking.

  Available options are:

  1
    Make an announcement whenever an airstrike is blocked.
  2
    A player may easily block an airstrike by crouching, standing, or proning over the enemy's canister to block the airstrike.
  4
    Reserved.
  8
    Lvl 3 FieldOPs and higher cannot have the airstrikes blocked by players.

  Default is 0

g_partyPanzersEnabled [0|1]

  Set to 1 to enable party panzers.

  Default is 0

g_partyPanzersPattern [string]

  The pattern of the drawn panzers. This is a string of "bits" that represents where the panzers shots are aimed. The default value of "10001;01010;00100;01010;10001" means there are five rows of panzers fired (rows are separated by the semicolon (;) character), and an X pattern is drawn as "1" represents a panzer and "0" represents a space without a panzer.

  There is no limit to the number of panzers that can be shot, although too many panzers will cause extreme lag on the server.

  Default is "10001;01010;00100;01010;10001"

g_partyPanzersDamageMode [integer]

  Damage caused by the party panzers.

  Available options are:

  0
    No damage.
  1
    Normal damage. Each panzer does normal damage (see g_dmgPanzer).
  2
    Proportional. Each panzer does damage proportional to the number fired panzers. For example, if your pattern has 10 panzers, then each panzer will do 1/10 the damage that a normal panzer shot does (see g_dmgPanzer).

  Default is 2

g_panzersVulnerable [0|1]

  If set to 1, panzers that are shot in mid-air will explode. If party panzers are on, nearby panzers will explode as well due to splash damage.

  Default is 0

g_panzersSpeed [integer]

  Speed of the panzers (Applies to normal and party panzers). Normal panzer speed is 2500.

  Default is 2500

g_panzersGravity [integer]

  If set to 1, panzer trajectory will be affected by gravity (Applies to normal and party panzers).

  Default is 0

g_realHead [0|1]
  Head Box Positions

  Available options are:

  0
    Regular headbox positions.
  1
    Server tracks the animations so the headbox will match the playermodels exactly. This is the recommended value.

  This code was originally from ETPro (b_realhead). It was contributed by zinx and added to etpub by forty.

  Default is 1

g_dyno [bitmask]
  Dynamite Behaviour

  Available options are:

  1
    Sudden Death Dynamites enabled. If there is 30 seconds or less on the clock and dynamite is planted on an objective, the clock will continue to run past zero. The match will not end until the dynamite either explodes, or is disarmed. You are not allowed to plant additional dynamite during sudden death.
  2
    Dynamite chaining enabled. Dynamite will cause other similar dynamites to explode when exploding. Dynamites not planted on an objective will blow any other dynamite not on an objective. Dynamite planted on an objective will only blow dynamite on the same objective.

  Default is 0

g_canisterKick [integer]
  Canister and grenade kicking.

  Allows players to kick smoke, and air strike canisters, along with grendaes. The integer adjust the amount of force put behind the kick. 75 is a good value, anything below 60 is about useless, and above about 125 is probably too much.

  Default is 0

g_killingSpree [integer]

  This is the number of consecutive kills or deaths a player must accumulate before a spree message is printed.

  For example, if g_killingspree 5 is set, a player will receive kill spree or death messages at 5, 10, 15, 20, etc, in a row.

  If g_misc flag 8 is set, a top 3 three killing spree message will print every minute, and a map best killing spree will print every two minutes.

  Set this to 0 to disable spree messages

  Default is 0

g_killingSpreePos [integer]

  Controls the location of killing spree messages on the client

  Available options are:

  0
    Display messages in chat area
  1
    Display messages in center display area
  2
    Display messages in left-center display area

  Default is 0

g_killingSpreeMsg_end [string]

  The string used to draw the end-of-spree message.

  [n] will be replaced by the name of the player

  [k] will be replaced by the number of kills at the end of the spree

  [a] will be replaced by the name of the attacking player that ended the spree.

  Default is "[n]^8's killing spree came to an end after ^7[k] ^8kills."

g_killingSpreeMsg_tk [string]

  The string used to draw the end-of-spree message due to teamkill.

  [n] will be replaced by the name of the player

  [k] will be replaced by the number of kills at the end of the spree

  [a] will be replaced by the name of the attacking player that ended the spree.

  Default is [n]^8's killing spree was stopped by a ^1TEAMKILL^8 after ^7[k] ^8kills!"

g_killingSpreeMsg_futility [string]

  The string used to draw the message indicating an anti-kill spree.

  [n] will be replaced by the name of the player

  [d] will be replaced by the number of deaths so far.

  Default is "[n] ^8seems to be having a bad day... ^7[d] ^8deaths without a kill!"

g_killingSpreeMsg_default [string]

  The default string used to draw a message indicating an ongoing kill spree

  [n] will be replaced by the name of the player

  [k] will be replaced by the number of kills so far.

  Default is "[n] ^8is on a killing spree ^7[k] ^8kills without a death!"

g_killingSpreeMsg_X [string]

  The string used in place of g_killingSpreeMsg_default for an ongoing killing spree of multiple X.

  [n] will be replaced by the name of the player

  [k] will be replaced by the number of kills so far.

  Some examples:

      set g_killingSpreeMsg_1 "[n] ^8is on a killing spree! ^7[k] ^8kills without a death!"
      set g_killingSpreeMsg_2 "[n] ^8is a killing machine! ^7[k] ^8kills without a death!"
      set g_killingSpreeMsg_3 "[n] ^8is on a rampage! ^7[k] ^8kills without a death!"
      set g_killingSpreeMsg_4 "[n] ^8is dominating! ^7[k] ^8kills without a death!"
      set g_killingSpreeMsg_5 "[n] ^8is invincible! ^7[k] ^8kills without a death!"

  Default is to use g_killingSpreeMsg_default

g_dmgKnife [integer]

  Amount of damage done by the knife.

  Default is 10

g_dmgSten [integer]

  Amount of damage done by the sten.

  Default is 14

g_dmgFG42 [integer]

  Amount of damage done by the FG-42

  Default is 15

g_dmgPistol [integer]

  Amount of damage done by by pistol weapons

  Default is 18

g_dmgSMG [integer]

  Amount of damage done by the SMG weapoins (MP40 and Thompson).

  Default is 18

g_dmgMG42 [integer]

  Amount of damage done by the MG42.

  Default is 18

g_dmgMG [integer]

  Amount of damage done by an emplaced MG.

  Default is 20

g_dmgFG42Scope [integer]

  Amount of damage done by the FG-42 when scoped.

  Default is 30

g_dmgInfRifle [integer]

  Amount of damage done by unscoped rifles (K43 and Garand).

  Default is 34

g_dmgSniper [integer]

  Amount of damage done by a scoped Garand or K43.

  Default is 50

g_dmgFlamer [integer]

  Amount of damage done, per tick, by a flamethrower.

  Also controls the per-tick damage done to a player who has been set on fire by a flamethrower and is still burning.

  Default is 5

g_dmgGrenade [integer]

  Amount of damage done by a grenade

  Default is 250

g_dmgGrenadeRadius [integer]

  Blast radius of a grenade

  Default is 250

g_dmgGLauncher [integer]

  Amount of damage done by an engineer's grenade-launcher grenades

  Default is 250

g_dmgGLauncherRadius [integer]

  Blast radius of an engineer's grenade-launcher grenades

  Default is 250

g_dmgLandmine [integer]

  Amount of damage done by a landmine

  Default is 250

g_dmgLandmineRadius [integer]

  Blast radius of a landmine

  Default is 250

g_dmgSatchel [integer]

  Amount of damage done by a satchel

  Default is 250

g_dmgSatchelRadius [integer]

  Blast radius of a satchel

  Default is 250

g_dmgPanzer [integer]

  Amount of damage done by a panzerfaust rocket

  Default is 400

g_dmgPanzerRadius [integer]

  Blast radius of a panzerfaust rocket

  Default is 300

g_dmgMortar [integer]

  Amount of damage done by a mortar round

  Default is 400

g_dmgMortarRadius [integer]

  Blast radius of a mortar round

  Default is 400

g_dmgDynamite [integer]

  Amount of damage done by dynamite

  Default is 400

g_dmgDynamiteRadius [integer]

  Blast radius of dynamite

  Default is 400

g_dmgAir [integer]

  Amount of damage done PER BOMB by an airstrike

  Default is 400

g_dmgAirRadius [integer]

  Blast Radius PER BOMB of an airstrike

  Default is 400

g_dmgArty [integer]

  Amount of damage done PER BOMB by Artillery fire

  Note: if this value is non-zero, the spotting round will follow normal ET behavior (can do damage, but to a (VERY small radius, making damage unlikely)

  Default is 400

g_dmgArtyRadius [integer]

  Blast Radius PER BOMB of Artillery fire

  Note: if this value is non-zero, the spotting round will follow normal ET behavior (can do damage, but to a (VERY small radius, making damage unlikely)

  Default is 400

g_dmg [bitmask]

  Enables experimental advanced combat options

  Available options are:

  0
    Use traditional ET settings for combat.
  1
    Use Advanced Hit Locations: Differentiates between Head, Body, Arm, and Leg shot when computing damage
  2
    Applies a more realistic damage vs. range equation for short-ranged weapons. This will reduce the effectiveness of these weapons at longer ranges.
  4
    Gives a damage bonus to short-range weapons when used in close combat situations. This will increase the effectiveness of these weapons at closer ranges.
  8
    Use bullet fall-off approximations when computing shot trajectory.
  16
    Improve accuracy of non-scoped single-shot rifles
  32
    Use alternate bullet-spread characteristics for automatic or rapid-fire weapons.
  64
    Damage from players who are spectators or have disconnected is ignored, and XP is not awarded.

  Default is 0

g_dmgHeadShotMin [Integer]

  This represents the minimum damage done by a headshot regardless of the weapon used to make the shot.

  Headshots that would do damage below this value will be adjusted upward to equal g_dmgHeadshotMin.

  Headshots from a weapon with damage at or above this value will do a multiple of their damage, as specified by g_dmgHeadShotRatio.

  (The actual damage may undergo additional modification due to range and other conditions)

  Default is 50

g_dmgHeadShotRatio [float]

  This specifies the multiplier used for headshots that do damage ABOVE g_dmgHeadShotMin.

  Default is 2.0

g_reflectFriendlyFire [float]

  Similar to Shrub's g_friendlyfire 2 cvar.

  A multiplier value that determines how much friendly-fire damage, if any, is reflected back to the player that caused the damage. This setting is independent of g_friendlyfire, so damage can be set to reflect on both FF and non-FF servers.

  A value of 1.0 would reflect full damage.
  A value of 0.5 would reflect half damage.
  Set to 0 to disable reflected friendly fire.

  Default is 0

g_reflectFFWeapons [bitmask]

  Selects which category of weapon will reflect when g_reflectFriendlyFire is non-zero.

  Note: Setting this value to zero will override any multiplier set via g_reflectFriendlyFire, effectively disabling reflecting damage.

  Available options are:

  1
    Enable reflected damage for Firearms (all types of guns)
  2
    Enable reflected damage for Grenades and grenade launchers
  4
    Enable reflected damage for Knives (includes thrown knives)
  8
    Enable reflected damage for Panzers
  16
    Enable reflected damage for Flamethrowers
  32
    Enable reflected damage for Mortars
  64
    Enable reflected damage for Satchel Charges
  128
    Enable reflected damage for Artillery and Air Strikes
  256
    Enable reflected damage for Dynamite and Construction Damage
  512
    Enable reflected damage for Landmines

  Default is 31 (Firearms + Grenades + Knives + Panzers + Flamers)

g_friendlyFireOpts [bitmask]

  Allows greater control over friendly fire events.

  Available options are:

  1
    Landmines ALWAYS damage teammates regardless of g_friendlyfire setting
  2
    Allow 'grenade boosting' when friendly fire is off
  4
    Non-engineer players do not trigger landmines on their own team

  Default is 0

team_maxMedics [string]
team_maxEngineers [string]
team_maxFieldOps [string]
team_maxCovertOps [string]

  Restricts the number of players that can play a specific class / team. You can either set it to a whole number to set a hard limit, or you can set it to a percentage value using the % symbol to limit based on the number of players on the team. When using percentage values, any partial values are rounded up

  Example:set team_maxMedics "5" This will limit each team to 5 medics, regardless of how many players are on the team

  Example:set team_maxMedics "15%"This will limit each team to having only 15% of their players medics.

  Set this to -1 to disable limits

  Default is -1

g_staminaRecharge [float]

  Multiplies the rate at which stamina is rebuilt. Setting this value to zero will cause players to not regain any stamina once it is used except through the use of adrenalin. Setting this value is recommended only if you have etpub client versions 20050927 or later.

  Default is 1.0

g_shortcuts [0|1]

  Turns on the replacement of the following keys in say messages

  [a]
    last player who gave you ammo
  [d]
    last player who killed you
  [h]
    last player who gave you health
  [k]
    last player you killed
  [l]
    your location (letter,number)
  [n]
    your name
  [r]
    last player who revived you
  [p]
    last player you looked at
  [s]
    health remaining
  [w]
    name of current weapon
  [t]
    ammo for current weapon

  Default is 0

  ### Statistics / Rankings Terms

  There are several settings in ETPub that attempt to determine how "good" a player is in terms (hopefully) more meaningful than just XP or XP per unit of time. Here are the terms used and their definitions:

  Kill Rating

    How good of a killer the player is, based on how many other players the player kills, and their kill rating. In other words, killing players with a high kill rating increases the shooter's kill rating more than killing players with a low kill rating.

  Player Rating

    This is a measure of how much the player contributes to winning a map. This measure is calculated by seeing how many times this player is on the winning team after every map, and how good the opposing team was. Like kill rating, winning against teams with a high average player rating results in player rating increasing faster.

  Win Probability

    The probability that a team will win a map (based on the players' player rating, team size, and the map).

  These statistics are gathered by etpub and the data is saved to local files on disk.

  The etpub development team member responsible for implementing these player rankings and ratings is Josh Menke. He has been kind enough to begin working on an academic write-up to explain the mathematics and statistics methods behind these rankings. Due to time constraints the document is being gradually updated and expanded. The latest version can be seen at: http://axon.cs.byu.edu/~josh/et.pdf

  If you cannot find the document at the above location, please visit http://etpub.org

  ### Server Console Commands

  The following server console commands (for use in the server console or through rcon) commands have been added in etpub:

  chat [message]

    Display a message to all users in the chat area

  chatclient [slot#|name] [message]

    Display a message to a specific user in the chat area. A partial name match can be used, and in this case the message will be sent to all users that match the partial name

  clearxp

    Clears the XP of all users

  cp [message]

    Display a message to all users in the center of the screen

  cpmsay [message]

    Display a message to all users in the popup message area of the screen

  forcecvar [cvar] [value]

    Forces a client cvar to have a certain value for all clients

  m [slot#|name] [message]

    Send a private message to a player. A partial name match can be used, and in this case the private message will be sent to all users that match the partial name

  playsound [filename]

    Plays the specified sound file. All players hear the sound.

  ratingsinfo

    Returns the ratings points that would be granted to either team if they won the current map

  readxp

    (Requires that g_tyranny be enabled) Loads the XPSave file from disk. There is no reason to call this function, etpub loads the XPSave file automatically as needed.

  writexp

    Commits the in-memory XPSave info to disk. Normally, etpub does this automatically every time a map ends or the server is shut down.

  Additionally, all of the shrubbot commands can be used on the server console as well, the leading "!" is optional.

  ### Shrubbot

  shrubbot is an invention of Ryan Mannion. etpub tries to clone shubbot as accurately as possible, both in user interface and in the shrubbot configuration file (usually called "shrubbot.cfg").

  Below are the shrubbot commands that etpub currently supports and the corresponding flag to be used in the shrubbot config file to give permission to the command:

    COMMAND | FLAG | g_tyranny | USAGE | DESCRIPTION
    !readconfig | G | - | !readconfig | read g_shrubbot file
    !time | C | - | !time | prints out localtime of the server in global chat
    !setlevel | s | - | !setlevel (NAME|SLOT) LEVEL | sets the connected player in slot number SLOT or with name containing NAME to the level indicated by LEVEL. A player cannot !setlevel another player to a lever higher than him/herself.
    !kick | k | - | !kick (NAME|SLOT) REASON | kicks the player in slot number SLOT or with name containing NAME off off the server. REASON is given to the client as the drop message. The client will be banned for 2 minutes.
    !ban | b | - | !ban (NAME|SLOT) SECONDS REASON | kicks the player in slot number SLOT or with name containing NAME off the server and will not let them connect again for SECONDS seconds.
    !unban | b | - | !unban BAN_NUMBER | removes the ban that !showbans lists as BAN_NUMBER
    !putteam | p | - | !putteam (NAME|SLOT) (r|b|s) | puts the player in slot number SLOT or with name containing NAME on the indicated team. r - AXIS b - ALLIES s - SPECTATORS
    !pause | Z | - | !pause | pauses the match
    !unpause | Z | - | !unpause | unpauses the match
    !listplayers | i | - | !listplayers | prints out a list of information about the connected players. the columns are:
    slot number
    team R=axis B=allies S=spectator C=connecting
    admin level
    last 8 digits of guid
    M if muted
    first letter of fireteam name
    name
    stored name (if different)
    !mute | m | - | !mute (NAME|SLOT) | mutes the player in slot number SLOT or with name containing NAME
    !unmute | m | - | !unmute (NAME|SLOT) | unmutes the player in slot number SLOT or with name containing NAME
    !showbans | B | - | !showbans [SKIP] | lists up to 30 shrubbot bans currently in effect. columns are
    ban number
    banned player's name
    date of the ban
    name of the banning admin
    when the ban will expire
    reason for the ban
    If SKIP is provided, that number of bans are skipped before printing starts. SKIP can also be negative (e.g. '!showbans -10' would display the last 10 bans.
    !help | h | - | !help | lists all available shrubbot commands.
    !admintest | a | - | !admintest | prints out player's current shrubbot admin level in global chat.
    !cancelvote | c | - | !cancelvote | makes a vote in progress fail
    !passvote | V | - | !passvote | makes a vote in progress pass
    !spec999 | P | - | !spec999 | moves all players with ping of 999 to the spectators team.
    !shuffle | S | - | !shuffle | shuffles teams, but does NOT restart (see !restart)
    !rename | N | YES | !rename (NAME|SLOT) NEWNAME | sets the player in slot number SLOT or with name containing NAME to NEWNAME.
    !gib | g | YES | !gib (NAME|SLOT) | kills and gibs the player in slot number SLOT or with name containing NAME
    !slap | A | YES | !slap (NAME|SLOT) [DAMAGE] [REASON] | does DAMAGE (default 20) damage to player in slot SLOT or with name containing NAME. If REASON is specified it's center-printed to the victim.
    !burn | U | YES | !burn (NAME|SLOT) [REASON] | sets the player in slot number SLOT or with name containing NAME on fire. REASON will be center-printed to the victim.
    !warn | R | - | !warn (NAME|SLOT) [WARNING] | plays the whistle sound and center-prints WARNING to the player in slot number SLOT or with name containing NAME.
    !news | W | - | !news | plays the map specific news audio to all players if it is available.
    !lock | K | - | !lock (r|b|s|all) | locks the team specified. recognized values are r=AXIS b=ALLIES s=SPECTATORS all=ALL
    !unlock | K | - | !unlock (r|b|s|all) | unlocks the team specified. recognized values are r=AXIS b=ALLIES s=SPECTATORS all=ALL
    !lol | x | YES | !lol [NAME|SLOT] [GRENADES] | makes all players drop grenades. If NAME or SLOT is provided only that player will drop grenades. GRENADES is the number of grenades to be dropped (default is 1).
    !restart | r | - | !restart | restarts the match
    !reset | r | - | !reset | resets the match
    !swap | w | - | !swap | swaps the players to the opposite team
    !pip | z | YES | !pip [NAME|SLOT] | draws sparks (pixie dust) around the player in slot number SLOT or with name containing NAME. does it to all players if no NAME/SLOT is not providied.
    !pop | z | YES | !pop [NAME|SLOT] | pops the helmet off of player in slot number SLOT or with name containing NAME. If no paramter is provided it pops the helmets off of all players.
    !fling !launch !throw | l | YES | !fling (NAME|SLOT) | send the player in slot number SLOT or with name containing NAME flying.
    !flinga !launcha !throwa | L | YES | !flinga | sends all players flying
    !listteams | I | - | !listteams | prints out a list of statistical information about each team. This lists ends with ratings information based on how likely each team is to win the current map. The team with more points is LESS likely to win, therefore a good way to balance the teams is to join the team with more points, or move people to that team, until the points are about even.
    !disorient | d | YES | !disorient (NAME|SLOT) [REASON] | turns the view upside down for the client in slot number SLOT or with name containing NAME. If REASON is specified it is printed to the client.
    !orient | d | YES | !orient (NAME|SLOT) | reverses the action of !disorient for the client in slot number SLOT or with name containing NAME.
    !resetxp | X | YES | !resetxp (NAME|SLOT) [REASON] | clears all XP and skillpoints for player in slot number SLOT or with name containing NAME. If reason is provided it is printed to the client.
    !nextmap | n | - | !nextmap | moves to the next map in campaign or in the objective cycle end game intermission is skipped
    !resetmyxp | M | - | !resetmyxp | clears all XP and skillpoints for the player who runs this command.

  The following flags are also supported:
  1
    cannot be vote kicked, vote muted, dropped from inactivity, or complained against.
  2
    cannot be censored
  3
    Can run commands silently with /!COMMAND in the console
  4
    Can see Axis/Allies team chats as a spectator
  5
    can switch teams any time, regardless of balance
  6
    does not need to specify a reason for !kick or !ban
  7
    Can call a vote at any time (regardless of disabled voting or voting limitations)
  8
    does not need to specify a duration for a ban (defaults to PERMANENT)
  9
    Can do shrubbot commands via team and fireteam chats
  The following operators are supported in the flags field:
  *
    This means all available commands are allowed. Any flags that come after the * are negated. So for example:

        [level]
        level   = 5
        name    =
        flags   = *xU

    would give level 5 admins all commands except !lol and !burn.
  -
    This subtracts the flags that follow it from the allowed flags. Example:

        [admin]
        name    = tjw
        guid    = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        level   = 5
        flags   = -bs

    would give tjw all of the commands a level 5 admin has except !ban and !setlevel.
    NOTE: this operator is for admin flags only.
  +
    This is pretty useless since it is implied that any flags will be appended anyway unless they follow '-'. Therefore, the only use for this operator is for use after the '-' operator. Example:

        [admin]
        name    = tjw
        guid    = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        level   = 5
        flags   = -bs+U

    would give tjw all of the commands a level 5 user has except !ban and !setlevel, but he also gets the !burn command which typical level 5 admins do not have.
    NOTE: this operator is for admin flags only.

  The configuration file itself is layed out in blocks serpated by blank lines. The three types of blocks supported are [level], [admin], and [ban]. If you ever need to edit the shrubbot.cfg file by hand, you need to run the !readconfig command (or restart etded) to load it.

  When setting up a new shrubbot.cfg file, simply set the g_shrubbot cvar to the name you want to use for the configuration file, then connect to the server with your et, and run the following command in the server console:

      !setlevel ETPlayer 5

  (where ETPlayer is your name). This will create the shrubbot.cfg file with default levels and your guid set to level 5 admin (the highest default level). You can then edit the level definitions in this file to match your preferences and run the !readconfig command to load them up.

  ### General Changes

  - stats are not reset when a player changes teams
  - incorporated many of bani and rain's etpro weapon fixes that were published in the etpro forum.
  - used bani's self-headshot when prone fix published in the etpro forum.
  - used bani's oversize server command fix published in the etpro forum.
  - you can no longer steal a uniform from a corpse that has sunk into the world.
  - On limited lives servers running dual objective maps, people that join after the timelimit runs out no longer get unlimited lives.
  - XP shuffle now sorts players by the rate at which they have been gaining XP instead of the total amount of XP they have.
  - ref commands work in the server console.
  - shooting breakables (like windows) doesn't count for 'hits' anymore, but shooting wounded players now does.
  - players are no longer allowed to pick up weapons if they wouldn't be allowed to switch to that weapon in the limbo menu. (e.g. heavy weapon restrictions or the team_maxWEAPON cvars).
  - if the time has run out on a dual objective map on a limited lives server, the round will now end if one team runs out of lives even if the objective hasn't been completed.
  - On limited lives servers running dual objective maps, landmines can be diffused after the time runs out.
  - hitboxes are more accurate for several player states. (see g_hitboxes)
  - if a match is paused and nobody unpauses it, it will start back up again after match_timeoutlength seconds.
  - on non-limited lives servers, players will no longer have a skull next to their name after they switch teams.
  - teams are no longer locked when the warmup countdown starts.
  - added cp, cpmsay, cpm, chatclient, m, and priv console commands.
  - akimbo weapons can be reloaded if only one shot has been fired.
  - when wounded, viewlock should no longer lock on to non-medic teamates.
  - when following a teammate, you stop following them if they switch to the other team.
  - merged Chruker's bug fixes (Project: Bug Fix)
  - ignore and unignore client commands will now accept slot number or partial name match.
  - vsay* commands recognize the ignore list
  - clients are notified when you add/remove them from your ignore list
  - when ignoring another client their messages will be visible in the console (~), but not chat.
  - voting for Competition Settings (/callvote comp) makes the server try to "exec default_comp.cfg" instead of loading the built-in competition settings.
  - voting for Public Settings (/callvote pub) makes the server try to "exec default_pub.cfg" instead of loading the built-in pub settings.
  - voting for Next Map (/callvote nextmap) now loads the next map in the campaign instead of loading the next campaign.
  - added vote_allow_maprestart cvar to control the existing maprestart vote. etmain client will still show the button in the menu even if it is disabled though.
  - added Custom Obituaries.