Updated for etpub 0.9.1
cvarsThe following have been added or changed since 0.8.2
server console commands | |||
clearspreerecords | lua_status | makeshoutcaster | removeshoutcaster |
etpub_version |
shrubbot ! commands | |||
panzerwar | sniperwar | riflewar | giba |
spreerecord | spree | tspree | freeze |
unfreeze |
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)
The name of the file that all shrubbot commands will be logged to. For example,
g_logAdmin "admin.log"
Default is "" (no log file)
This is a bitflag cvar that supports the following values
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 0before 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.
The sound that a player emits when shoved. Set this to "" to disable it.
Default is "sound/weapons/grenade/gren_throw.wav"
The sound that a poisoned player emits every second. Set this to "" to disable it.
Default is "sound/player/gurp2.wav"
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 ""
If a client was killed with a knife, all players close to the killed player will hear this sound. Kills on teammates will be ignored and so this sound won't be played then
Example
set g_knifeKillSound "sound/osp/goat.wav"
Set this to "" to disable it.
Default is ""
The sound that will be played when the first kill of the map is made
Example
set g_firstBloodSound "sound/misc/firstblood.wav"
Set this to "" to disable it.
Default is ""
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
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.
Set this to 1 if you want to disable shove in the up/down direction (a.k.a "boosting").
Default is 0
Allows players do drag wounded players with the use key when moving backward slowly. Works best when crouching or prone.
Default is 0
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
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
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
If set a sound is played to every player that receives a private message
Default is "" (Disabled)
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:
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
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"
The number of seconds that must pass without a connection from this player before XPSave forgets his/her xp skills.
Starting with 0.8.1, you can use a modifier for this value. Here are some examples:
set g_XPSaveMaxAge_xp "1o" - 1 month
set g_XPSaveMaxAge_xp "2w" - 2 weeks
set g_XPSaveMaxAge_xp "5d" - 5 days
set g_XPSaveMaxAge_xp "36h" - 36 hours
set g_XPSaveMaxAge_xp "120m" - 120 minutes
NOTE: if g_XPSaveMaxAge is less than g_XPSaveMaxAge_xp, g_XPSaveMaxAge will be used.
Default is 1d
The number of seconds that must pass without a connection from this player before XPSave forgets his/her skills/killrating/playerrating/mute status.
Starting with 0.8.1, you can use a modifier for this value. Here are some examples:
set g_XPSaveMaxAge "1o" - 1 month
set g_XPSaveMaxAge "2w" - 2 weeks
set g_XPSaveMaxAge "5d" - 5 days
set g_XPSaveMaxAge "36h" - 36 hours
set g_XPSaveMaxAge "120m" - 120 minutes
See also g_XPSaveMaxAge_xp
Default is 1w
This is a bitmask that controls the XP decay feature. The following bitflags are supported:
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
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.
Starting with 0.8.1, you can use a modifier for this value. Here are some examples:
set g_xpDecayRate "5000/o" - Decay 5000xp per skill per month
set g_xpDecayRate "1000/w" - Decay 1000xp per skill per week
set g_xpDecayRate "500/d" - Decay 500xp per skill per day
set g_xpDecayRate "40/h" - Decay 40xp per skill per hour
set g_xpDecayRate "2/m" - Decay 2xp per skill per minute
Default is 0.0
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
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)
Displays a message warning players whose XP is close to being reset due to the g_maxXP setting. The warning is displayed every thirty seconds once the warning threshold is passed.
This setting can have an integer value (eg, 950), in which case it means that the player will be warned every thirty seconds once he has more than 950 XP.
This setting can also have percentage value (eg, "90%"), and that will cause the warnings to start when the player reaches 90% of g_maxXP XP.
If you specify a negative value, players will be warned when that offset is hit. For example:
For a value of -75, warnings will to display then players have g_maxXP - 75 XP
For a value of -2%, warnings will display when players have 98% of g_maxXP
Set this to 0 to disable it.
Default is 0
Optionally enables the awarding of XP based upon the amount of damage a player has done to the opposing team.
Available options are:
Default is 0
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
This is meant to match the shrubmod g_weapons cvar, but so far the only implemented flags are:
Default is 0
This is a bitflag cvar that currently supports the following flags:
Default is 0
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
This is a bitflag cvar that controls the way g_goomba is handled. Currently the following flags are supported:
Set this to 31 to have g_goomba work like shrubet.
Default is 0
The number of seconds players will be invincible after they spawn.
Default is 3
The number of seconds Allied players will be invincible after they spawn. This will override g_spawnInvul if not 0
Default is 0
The number of seconds Axis players will be invincible after they spawn. This will override g_spawnInvul if not 0
Default is 0
Removes the spawn protection when the player fires his first shot (note : the spawn protection will still be removed after the g_spawnInvul time)
Default is 1
Allow players to use +left and +right binds to spin their corpse when dead or playing dead.
Default is 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 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.
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:
For example, setting
g_ATB_diff 50a 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: 70
g_ATB_minXP: 300
g_ATB_minPlayers: 5
g_ATB_axisHoldoff: 5
g_ATB_alliedHoldoff: 5
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: If you set g_ATB to 2, g_ATB_rating must have a value of 4 and g_shuffle_rating must have a value of 4 or 5 or ATB will be hyperactive and ineffective. For this reason, when g_ATB is 2, g_ATB_rating is forced to have a value of 4, and if g_shuffle_rating does not have a value of 4 or 5, it is forced to have a value of 5
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
Sets the time in minutes after the beginning of the map, that ATB should be disabled. Set to 0 to don't disable ATB after a certain amount of time
Default is 0
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:
NOTE: When g_ATB is set to 2, g_ATB_rating is forced to have a value of 4
Default is 3
Sets the rating system used by shuffle. The following options are supported:
NOTE: When g_ATB is set to 2, g_shuffle_rating must be set to 4 or 5, otherwise it is forced to have a value of 5
Default is 3
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
Limits the number of the given weapon per team.
You can either set it to a whole number to set a hard limit, or, starting with etpub 0.8.1, 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
You can also use a number such as "20%-" for this setting, in which case partial values will be rounded down
Only use integer values like 1 or 2 and NOT 1.0 or 2.5. If you refuse to do this and use a . in your cvar, the client will not display the restriction in the right way and people might not be able to use heavy weapons while they actually are available!
Example:set team_maxFlamers "2" This will limit each team to 2 flamethrowers, regardless of how many players are on the team
Example:set team_maxFlamers "10%"This will limit each team to having only 10% of their players as flamethrowers, and a team with few players (for example, 5) will be able to have 1 flamethrower. They will be able to have their second flamethrower when they have 11 players on the team.
Example:set team_maxFlamers "10%-"This will limit each team to having only 10% of their players as flamethrowers, and a team will not be able to have any flamethrowers until there are 10 players in the team. They will be able to have their second flamethrower when there are 20 players on the team.
Set this to -1 to disable limits
Default is -1
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).
When in g_gametype 6 mode (Map Voting) and g_resetXPMapCount is set, an additional file named vote_X.cfg is also exec'ed. X indicates the position of the next map in the campaign. For example, vote_2.cfg will exec'ed such that when map 1 ends, any cvars in vote_2.cfg will affect map voting for map 2.
Default is ""
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
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
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
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
This is meant to match the shrubmod g_logOptions cvar, but so far the only implemented flags are:
Default is 0
A comma delimited string of words that will be censored from chat.
Default is ""
A comma delimited string of words that will be censored from player names.
Default is ""
This is a bitflag that currently supports the following flags:
Note: If you use both 1 and 4, it will gib (like shrub did).
Default is 0
Use Neil Toronto's censor filter. It'll catch some symbol and number replacements, and spaces now. It also adds some common words and common words with "swears" in them that should really be OK. For example, it will not censor "assassin" but it will censor "ass".
Default is 0
Use Neil Toronto's censor filter for player names. See g_censorNeil description for details.
Default is 0
The number of seconds to auto-mute as a censor penalty. Only works if bitflag 8 is added to g_censorPenalty.
Default is 60
The amount of XP to lose as a censor penalty. Only works if bitflag 16 is added to g_censorPenalty.
Default is 5
Set the length of time the end of game screens displays before loading the next map.
Default is 60
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
This is a bitflag cvar that currently supports the following flags:
Default is 0
This is a bitflag cvar that currently supports the following flags:
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.
This is a bitflag cvar that currently supports the following flags:
Imporant note: in etpub 0.8.1 the flags 256, 512 and 1024 were added, because some server admins had problems with the collision boxes. Enabling 256 and 1024 might bring back some old prone bugs, so use them at own risk. See this topic for more information.
Default is 256
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)
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
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
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
When set, anyone kicked for the reasons you specify, will be temporarily banned for g_autoTempBanTime seconds
Default is 0
The number of seconds kicked for when g_autoTempBan is set
Default is 1800
This is a bitflag cvar that supports the following flags:
Default is 0
Multiply the speed of movers (e.g. tanks) by float.
Defaults to 1.0
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
This bitflag cvar controls the effects of g_poison. The following flags are supported:
Default is 7
Bitmask that controls the behavior of the /kill command.
See also g_fear and g_maxSelfkills
Default is 0
Amount of times a player can use /kill per map.
Setting this to -1 will result in normal behaviour (infinite selfkills).
Setting this to 0 will disable /kill.
Default is -1
The time between ammo cabinet regenerations in milliseconds.
Default is 60000.
The time between health cabinet regenerations in milliseconds.
Default is 10000.
This is a bitmask that controls spectator behaviour. It supports the following flags:
Default is 0 (no changes from etmain).
Bitmask to control various aspects of the medic, to nerf or otherwise change their behavior. Currently supported flags include:
Default is 0
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:
Default is 0
Bitmask to control various aspects of the Covert Op class. Currently supported flags include:
Default is 0
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
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.
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.
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". You can also grant levels upon connection byt using a value like "0 0 20 100". This would mean that the first two ranks would be granted upon connection, and the third and fourth ranks would be granted at 20 and 100 points, respectively.
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:
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.
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:
NOTE: in 0.5.x there was a 4 flag that allowed killRating to be used for shuffle. This has been deprecated. This is now controlled through the g_shuffle_rating cvar.
See also g_ATB_rating.
See also g_shuffle_rating.
Default is 3.
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:
See also g_ATB_rating.
See also g_shuffle_rating.
See also g_teamForceBalance_playerrating.
Default is 3.
On an etpub installation with little statistics history, !howfair will not print out very accurate data. g_playerRating_mapPad is a cvar that attempts to stabilize early !howfair results by adding a number of fake wins to each team. If you set it to 50, it starts with Axis = 50, Allies = 50 wins. This yields a map rating of 50% for both teams on that map. For every 2 real games played, 1 map pad value is ignored. So after 100 games, map pad is ignored (replaced with real games).
The higher map pad, the longer the values will stay near 50-50.
Default is 50
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)
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 10The 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.
See also !listteams.
See also g_ATB.
Recommended Setting when used: 60
Default is 0.
This is a bitflag cvar used to control the way statistics are handled. The following flags are supported:
Set this to 3 to use the behaviour of etmain and shrubet.
Default is 0
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 1in 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
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.
NOTE: It is strongly recommended that you use the map scripts distributed with etpub since these updated scripts fix very important bugs in some of the original map scripts.
Setting g_mapScriptDirectory to "" disables any use of map .script files.
Default is ""
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:
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 ""
Cvars that restrict the rights of players to use the respective /callvote command.
Default is 1 (allowed)
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.
As of 0.7.2, g_fear applies also to players that try to switch teams within g_fear milliseconds. The player will remain in the same team and the usual g_fear behavior applies.
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)
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:
See also g_logOptions.
Default is 2
The time (in seconds) that must elapse between airstrikes PER TEAM.
Default is 10
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
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
Maximum number of knives a player can pick up
Default it 5
Maximum amount of damage a thrown knife will cause to enemy. Actual amount of damage is random.
Default is 35
How many seconds a player must wait between knife throws.
As of 0.7.2, the minimum value for this setting is 0.2 seconds. This is to prevent an exploit where players can bind the mousewheel to /throwknife so they can throw many knives within a very short time.
Default is 2
When multiple engineers help build a constructible, each gets his share of XP once the constructible is build. The share of gained XP is proportional to how much the engineer built.
Default is 0
Airstrike blocking.
Available options are:
Default is 0
Set to 1 to enable party panzers.
Default is 0
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 comma (,) 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.
NOTE: ETPub versions 0.7.1 and older used the semicolon (;) Character as the row separator. For backward compatibility the semicolon character can still be used, though use of the comma is highly recommended.
Default is "10001,01010,00100,01010,10001"
Damage caused by the party panzers.
Available options are:
Default is 2
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
Speed of the panzers (Applies to normal and party panzers). Normal panzer speed is 2500.
Default is 2500
If set to 1, panzer trajectory will be affected by gravity (Applies to normal and party panzers).
Default is 0
Head Box Positions
Available options are:
This code was originally from ETPro (b_realhead). It was contributed by zinx and added to etpub by forty.
Default is 1
Dynamite Behaviour
Available options are:
Default is 0
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
Kicked Canister Ownership
Default is 0
Amount of damage done by the knife.
Default is 10
Amount of damage done by the sten.
Default is 14
Amount of damage done by the FG-42
Default is 15
Amount of damage done by by pistol weapons
Default is 18
Amount of damage done by the SMG weapoins (MP40 and Thompson).
Default is 18
Amount of damage done by the MG42.
Default is 18
Amount of damage done by an emplaced MG.
Default is 20
Amount of damage done by the FG-42 when scoped.
Default is 30
Amount of damage done by unscoped rifles (K43 and Garand).
Default is 34
Amount of damage done by a scoped Garand or K43.
Default is 50
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
Amount of damage done by a grenade
Default is 250
Blast radius of a grenade
Default is 250
Amount of damage done by an engineer's grenade-launcher grenades
Default is 250
Blast radius of an engineer's grenade-launcher grenades
Default is 250
Amount of damage done by a landmine
Default is 250
Blast radius of a landmine
Default is 250
Amount of damage done by a satchel
Default is 250
Blast radius of a satchel
Default is 250
Amount of damage done by a panzerfaust rocket
Default is 400
Blast radius of a panzerfaust rocket
Default is 300
Amount of damage done by a mortar round
Default is 400
Blast radius of a mortar round
Default is 400
Amount of damage done by dynamite
Default is 400
Blast radius of dynamite
Default is 400
Amount of damage done PER BOMB by an airstrike
Default is 400
Blast Radius PER BOMB of an airstrike
Default is 400
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
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
Enables experimental advanced combat options
Available options are:
Default is 0
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
This specifies the multiplier used for headshots that do damage ABOVE g_dmgHeadShotMin.
Default is 2.0
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
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:
Default is 31 (Firearms + Grenades + Knives + Panzers + Flamers)
Allows greater control over friendly fire events.
Available options are:
Default is 0
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
Starting with etpub 0.8.1, you can use a number such as "20%-" for this setting, in which case partial values will be rounded down
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 as medics, and a team with few players (for example, 3) will be able to have 1 medic. They will be able to have their second medic when they have 7 players on the team.
Example:set team_maxMedics "15%-"This will limit each team to having only 15% of their players as medics, and a team will not be able to have medics until there are 7 players in the team. They will be able to have their second medic when there are 14 players on the team.
Set this to -1 to disable limits
Default is -1
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
Turns on the replacement of the following keys in say messages
Default is 0
Turns on identification of your teammates landmines. (Requires etpub client 20051230 or later)
Default is 0
Message to add to the drop screen when a client is kicked or banned.
Default is ""
As of 0.7.1, etpub changes the behavior of this etmain cvar:
g_inactivity is the number of milliseconds of player inactivity before the player is made
a spectator. The player must be on a non-spectator team for this to happen, otherwise:
If the player was already a spectator when the inactivity limit hits, then: 1) If the server
is full (no more public slots left) then the player is kicked; 2) If the server is not full,
then the player is allowed to remain as spectator for 60 more seconds at a time until
the player is not inactive anymore or the server becomes full.
A value of 0 means no time limit
Default is 0
As of 0.7.1, etpub changes the behavior of this etmain cvar:
g_spectatorInactivity kicks only when the server is full.
A value of 0 means no time limit
Default is 0
As of 0.7.1, etpub added the game type 6 (map voting). Please see Map Voting
Unique ID for identifying the server to stats.etpub.org for player statistics posts. You must obtain an ID for your server by posting a request in http://etpub.org. DO NOT SET A RANDOM VALUE FOR THIS FIELD, ALWAYS REQUEST THAT AN ID BE ASSIGNED TO YOUR SERVER
Default is ""
Enable/disable tactics mode (more on this later). A value of 0 will disable g_tactics mode.
Default is 0
Enable/disable etpub flood protect. Flooding means that a client is sending too many messages to the server (vsays, callvotes, etc...). Enabling g_floodprotect disables the engine's sv_floodprotect functionality. If you enable g_floodprotect, make sure you set a value for g_floodthreshold.
Default is 1
The number of messages per second before ignoring the client's messages. Only in effect when g_floodprotect is turned on.
Default is 6
The minimum number of milliseconds between two messages when g_floodprotect is enabled. This is a hard limit so admins aren't allowed to override it. 1000 milliseconds copies sv_floodprotect behaviour. This CVAR should not have a value below 500 in order to keep a public server playable.
Default is 1000
Ways to change how map voting works
Only valid when g_gametype is 6 (see Map Voting)
Available options are:
Default is 0
How many maps are presented to users for voting upon during intermission
Only valid when g_gametype is 6 (see Map Voting)
Default is 6
How long a map is ineligible for voting, after it is played
Only valid when g_gametype is 6 (see Map Voting)
Default is 3
How many maps occur before XP is reset. If g_XPSave flag 4 is set,
g_resetXPMapCount is ignored. Similarly, if g_resetXPMapCount is
set to 0, it is the same as setting g_XPSave flag 4
Only valid when g_gametype is 6 (see Map Voting)
Default is 0
Used to exclude map that would otherwise be listed in the map voting list.
The format is ":map1:map2:map3:", where mapX is the .bsp name.
Note that each mapname must be fully surrounded by ":" otherwise the map will
not be excluded.
Only valid when g_gametype is 6 (see Map Voting)
Default is ""
The minimum shrubbot adminlevel required for players to be able to connect.
NOTE: this only works for positive levels, any value <= 0 will allow everyone to connect
NOTE: Bots won't be enable to connect either.
Default is 0
When set to 1, OmniBot functionality is enabled. You still need to have OmniBots installed correctly in order for OmniBots to work.
Default is 1
The path where the OmniBot dll/so file is installed. If you installed omni-bot correctly, then you do not need to modify this cvar. Leaving this cvar blank will search for the OmniBot file in the default locations.
Default is ""
Any bots present will have their XP reset after this much XP is reached. If g_maxXP is also set to a value greater than -1, then the bot XP will be reset whenever the lower limit of the two is hit.
Set this to -1 to disable this feature
Default is -1
Ensures that there are at least g_bot_minPlayers playing (non-spec) in your server at any one time. If there are not enough human players playing, bots are added as needed. Once there are g_bot_minPlayers human players playing on the server there will be no bots.
NOTES:
Set this to -1 to disable this feature
Default is -1
This CVAR replaces the old g_bot_flags CVAR
Customizes bot management/behavior
Available options are:
Default is 0
If g_teamForceBalance is set, setting g_unevenTeamDiff will notify all players when team numbers are off by g_unevenTeamDiff or more. See also g_unevenTeamFreq
Set to 0 to disable this feature
Default is 0
How often the team disparity notification occurs. Only valid when g_unevenTeamDiff is set to a positive value. Value is in seconds.
See also g_unevenTeamDiff
Default is 30
Location where the shrubbot greetings are displayed.
Default is 0
The minimum time (in seconds) that players must wait between two votes.
Default is 0
A few options to control the display of killingsprees. Note that the flags 1, 2 and 4 are just made for fast enabling / disabling and still require a g_settings file.
Default is 0
The time (in milliseconds) in which two kills should be made in order to count them as multikills.
Default is 1000
This should be set to the name of your settings.cfg file if you want to enable killingsprees, multikills or banners. See settings documentation for more information about this file.
Example:
g_settings "settings.cfg"
Default is "" (Disabled)
In etpub 0.8.1 some protection is build in which tries to limit IP and GUID spoofing / stealing. By default this protection kicks players that change their GUID or IP during gameplay.
Note: this cvar has been changed a lot in etpub 0.9.1. All the kicks of innocent players should be gone now.
Do NOT change this CVAR unless you encounter problems!
Note: settings this CVAR to 48 causes the exact same behaviour as ETPub 0.7.x
Default is 3 (Flag 1 + 2)
This cvar changes the behaviour of the shrubbot !warn command. By setting flag 1 or 2 you activate the advanced warning (storage) system
Default is 0
The ammount of warnings that can be stored for 1 player
Default is 3
The time in hours that a warning will be stored
Default is 24
Manually delay the antilag of every player on the server. Might give very weird behaviour, so use at own risk
Default is 0
Creates a smoother movement when enabled
Default is 0
Makes the fixedphysics act like all the clients have the same framerate, so that players with "magic" quake engine framerates don't have an unfair advantage. This CVAR must be between 60 and 333.
Note: this doesn't actually change the framerate of clients, so clients can keep their own framerate
Default is 125
Limit the number of namechanges per player per map by setting this cvar. This is especially needed if you have cheaters that autochange their name every second.
Set to -1 to disable.
Default is 3
Disable teamkill complaints for some weapons.
Default is 0
The time in milliseconds that a medic cannot heal himself after being hit
Default is 0
When set, a player can kill himself g_maxPanzerSuicides times with a panzerfaust. The next panzerselfkill will result in a panzer shooting medpacks.
The amount of suicides is reset every map.
Set to -1 to disable, -2 to always enable (no normal panzers anymore)
Default is -1
Set the g_packDistance for the medpacks fired by the panzerfaust when g_maxPanzerSuicides is enabled
Set to 0 to use default (etmain)
Default is 0
Set a watermark that will be displayed to all clients. This requires an ETPubClient >= 20070213. The watermark must be put in a folder named "watermark" and then this whole folder needs to be zipped into a .pk3 file
Default is "" (Disabled)
When g_watermark is set, the watermark will fade out after [integer] number of seconds
Default is 0 (No Fade)
When g_watermarkFadeAfter is set, the watermark will fade out in [integer] seconds. (So the fading process from 1.0 alpha to 0.0 alpha takes [integer] seconds
Default is 0
Show results of votes per team to everyone with at least this shrubbot level. Set to -1 to disable. Referees can always see the results when this CVAR is set greater than 0
Default is -1
Time you have to wait between using 2 shrubbot commands in milliseconds
Default is 0
Enable ETPro-style antiwarp. This gives non-lagging players a much better game but for laggers it will be a bit more uncomfortable. This CVAR overrides both g_maxWarp AND g_skipCorrection in order to keep things consistent
Default is 1
Make people walk/run slower when they are damaged. g_healtSpeedStart is the percentage of the maxhealth of a player when the slowdowns starts. The slowdown is linear and holds until reaching 0 health. g_healthSpeedBottom is the minimum percentage of g_speed that every player will have.
Example
set g_speed 320 set g_healthSpeedStart 64 set g_healthSpeedBottom 50A player with a maxhealth of 100 (level 0 non medic) will have a speed of 320 until he reaches a health of 64. From that moment his health will be decreasing linear if he gets hurt. This linear decrement will continue untill he reaches a health of 1. At that moment his speed will be 50% of g_speed (so 160). At the moment he has 32 health, his speed will be 75% of g_speed (so 240). A speed decrement is not permanent: when he gets healed his speed will increase lineair or even be 320 again when he has 64 hp or more.
Set g_healthSpeedStart to 0 to disable this feature.
Note that settings this cvars higher than 100 or below 0 will not work.
Also note that g_healthSpeedBottom should not be set to low to keep the game
fair. g_healthspreeStart should not be set above �80 since players with level 3
battle sense and medics would be slowed down at start then
Defaults are
g_healthSpeedStart 0.0
g_healthSpeedBottom 50.0
(Disabled)
The percentage of extra damage that is done when one of the g_damageBonusOpts conditions is reached or when there are g_damageBonusNearMedics near the attacker or when there are g_damageBonusTotalMedics. When one positive and one negative condition is reached, the damage will just be default. When two negative or two positive conditions occur, the damage will change only once
Default is 20.0 (Max is 100.0)
Some settings that change the behaviour of g_damageBonus
Note: this CVAR should have different values for different maps, since not every map requires an engi for example
Default is 0
When the attacker is a medic and is near at least this number of other medics, his damage is reduced by g_damageBonus percent
Default is 0 (Disabled) (Recommended value when used, is 1 or 2)
When the attacker is a medic and there are at least this number of medics in the team, his damage is reduced by g_damageBonus percent
Default is 0 (Disabled) (This field does NOT accept percentage values at this point)
Enables/Disables Panzerwar. 1 is enabled, 0 is disabled
Default is 0
Enables/Disables Sniperwar. 1 is enabled, 0 is disabled
Default is 0
Enables/Disables Riflewar. 1 is enabled, 0 is disabled
Default is 0
Sets the ability to use custom voice chats example: vsay hi Hey, how are you doing will write on the screen Hey, how are you doing, and also plays the voicechat 'hi"
Note: this requires ETPub client > 20070825
Default is 1
Sets whether the players will see the GeoIP country flags in the crosshair when aiming at someone and in the scoreboard.
Players can enable/disable it with cg_countryFlags (default 1).
Note: this requires ETPub client > 20080505. Also, you will need the GeoIP.dat file in your server's etpub folder. You should read and accept the license of the GeoIP.dat database!
Read the database license at
http://geolite.maxmind.com/download/geoip/database/LICENSE.txt.
Download the latest database at
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz.
Default is 1
When set to 1, disables player skill upgrades.
Default is 0
Changes the way the charge bar works. Using g_slashKill will take precedence over this setting
Default is 2
Evens the dropped items out with the surface.
Default is 1
List of files to be loaded by the Lua API engine. Can be separated by space, comma or semicolon. The paths are relative to the mod's directory, and can optionally be placed inside pk3 archieves.
We are aiming for compatibility with ETPro's Lua Mod API
Default is ""
List of sha1 signatures for the lua modules to be loaded by the Lua API engine. Can be separated by space, comma or semicolon. Only lua modules with the matching sha1 signature listed in this cvar will be allowed to load by the Lua API engine (ACL).
Default is ""
Maximum number of connections allowed from one particular IP. This prevents the fake clients Denial of Service attack.
Default is 4
Enables shoutcaster status on the server.
NOTE: Shoutcaster status is only available with installed etpub client > 20090112.
Default is "none"
This is a bitflag cvar that supports the following values:
Default is 0
Damage used for instagib mode (e.g. set this to 160 so that a player can still be revived after being shot.).
Default is 400
This is a bitflag cvar that supports the following values:
Default is 3
This is a bitflag cvar that supports the following values:
Default is 3
Displays the first kill of the round. [a] will be replaced by the name of the attacker and [v] will be replaced by the name of the victim.
Note: To disable this message set this cvar to "".
Default is "^7[a] ^7drew ^1FIRST BLOOD ^7from [v]"
Location where the first blood message should be displayed. This can be 0 (chat area), 1 (center area), 2 (popup area), 3 (banner area) or 4 (console only).
Default is 2
Displays the last kill of the round in intermission. [a] will be replaced by the name of the attacker.
Note: To disable this message set this cvar to "".
Default is "^8And the final kill of this round goes to [a]^8!"
This is a bitflag cvar that supports the following values:
Default is 0
With the release of etpub 0.7.1, a new g_gametype of 6 is introduced. This gametype allows, when used in conjunction with an etpub_client > 20060310, for the players to decide on the map that is played next. When g_gametype is set to 6, and the client is using the appropriate client, a new screen is introduced during intermission. This screen list, depending on server configuration, a list of up to 32 maps that are loaded on the server, and that all players can vote on. Once intermission ends, the server totals the votes, and plays the next map based upon the vote results
The following cvars control how map voting operates
Miscellaneous notes about mapvoting: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:
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.
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.
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/etstats/update_bayes.pdf
If you cannot find the document at the above location, please visit http://etpub.org
The following server console commands (for use in the server console or through rcon) commands have been added in etpub:
Omni-bot command. See the omni-bot 0.52 documentation for full details.
Display a message to all users in the chat area
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
Clears the XP of all users
Display a message to all users in the top of the screen (Requires etpub client >= 20051230)
Display a message to all users in the center of the screen
Display a message to all users in the popup message area of the screen
Forces a client cvar to have a certain value for all clients
List KillRating info by team, sorted.
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
Plays the specified sound file. The slot number/player name parameter is optional. If the slot number or playername is specified, only that player hears the sound, otherwise all players hear the sound. g_tyranny must be enabled in order to play a sound to a specific player.
Plays the specified sound file, but the sound can be heard by everyone near the specified player. In contrast to playsound, both parameters are required for playsound_env. If playsound_env is used with one parameter (only the the filename is specified), then it is treated exactly as playsound [filename]. The further away nearby players are, the less they hear the sound. g_tyranny must be enabled in order to use this command.
List PlayerRating info by team, sorted.
Completely reset the PlayerRating system
Reset only the player ratings part of the PlayerRating system
As of 0.7.1 this command has been replaced by the winprob command.
Reloads the g_settings file. This is done by the server automatically, but if you decide to change the banners or sprees/multikills ingame, you can load the new settings with this command.
(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.
Prints information about the win probability model
Commits the in-memory XPSave info to disk. Normally, etpub does this automatically every time a map ends or the server is shut down.
Clears all the spreerecords stored in XPSave file (doesn't work during warmup or intermission)
Shows information about the scripts currently loaded by the Lua API engine.
Promotes the player to be a shoutcaster. Shoutcasters can see floating player names, dynamite counter, truck and tank health and all mines.
Removes players shoutcaster status.
Shows information about the running etpub server version.
Additionally, all of the shrubbot commands can be used on the server console as well, the leading "!" is optional.
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|TIME_WITH_MODIFIER) 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, or, if a modifier (m, h, d, or w) is used, a
given amount of time. For example: 90 = 90 seconds 15m = 15 minutes 3h = 3 hours 5d = 5 days 1w = 1 week | |||||||||
!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:
| |||||||||
!mute | m | - | !mute (NAME|SLOT) [SECONDS|TIME_WITH_MODIFIER] REASON | mutes the player in slot number SLOT or with name containing NAME. TIME and REASON are optional. See !ban 6 lines above for more information on modifiers | |||||||||
!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
| |||||||||
!help | h | - | !help | lists all available shrubbot commands. | |||||||||
!admintest | a | - | !admintest [NAME|SLOT] | prints out player's current shrubbot admin level in global chat. When the NAME or SLOT are added and the user has the right shrubbot permission, the level of another player will be shown | |||||||||
!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 (as of etpub 0.7.1, these players are labeled "ZOMBIE") to the spectators team. | |||||||||
!shuffle | S | - | !shuffle | Shuffles teams (based on XP), but does NOT restart (see !restart) | |||||||||
!balance | S | - | !balance |
Runs one iteration of ATB balance (regardless of whether or not you have ATB turned on or off).
Useful for doing a one-time team balance that is smarter than !shuffle. In order for !balance to move players, These conditions apply: 1) There must be atl least g_playerRating_minPlayers players playing, 2) If moving one player will not make things fair, no players will be moved at all, and 3) if it is near the end of the match, !balance might not move anyone because it is unlikely that it will help. If !balance does not help, run the !shuffle command. NOTE: Players balanced with the !balance command cannot switch teams until either the map changes or the odds of the team winning swing the other way. This is to make auto-balanced teams stay fair since some players switch teams immediately after being !balanced/!shuffled. | |||||||||
!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|-1|all) |
kills and gibs the player in slot number SLOT or with name containing
NAME if name is -1 or all or if no name is entered, everybody will be gibbed | |||||||||
!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, maximum is 16). | |||||||||
!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. | |||||||||
!howfair | I | - | !howfair |
Prints a simple summary to everyone on the chat of team fairness based on
player rating. The !howfair command measures team evenness based on the values of
g_teamForceBalance_playerRating and g_ATB_diff (if either of these settings is zero
then default values are used, so !howfair is useful even if you do not use any
etpub autobalance features) | |||||||||
!uptime | u | - | !uptime |
Show how long the server has been up and running | |||||||||
!userinfo | e | - | !userinfo (NAME|SLOT) |
Display the slot, partial guid, ip and clientversion of a player. NOTE: this command should only be available to the highest server admins! | |||||||||
!stats | t | - | !stats | Displays the thompson and mp40 accuracy, headshotratio and headshot distance of all players | |||||||||
!dewarn | R | - | !dewarn (NAME|SLOT) [WARNING#] | Shows all the warnings of a user. When warning# is added, the warning with that number will be removed | |||||||||
!spreerecord | E | - | !spreerecord | Displays the map and overall spreerecord | |||||||||
!spree | E | - | !spree | Show the players current killing spree count | |||||||||
!tspree | E | - | !tspree [amount] | Show the top n current killing spree (default top 5) | |||||||||
!panzerwar | q | - | !panzerwar [on|off] | Enables panzerwar | |||||||||
!sniperwar | q | - | !sniperwar [on|off] | Enables sniperwar | |||||||||
!riflewar | q | - | !riflewar [on|off] | Enables riflewar | |||||||||
!giba | Q | YES | !giba | kills and gibs all players | |||||||||
!freeze | F | YES | !freeze [NAME|SLOT] [REASON] | Freezes the client in slot number SLOT or with name containing NAME. If no parameter is provided it freezes all players. Frozen player(s) cannot receive damage during this time. If REASON is specified it is printed to the client. | |||||||||
!unfreeze | F | YES | !unfreeze [NAME|SLOT] | Unfreezes the client in slot number SLOT or with name containing NAME. If no parameter is provided it unfreezes all players. |
[level] level = 5 name = flags = *xU greeting = greeting_sound =would give level 5 admins all commands except !lol and !burn.
[admin] name = tjw guid = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX level = 5 flags = -bs greeting = greeting_sound =would give tjw all of the commands a level 5 admin has except !ban and !setlevel.
[admin] name = tjw guid = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX level = 5 flags = -bs+U greeting = greeting_sound =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.
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.
Starting with etpub 0.7.1, the new element [command] has been added to the shrubbot file format. This allows server admins to create their own shrubbot commands for executing server commands. Here are some examples:
[command] command = hello exec = cp "hello world" desc = Center Print the text "hello world" to all connected clients levels = 0 1 2 3 4 5 [command] command = panzeroff exec = set team_maxPanzers 0 desc = Turn off panzers levels = 5 [command] command = havefun exec = exec fun.cfg desc = Load up some crazy settings/commands levels = 5 [command] command = unlimitedpanzers exec = cp "^1Unlimited panzers!"; set team_maxPanzers -1 desc = Everyone can have a panzerfaust! levels = 5
This would create 4 new commands, !hello, !panzeroff, !havefun, and !unlimitedpanzers. !hello can be run by any user with an admin level 0 through 5. !panzeroff, !havefun, and !unlimitedpanzers would be executable by only level 5 users. You must name each level in the space seperated level string (a higher level does not grant authority). As shown in !unlimitedpanzers, you can separate commands with a semicolon (;).
Starting with etpub 0.8.1 [command] elements can use shortcut characters as described in g_shortcuts. Shortcuts will work with [command] elements regardless of the g_shortcuts settings. With etpub 0.9.1 you can use a new shortcut [i] to replace it with the player ID of the calling player.
Here are some samples:
[command] command = spec exec = !putteam [n] s desc = Become a spectator levels = 0 1 2 3 4 5 [command] command = pizza exec = cp "[n] ^7orders a big pizza for everyone except [d]^7!" desc = Some message levels = 3 4 5 [command] command = ms exec = makeshoutcaster [i] desc = Makes you a shoutcaster levels = 5
Also starting with etpub 0.8.1 [command] elements can use up to 9 parameter placeholders (from [1] to [9]) in the commands. For example, given the following definition:
[command] command = mynameis exec = cp "[n]'s ^7real-life name is [1]^7!" desc = Print real name levels = 0 1 2 3 4 5
When a user types the command like this:
!mynameis bartholomew
Will print out something like:
[JJJJ]zuxx0r's real-life name is bartholomew
Parameters that the user does not type in are left blank in your command. You can use the parameters in any order (so the user types the parameters in a different order than they are used).
These commands will show up like any other shrubbot command in the output of !help and the !help command will also provide detailed info for the command using the 'desc' paramter (e.g. '!help hello')
Starting with etpub 0.8.1 you can also add a greeting to [admin] and [level] blocks. This greeting will be displayed when a shrubbot admin connects to the server. Adding a greeting to a [level] block will show that greeting for every admin with that level, while adding a greeting to an [admin] block will only show the greeting when that particular admin connects. When both [level] and [admin] blocks contain a greeting, the [admin] greeting is used. When you type [n] in a greeting, it will be replaced by the name of the connecting admin. Example:
[level] level = 5 name = Admin flags = * greeting = Level 5 admin [n] is on the floor greeting_sound =
If TJW is the connecting admin, all players will see: "Level 5 admin TJW is on the floor".
These are the limits on the shrubbot file:
Maximum number of levels: | 31 |
Maximum length of shrubbot level name: | 35 (includes color codes) |
Maximum number of users with a set level: | 32767 |
Maximum number of player bans: | 1023 |
Maximum length of ban reason: | 1023 |
Maximum number of admin-defined commands: | 63 |
Maximum admin-defined command name length: | 63 characters |
Maximum admin-defined command length (executable part): | 1023 characters |
Maximum admin-defined command length (help string): | 1023 characters |
Maximum number of warnings: | 1023 |
The settings file is a file that contains all the information about banners and about killingspree and multikill messages and sounds. See g_settings to see how you can enable this file.
The settings file consists of four types of blocks (similar to shrubbot): [spree], [end], [kill] and [banner]. The [spree] blocks determine what should happen when someone has a killingspree. The [end] blocks determine what should happen when someone ends a killingspree and the [kill] blocks do the same for multikills. A [banner] block adds a banner to the server banner queue.
A [spree] block has the following fields:
[spree] number = 5 message = [n] ^8is on a killing spree! (^35^8 kills) position = chat display = all sound = sound/misc/killingspree.wav play = allThe "number" determines the amount of kills needed for "message" to be shown and "sound" to be played. After "position" you can add the location where the "messages" should be displayed. This can be chat, cpm (popup), cp (center), bp (banner) or print (console). "Display" can have the values "all" or "player". "All" means the "message" is broadcasted to all players on the server, and "player" means just to the player who is on the killingspree. "Play" can have the same values as "display" and the extra value "envi". This value means the "sound" will only be heared by players in the environment of the player who is on the killingspree.
"Number" has to have a value. When two blocks have the same number, they both get executed at the same time. All other fields are optional ("position", "display" and "play" use default values then). [n] in the "message" will be replaced by the name of the player.
When you set "number" to a negitive integer, you'll create a deathspree.
A [end] block has the following fields:
[end] number = 5 message = [n]^8's killing spree (^3[k] kills^8) was cut short by ^7[a]^8. position = chat display = all sound = sound/misc/end.wav play = all tkmessage = [n]^8's killing spree (^3[k] kills^8) was cut short by ^1TEAMMATE ^7[a]^8. tkposition = chat tkdisplay = all tksound = sound/misc/end.wav tkplay = all skmessage = [n]^8's killing spree (^3[k] kills^8) was cut short by ^1himself! skposition = chat skdisplay = all sksound = sound/misc/end.wav skplay = all wkmessage = [n]^8's killing spree (^3[k] kills^8) was cut short. wkposition = chat wkdisplay = all wksound = sound/misc/end.wav wkplay = allThe "number" determines the minimum amount of kills needed for "message" to be shown and "sound" to be played. After "position" you can add the location where the "messages" should be displayed. This can be chat, cpm (popup), cp (center), bp (banner) or print (console). "Display" can have the values "all" or "player". "All" means the "message" is broadcasted to all players on the server, and "player" means just to the player of which the killingspree is ended. "Play" can have the same values as "display" and the extra value "envi". This value means the "sound" will only be heared by players in the environment of the player of which the spree is ended.
When a spree is ended, the server uses the [end] block which has the highest "number" which is less or equal to the amount of kills the player has. If the player is killed by an enemy, the normal fields are used. If the player is killed by a friend the tk fields are used. A selfkill means sk fields and a worldkill means wk fields.
"Number" has to have a value. When two blocks have the same number, they both get executed at the same time. All other fields are optional ("position", "display" and "play" use default values then). [n] in the "message" will be replaced by the name of the player of which the spree gets ended. [k] will be replaced by the number of kills and [a] will be replaced by the name of the person who killed the player.
When you set "number" to a negitive integer, you'll create the end of a deathspree. It has no use
setting the tk, sk and wk fieds then, because a deathspree will never be ended that way.
Note:
[v] will be replaced by the victim who was killed by the player when a deathspree has ended.
A [kill] block has the following fields:
[kill] number = 2 message = ^5Double Kill! position = chat display = player sound = sound/misc/doublekill.wav play = playerThe "number" determines the amount of kills needed for "message" to be shown and "sound" to be played. After "position" you can add the location where the "messages" should be displayed. This can be chat, cpm (popup), cp (center), bp (banner) or print (console). "Display" can have the values "all" or "player". "All" means the "message" is broadcasted to all players on the server, and "player" means just to the player who makes the multikill. "Play" can have the same values as "display" and the extra value "envi". This value means the "sound" will only be heared by players in the environment of the player who makes the multikill.
"Number" has to have a value. When two blocks have the same number, they both get executed at the same time. All other fields are optional ("position", "display" and "play" use default values then). [n] in the "message" will be replaced by the name of the player.
The time between two kills can be changed by changing g_multikillTime.
A [banner] block has the following fields:
[banner] message = ^1Check out our banner! wait = 30 position = bpThe "message" is the actual message that is displayed to all the players on the server. The "wait" field determines when the next banner will be displayed. Setting this to 30 means the next banner will show up 30 seconds after this banner. Setting the wait to 0 means the next banner will be displayed at the same moment as this one. This in combination with the "position" field that determines the position of the banner, allows the same text to be displayed at one time at multiple positions. "position" can have the values chat, cpm (popup), cp (center), bp (banner) or print (console).
These are the limits on the settings file:
Maximum number of sprees: | 31 |
Maximum number of ends: | 31 |
Maximum number of kills: | 15 |
Maximum number of banners: | 31 |
Maximum length of a banner: | 255 characters |