silEnT Online Manual

silEnT Server Manual

Updated for silEnT 0.2.0

cvars
Statistics / Rankings Terms
Server Console Commands
Shrubbot
Settings File / Banners
Shortcuts
Forcing Client Settings
Change Log


Table of all server cvars


Announcements and Messages
g_privateMessages g_spreeOptions g_multikillTime g_obituary
g_dropMsg
User Database, XP Save, Shrubbot and Bans
g_dbDirectory g_dbUserMaxAge g_XPSave g_XPSaveMaxAge_xp
g_XPSaveMaxAge g_maxXP g_maxXPResetWarn g_damageXP
g_damageXPLevel g_XPDecay g_XPDecayRate g_XPDecayFloor
g_minCommandWaitTime g_tyranny g_warningOptions g_maxWarnings
g_warningDecay g_autoTempBan g_autoTempBanTime g_minConnectLevel
g_greetingPos
Flood Protection
g_floodprotect g_floodthreshold g_floodWait g_voiceChatsAllowed
Player Statistics, Rating and Team Balance
g_playerRating_mapPad g_playerRating_minplayers g_teamForceBalance_playerrating g_stats
g_ATB g_ATB_diff g_ATB_swap g_ATB_offtime
g_ATB_rating g_shuffle_rating g_killRating g_playerRating
g_unevenTeamDiff g_unevenTeamFreq
Team and Match Restrictions
team_maxPanzers team_maxMortars team_maxFlamers team_maxMG42s
team_maxGrenLaunchers team_maxMedics team_maxEngineers team_maxFieldOps
team_maxCovertOps g_teamDamageRestriction g_minHits g_minAirstrikeTime
g_minArtyTime g_maxTeamLandmines g_maxTeamTripmines g_minGameClients
g_maxGameClients
Custom Configs
g_mapConfigs g_mapScriptDirectory g_campaignFile g_settings
Censoring
g_censor g_censorNames g_censorPenalty g_censorNeil
g_censorNeilNames g_censorMuteTime g_censorXP
Voting
g_voting vote_limit vote_percent vote_allow_comp
vote_allow_gametype vote_allow_kick vote_allow_map vote_allow_matchreset
vote_allow_mutespecs vote_allow_nextmap vote_allow_pub vote_allow_referee
vote_allow_shuffleteamsxp vote_allow_swapteams vote_allow_friendlyfire vote_allow_timelimit
vote_allow_warmupdamage vote_allow_antilag vote_allow_balancedteams vote_allow_muting
vote_allow_surrender vote_allow_restartcampaign vote_allow_nextcampaign vote_allow_poll
vote_allow_maprestart vote_allow_shufflenorestart vote_allow_cointoss vote_allow_putspec
vote_block_maprestart vote_block_matchreset vote_block_shuffleteamsxp vote_block_shufflenorestart
vote_block_nextmap vote_block_swapteams vote_block_surrender vote_block_map
vote_block_timelimit vote_block_poll vote_block_nextcampaign vote_block_restartcampaign
g_mapVoteFlags g_maxMapsVotedFor g_minMapAge g_resetXPMapCount
g_excludedMaps g_noVoteTime g_voteResultsMinLevel
Weapons, Classes and Skills
g_poison g_poisonFlags g_medics g_medicHealthRegen
g_throwableKnives g_maxKnives g_knifeChargeTime g_constructibleXPSharing
g_asblock g_panzersSpeed g_panzersGravity g_dyno
g_canisterKick g_canisterKickOwner g_reflectFriendlyFire g_reflectFFWeapons
g_friendlyFireOpts g_staminaRecharge g_mineid g_medicSelfhealTime
g_maxPanzerSuicides g_panzerPackDistance g_weapons g_mg42
g_coverts g_enableTMines skill_soldier skill_medic
skill_engineer skill_fieldops skill_covertops skill_battlesense
skill_lightweapons
Weapon Damage and Radius Settings
g_dmgKnife g_dmgSten g_dmgFG42 g_dmgPisto
g_dmgSMG g_dmgMG42 g_dmgMG g_dmgFG42Scope
g_dmgInfRifle g_dmgSniper g_dmgFlamer g_dmgGrenade
g_dmgGrenadeRadius g_dmgGLauncher g_dmgGLauncherRadius g_dmgTMine
g_dmgLandmine g_dmgLandmineRadius g_dmgSatchel g_dmgSatchelRadius
g_dmgPanzer g_dmgPanzerRadius g_dmgMortar g_dmgMortarRadius
g_dmgDynamite g_dmgDynamiteRadius g_dmgAir g_dmgAirRadius
g_dmgArty g_dmgArtyRadius g_dmg g_dmgHeadShotMin
g_dmgHeadShotRatio g_knifeThrowDamage g_dmgPPSh
Miscallenous
g_packDistance g_dropHealth g_dropAmmo g_tossDistance
g_intermissionTime g_intermissionReadyPercent g_skills g_misc
g_skipCorrection g_maxWarp g_moverScale g_slashKill
g_maxSelfkills g_ammoCabinetTime g_healthCabinetTime g_spectator
g_truePing g_dropObj g_doubleJumpHeight g_serverInfo
g_fear g_realHead g_inactivity g_spectatorInactivity
g_gametype g_tactics g_spoofOptions g_antilagDelay
g_fixedphysics g_fixedphysicsfps g_maxNameChanges g_disableComplaints
g_watermark g_watermarkFadeAfter g_watermarkFadeTime g_antiwarp
g_panzerwar g_sniperwar g_riflewar g_countryFlags
g_noSkillUpgrades g_flushItems g_maxConnsPerIP shoutcastPassword
g_headshot g_instagibDamage g_inactivityOptions g_ettvFlags
g_mode g_hitsounds g_playDead g_shove
g_shoveNoZ g_dragCorpse g_classChange g_forceLimboHealth
g_goomba g_goombaFlags g_spawnInvul g_spawnInvulFair
g_spinCorpse g_teamChangeKills
Logs
g_logOptions g_logAdmin
Omni-Bots
omnibot_enable omnibot_path g_bot_maxXP g_bot_minPlayers
omnibot_flags
Lua
lua_modules lua_allowedModules


cvars

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. (Flag unused at the moment.)
16
disable hitsounds from poison damage.
32
disable hitsounds from explosive weapons.

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.

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.

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!

Clients can reject private message from other individual clients with the /ignore client command.

Default is 0

g_dbDirectory

If set the server stores various information about server statistics, map information, sprees, users, bans and XP save. To use any of the functionalities, this must be set. The cvar defines a directory and only a directory that is relative to fs_game. All the used filenames are predefined and cannot be changed. For security reasons, this cvar must be set during server initialisation. (i.e. It may not be changed when the server is running.) In this directory there can be 4 files, depending of other server settings.

  • userdb.db is a binary format file that contain all the information about shrubbot users and also all saved XP if the server is set to save XP
  • serverstat.cfg is a human readable file that contain server statistics and map sprees if the server is set to store them
  • shrubbot.cfg is a human readable file that contain level configurations, custom commands and bans
  • mapvoteinfo.cfg This file contains information relating g_gametype 6, which is map voting.

All the required files will be created automatically to the folder when needed if there aren't any suitable files already present.

You can freely edit the human readable files by hand as long as their correct format remains and the server is notified of the changes using appropriate shrubbot commands. With the exceptions of serverstat.cfg and mapvoteinfo.cfg that will be overwritten by the server. If you want to hand edit the values of these files, the server must not be running at the same time.

Note that if you want to store all the files in the same root directory where all the pk3 files and binaries are, you can set this cvar to value ".". It will then use the fs_game directory.

Default is "database"

g_dbUserMaxAge [integer]

The number of seconds that has passed since any data of this user was last saved to database.
If this value is set, all older users then this value will be automatically removed from the database. The database cleaning is done during intermission so this should not cause any performance problems when actions are taken. However, by setting this value to 0 or not setting the value at all, will disable the feature.
For servers with high database sizes, this can improve performance since users that are not needed will be removed automatically.

You can use a modifiers with this value. Here are some examples:

set g_dbUserMaxAge "1o" - 1 month
set g_dbUserMaxAge "2w" - 2 weeks
set g_dbUserMaxAge "5d" - 5 days
set g_dbUserMaxAge "36h" - 36 hours
set g_dbUserMaxAge "120m" - 120 minutes

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

Default: -

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.

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.
16
store the xp at restarts, nextmaps, mapvotes, campaignvotes and similar cases.

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_XPSaveMaxAge_xp [integer]

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

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

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.

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

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.

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

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_maxXPResetWarn [integer]

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

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:

1
Level 0 field ops doesn't get binoculars (unless he has >= level 1 Battle Sense)
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
128
soldiers with level 4 heavy weapons don't lose their pistols
256
garands can reload when 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.
2048
Knives will always gib a body (not a player, use g_dmgKnife instead if you want that)
4096
Extra ammo is included with dropped weapons.

Default is 0

g_mg42 [bitmask]

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

1
mg's can make headshots
2
mg's can reload when clip is not empty

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.
32
Falling corpses won't cause 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_spawnInvulFair [0|1]

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

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: 70
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 70 meaning 70%. If the Axis team has more than a 70% 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: 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

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_offtime [integer]

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

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)

NOTE: When g_ATB is set to 2, g_ATB_rating is forced to have a value of 4

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)
5
Use the playerRating (g_playerRating must be nonzero), but take the map into account and give the teams closest to 50/50

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

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

g_maxTeamTripmines [integer]

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

Default is 3

team_maxPanzers [integer]
team_maxMortars [integer]
team_maxFlamers [integer]
team_maxMG42s [integer]
team_maxGrenLaunchers [integer]

Limits the number of the given weapon per 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

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

g_mapConfigs [string]

On each map load, the silEnT server will execute 2 configs if possible. The default.cfg and after that a map specifig config file [mapname].cfg. 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 ""

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
Flag unused
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). 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 [bitmask]

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.
16
Lose the amount of xp specified in g_censorXP
32
Burn

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

Default is 0

g_censorNeil [1|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

g_censorNeilNames [1|0]

Use Neil Toronto's censor filter for player names. See g_censorNeil description for details.

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_censorXP [integer]

The amount of XP to lose as a censor penalty. Only works if bitflag 16 is added to g_censorPenalty.

Default is 5

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_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.
4
When a player is killed he'll see the HP the killer has left (as a centerprint)
8
Disable self damage
16
Players can not jump if stamina is too low.
32
Unused.
64
Disable Falling Damage.
128
Announce revives.

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 [bitmask]

When set, anyone kicked for the reasons you specify, will be temporarily banned for g_autoTempBanTime seconds

1
Tempban when reaching g_teamDamageRestriction
2
Tempban when someone is kicked by a shrubbot admin (using the !kick command). A normal shrubbot !kick kicks for 120 seconds
4
Tempban when someone is kicked by the advanced warning system. A normal kick by the warning system lasts 120 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.
8
Show the number of YES and NO votes after a votes has passed or failed. This also shows if a vote is canceled or passed by an admin.

Default is 0

vote_limit [integer]

This is value defines how many votes one player can invoke during one map.

Default is 5

vote_percent [integer]

The required percentage of yes votes for the vote to pass.

Default is 50

vote_allow_comp [1|0]
vote_allow_gametype [1|0]
vote_allow_kick [1|0]
vote_allow_map [1|0]
vote_allow_matchreset [1|0]
vote_allow_mutespecs [1|0]
vote_allow_nextmap [1|0]
vote_allow_pub [1|0]
vote_allow_referee [1|0]
vote_allow_shuffleteamsxp [1|0]
vote_allow_swapteams [1|0]
vote_allow_friendlyfire [1|0]
vote_allow_timelimit [1|0]
vote_allow_warmupdamage [1|0]
vote_allow_antilag [1|0]
vote_allow_balancedteams [1|0]
vote_allow_muting [1|0]
vote_allow_surrender [1|0]
vote_allow_restartcampaign [1|0]
vote_allow_nextcampaign [1|0]
vote_allow_poll [1|0]
vote_allow_maprestart [1|0]
vote_allow_shufflenorestart [1|0]
vote_allow_cointoss [1|0]
vote_allow_putspec [1|0]

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

Default is 1 (allowed)

vote_block_maprestart [integer]
vote_block_matchreset [integer]
vote_block_shuffleteamsxp [integer]
vote_block_shufflenorestart [integer]
vote_block_nextmap [integer]
vote_block_swapteams [integer]
vote_block_surrender [integer]
vote_block_map [integer]
vote_block_timelimit [integer]
vote_block_poll [integer]
vote_block_nextcampaign [integer]
vote_block_restartcampaign [integer]

Cvars that define the time in seconds, how long each respective vote is allowed from the start of map. Each integer value is independent. When set to 0, the votes are not blocked at all.

Default is 300 (5 minutes)

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
Disable /kill when player is frozen
16
Disable /kill when player is poisoned

See also g_fear and g_maxSelfkills

Default is 0

g_maxSelfkills [integer]

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

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
4
A level 4 medic will always be revived to full health (no matter what the level of the reviving medic is)
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.
128
Level 4 medics can inject other players with their adrenaline. This can be done when holding the revive needle by pressing the alt-fire button, or with the /adrenother client command.
256
Level 4 medics cannot adrenaline self. If this flag is on, Medics will not receive adrenaline upon reaching level 4. (This won't affect flag 128)

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)
7
0/1
8
0/2

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.
4
After detonating a satchel charge, the primary weapon will be selected instead of satchel again.
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.
256
Coverts are awarded xp for constructive use of smoke.
512
Coverts will lose their uniform if an enemy sees him using ANY weapon (otherwise knife/satchel/smoke/binoc will never lose uni).
1024
A disguised covert can still steal enemy uniforms

Default is 0

g_enableTMines [0|1]

Enable tripmines. See also ...

Default is 1

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.

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

g_serverInfo [bitmask]

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.
32
Send KR (KillRating) instead of XP in SERVERINFO string. This is overriden by flag 64.
64
Send PR (PlayerRating) instead of XP/KR in SERVERINFO string. Overrides flag 32.

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 [bitmask]

When not set to 0 silEnT 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.
4
Log files will include the GUIDs of the players involved in kills. This makes kill tracking a lot easier.

See also g_ATB_rating.

See also g_shuffle_rating.

Default is 3.

g_playerRating [bitmask]

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.
4
Put player rating on the scoreboard instead of the XP.
8
Print out extra info at the end of a round that can be used to further refine the playerrating model.
16
The same as flag 8 except a lot more info is output

See also g_ATB_rating.

See also g_shuffle_rating.

See also g_teamForceBalance_playerrating.

Default is 3.

g_playerRating_mapPad [integer]

On an silEnT 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

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, silEnT 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 'silent' directory and add:

set g_mapScriptDirectory "etpromapscripts"
to your cfg.

NOTE: It is strongly recommended that you use the map scripts distributed with silEnT or 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 ""

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

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.

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)

g_obituary [0|1]

This cvar controls will the server send obituary events to the clients. If this is set to 0, no obituary events will be sent. If set to any nonzero value, obituary events will be sent.

Default is 1

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 [0|1]

Enable knife throwing. The amount of throwable knives is g_maxKnives - 1. Any non zero value will enable knife throwing.

Default is 0

g_maxKnives [integer]

Maximum number of knives a player can posses. Take note that if g_throvableKnives is enabled, the last knife cannot be thrown.

Default it 5

g_knifeThrowDamage [integer]

The amount of damage a thrown knife will cause to enemy.

Default is 50

g_dmgPPSh [integer]

The amount of damage done by PPSh.

Default is 19

g_knifeChargeTime [integer]

How long it takes in milliseconds for the throw knife to charge to the maximum throw speed/force.

Default is 800

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 gained 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.
16
Disables teammates blocking airstrikes.
32
Give 2 Battle Sense XP to player that blocks the air strike. No XP given for blocking teammates or your own air strike.

Default is 0

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. silEnT is based on the ETPub source and this code has not been altered from the ETPub.

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 (only if within blast radius). 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.
4
Adds a dynamite symbol with the location and the time remaining to all the players on the team of the player who plants the dynamite. This will only happen when dynamite is placed on an objective. The players in the other team will see the dynamite symbol too, but they won't see the time remaining.
8
Dynamite cannot be disarmed by your team (inlcuding yourself), so only the other team can difuse it
16
Enable dynamite ID. You can see the owner of a dynamite when you point at it.

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_canisterKickOwner [0|1]

Kicked Canister Ownership

0
Kicker does no take ownership of canister.
1
Kicker takes ownership of canister.

Default is 0

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_dmgTMine [integer]

Amount of damage done by the tripmine.

Default is 260

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
8
Players do not trigger trip mines 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

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

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.

Default is 1.0

g_mineid [0|1]

Turns on identification of your teammates landmines.

Default is 0

g_dropMsg [string]

Message to add to the drop screen when a client is kicked or banned.

Default is ""

g_inactivity [integer]

g_inactivity is the number of seconds of player inactivity before the player is made a spectator.

A value of 0 means no time limit

Default is 0

g_spectatorInactivity [integer]

g_spectatorInactivity kicks only when the server is full.

A value of 0 means no time limit

Default is 0

g_gametype [integer]

Please see Map Voting

g_tactics [0|1]

Enable/disable tactics mode (more on this later). A value of 0 will disable g_tactics mode.

Default is 0

g_floodprotect [0|1]

Enable/disable silEnT 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

g_floodthreshold [integer]

The number of messages per second before ignoring the client's messages. Only in effect when g_floodprotect is turned on.

Default is 6

g_floodWait [integer]

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

g_voiceChatsAllowed [integer]

The number of voicechats allowed in minute?? (Undocumented ETPub cvar).

Default is 4

g_minGameClients [integer]

The number of clients needed to start a match.

Default is 0

g_maxGameClients [integer]

The maximum allowed amount of active clients.

Default is 0

g_mapVoteFlags [bitmask]

Ways to change how map voting works
Only valid when g_gametype is 6 (see Map Voting)

Available options are:

1
Changes the tie breaker so that the map not played in the longest wins
2
Intermission doesn't end until g_intermissionReadyPercent people have voted. If there are no players connected to the server, intermission will end at the timeout. (WARNING: This means that if there are spectators connected and not voting, the next map will not load until those spectators either vote, disconnect, or get kicked by the system)
4
Multi vote: Allows everybody to vote for 3 maps instead of one, first choice map gets 3 votes, second choice gets 2, third choice gets one
8
Don't randomize the maps, so they will always appear in the same order
16
A passed nextmap vote (when g_gametype is 6) will start the intermission and lets players vote which map should be played next. NOTE: this makes one of the two teams be displayed as winner

Default is 0

g_maxMapsVotedFor [integer]

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

g_minMapAge [integer]

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

g_resetXPMapCount [integer]

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

g_excludedMaps [string]

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

g_minConnectLevel [integer]

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 able to connect either.

Default is 0

omnibot_enable [0|1]

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

omnibot_path [string]

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

g_bot_maxXP [integer]

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

g_bot_minPlayers [integer]

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:

  • Bots will only be added/removed during normal gameplay, never during the intermission
  • You must have bots enabled and working on your server for this setting to work
  • Do not set g_bot_minPlayers to the maximum number of players your server can have. If you do so, no one will be able to connect to your server since it will always be full.
  • g_bot_minPlayers works by modifying the minbots and maxbots omni-bot values. If you activate g_bot_minPlayers, your current minbots/maxbots values will be overwritten.

Set this to -1 to disable this feature

Default is -1

omnibot_flags [bitmask]

This CVAR replaces the old g_bot_flags CVAR

Customizes bot management/behavior

Available options are:

1
Disables XPSave for bots
2
Bots cannot mount tanks
4
Bots cannot mount emplaced guns
8
Don't track bot count in omnibot_playing cvar
16
Bots will target ungibbed enemies
32
Bots will trigger team and spotted mines
64
Bots can use g_shove
65536
Bots are granted shrubbot command immunity (the same as shrubbot flag !)
131072
Bots cannot be !kicked or !banned
262144
Disable shrubbot greeting for bots

Default is 0

g_unevenTeamDiff [integer]

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

g_unevenTeamFreq [integer]

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

g_greetingPos [integer]

Location where the shrubbot greetings are displayed.

0
Chat area
1
Center of screen
2
Left notification area
3
Top of the screen
4
Console only

Default is 0

g_noVoteTime [integer]

The minimum time (in seconds) that players must wait between two votes.

Default is 0

g_spreeOptions [bitmask]

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.

1
Enable killingsprees ([spree] blocks)
2
Enable killingspree ends ([end] blocks)
4
Enable multikills ([kill] blocks)
8
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
At the beginning of the intermission the highest spree and the 3 highest sprees which are still active will be shown
32
/kill will end a spree
64
Teamswitching will end a spree
128
Multikill messages will be delayed g_multikillTime milliseconds, to prevent the doublekill -> multikill -> megakill -> etc. flooding
256
Killing bots doesn't count for multikills or killingsprees (Note: they DO count for ending kill/deathsprees)
512
Display the map and overall spree record when entering intmission
1024
Summary: don't enable this flag if you don't have enabled g_spreeOptions flag 512 OR g_XPSave flag 16 or Shrubbot flag t
Spree records are automatically saved into XPSave file when a map ends. By enabling this flag, you also store the spreerecord at the points where g_XPSave flag 16 would store XP. When you don't have set XPSave flag 16 and g_spreeOptions flag 512 and not allow users to use !spreerecord you should NOT set this flag as it takes some extra resources. When XPSave flag 16 is set this doesn't matter (it actually takes much less resources then). When only g_spreeOptions flag 512 or shrubbot flag t is set it won't do much harm anyway (your server won't explode)
2048
Enable revivesprees ([revive] blocks)

Default is 0

g_multikillTime [integer]

The time (in milliseconds) in which two kills should be made in order to count them as multikills.

Default is 1000

g_settings [filename]

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)

g_spoofOptions [bitmask]

Do NOT change this CVAR unless you encounter problems!

1
Kick for GUIDspoofing.
2
Kick for IPspoofing.
4
Display a global warning when someone is GUIDspoofing. (When flag 1 is set, this will not work)
8
Display a global warning when someone is IPspoofing. (When flag 2 is set, this will not work)
16
Don't use the stored GUID. (This option is a higher security risk.)
32
Don't use the stored IP. (This option is a higher security risk.)

Note: settings this CVAR to 48 causes the exact same behaviour as ETPub 0.7.x

Default is 3 (Flag 1 + 2)

g_warningOptions [bitmask]

This cvar changes the behaviour of the shrubbot !warn command. By setting flag 1 or 2 you activate the advanced warning (storage) system

1
Link stored warnings to the guid of a player
2
Link stored warnings to the ip of the player
4
Remove the oldest warning when the total maximum ammount of warnings is reached
8
Auto-kick a player for 2 minutes when he has more than g_maxWarnings warnings
16
Allow clients to see their own warnings with the /warnings command

Default is 0

g_maxWarnings [integer]

The ammount of warnings that can be stored for 1 player

Default is 3

g_warningDecay [integer]

The time in hours that a warning will be stored

Default is 24

g_antilagDelay [integer]

Manually delay the antilag of every player on the server. Might give very weird behaviour, so use at own risk

Default is 0

g_fixedphysics [0|1]

Creates a smoother movement when enabled

Default is 0

g_fixedphysicsfps [integer]

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

g_maxNameChanges [integer]

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

g_disableComplaints [bitmask]

Disable teamkill complaints for some weapons.

1
Landmines
2
Artillery and airstrikes
4
Mortar
8
Dynamite

Default is 0

g_medicSelfhealTime [integer]

The time in milliseconds that a medic cannot heal himself after being hit

Default is 0

g_maxPanzerSuicides [integer]

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

g_panzerPackDistance [integer]

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

g_watermark [string]

Set a watermark that will be displayed to all clients. 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)

g_watermarkFadeAfter [integer]

When g_watermark is set, the watermark will fade out after [integer] number of seconds

Default is 0 (No Fade)

g_watermarkFadeTime [integer]

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

g_voteResultsMinLevel [integer]

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

g_minCommandWaitTime [integer]

Time you have to wait between using 2 shrubbot commands in milliseconds

Default is 0

g_antiwarp [integer]

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

g_panzerwar [0|1]

Enables/Disables Panzerwar. 1 is enabled, 0 is disabled

Default is 0

g_sniperwar [0|1]

Enables/Disables Sniperwar. 1 is enabled, 0 is disabled

Default is 0

g_riflewar [0|1]

Enables/Disables Riflewar. 1 is enabled, 0 is disabled

Default is 0

g_countryFlags [0|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).

You will need the GeoIP.dat file in your server's silent 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

g_noSkillUpgrades [integer]

When set to 1, disables player skill upgrades.

Default is 0

g_flushItems [0|1]

Evens the dropped items out with the surface.

Default is 1

lua_modules [string]

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

lua_allowedModules [string]

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

g_maxConnsPerIP [integer]

Maximum number of connections allowed from one particular IP. This prevents the fake clients Denial of Service attack.

Default is 4

shoutcastPassword [string]

Enables shoutcaster status on the server.

Default is "none"

g_headshot [integer]

This is a bitflag cvar that supports the following values:

1
Headshots only
2
Instagib damage (controlled by g_instagibDamage)

Default is 0

g_instagibDamage [integer]

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

g_inactivityOptions [integer]

This is a bitflag cvar that supports the following values:

1
Don't drop shoutcasters
2
Don't drop spectators when in following mode
4
ETmain inactivity behavior (don't wait for a full server)
8
Shrubbot flag '0' admins will be moved to spectators due to team inactivity

Default is 3

g_ettvFlags [integer]

This is a bitflag cvar that supports the following values:

1
Prevent ettv slaves from being callvote kicked
2
Grant shoutcaster status to ettv slaves

Default is 3

g_mode [integer]

This is a bitflag cvar that supports the following values:

1
Players will spawn instantly
2
Each class receives adrenaline
4
No damage on players
8
Players can pick up any weapon on the ground (Removing this bitflag will force all players to respawn!)

Default is 0


Map Voting

This gametype allows for the players to decide on the map that is played next. When g_gametype is set to 6 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:
  • Total maps allowed is 32. If server admin has more than 32 .bsp files, only the first 32 are used
  • Tie breaker. The default tie-breaker is such that if 2 or more maps are tied with the same number of votes, the map that was played most recently is selected.
  • Bots and connecting players do NOT count for mapvoting, everyone else (including spectators) does.
  • If no maps are voted for, the default "nextmap" cvar is used, so server admins have to specify a default map cycle of sort, usually in the following format.
    set d1 "set g_gametype 6 ; map oasis ; set nextmap vstr d2"
    set d2 "set g_gametype 6 ; map battery ; set nextmap vstr d3"
    set d3 "set g_gametype 6 ; map goldrush ; set nextmap vstr d1"
    vstr d1
    This means that the default map, upon server start, will be oasis. From there, map voting will be used. If at any point, no map is voted for, battery will be played, etc

Statistics / Rankings Terms

There are several settings in silEnT 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 silEnT and the data is saved to local files on disk.

This feature is originally from ETPub and no alterations have been made to it by silEnT team.

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


Server Console Commands

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


bot [arguments]

Omni-bot command. See the omni-bot 0.52 documentation for full details.

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

bp [message]

Display a message to all users in the top of the screen (Requires etpub client >= 20051230)

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

krinfo

List KillRating info by team, sorted.

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 [slot#|name] [filename]

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.

playsound_env [slot#|name] [filename]

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.

prinfo

List PlayerRating info by team, sorted.

prreseteverything

Completely reset the PlayerRating system

prresetplayers

Reset only the player ratings part of the PlayerRating system

ratingsinfo

As of 0.7.1 this command has been replaced by the winprob command.

readsettings

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.

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.

winprob

Prints information about the win probability model

writexp

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

clearspreerecords

Clears all the spreerecords stored in XPSave file (doesn't work during warmup or intermission)

lua_status

Shows information about the scripts currently loaded by the Lua API engine.

makeshoutcaster [slot#|name]
makeshoutcast [slot#|name]
makesc [slot#|name]

Promotes the player to be a shoutcaster. Shoutcasters can see floating player names, dynamite counter, truck and tank health and all mines.

removeshoutcaster [slot#|name]
removeshoutcast [slot#|name]
removesc [slot#|name]

Removes players shoutcaster status.

silent_version

Shows information about the running silEnT server version.

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 shrubbot as accurately as possible, both in user interface and in the shrubbot configuration file called "shrubbot.cfg". This is silEnT shrubbot based on the work of ETPub team. silEnT extends the functionality of the shrubbot where ever it is needed. Including user database that holds all the players that have visited the server. To access this database, new commands have been added to the original shrubbot command set. Some commands have been renamed to ease their use and so that they resemble commands from other ET mods that have advanced admin systems.

If you want to use shrubbot, the cvar g_dbDirectory must be set. If it is not set, the shrubbot will not be in use. If you want to edit the default levels, you must create or copy existing shrubbot.cfg file to the folder defined by g_dbDirectory setting. In case shrubbot command like !ban is used against a player and shrubbot.cfg file does not already exist, a new shrubbot.cfg file is created to store the needed data.

The created file will also have the default level settings written to it. This file can be freely edited by hand and then after !readconfig command has been issued, the changes take effect on the server.

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

COMMANDFLAGg_tyrannyUSAGEDESCRIPTION
!readconfigG-!readconfig read g_shrubbot file
!time-!time Prints out localtime of the client in the chat. No other client can see this time message. The command doesn't have a flag but it is available to all clients always.
!setlevels-!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.
!kickk-!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.
!banb-!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
!unbanb-!unban BAN_NUMBER removes the ban that !showbans lists as BAN_NUMBER
!putteamp-!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
!pauseZ-!pause pauses the match
!unpauseZ-!unpause unpauses the match
!listi-!list Prints out a list of information about the connected players. The columns are:
  • slot number
  • team R=axis B=allies S=spectator C=connecting
  • first letter of fireteam name
  • admin level (and level name)
  • last 8 digits of guid
  • M if muted
  • W if warned
  • name
!mutem-!mute (NAME|SLOT) [SECONDS|TIME_WITH_MODIFIER] REASON Mutes a player in a slot number SLOT or with a name containing NAME. TIME and REASON are optional. See !ban 6 lines above for more information on modifiers
!unmutem-!unmute (NAME|SLOT) Unmutes the player in slot number SLOT or with name containing NAME.
!showbansB-!showbans [SKIP] Lists up to 30 shrubbot bans currently in effect. The 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-!help Lists all the available shrubbot commands. The command doesn't have a flag but it is available to all clients always.
!admintesta-!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
!cancelvotec-!cancelvote makes a vote in progress fail
!passvoteV-!passvote makes a vote in progress pass
!spec999P-!spec999 moves all players with ping of 999 to the spectators team.
!shuffleS-!shuffle Shuffles teams (based on XP), but does NOT restart (see !restart)
!balanceS-!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.
!renameNYES!rename (NAME|SLOT) NEWNAME sets the player in slot number SLOT or with name containing NAME to NEWNAME.
!gibgYES!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
!slapAYES!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.
!burnUYES!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.
!warnR-!warn (NAME|SLOT) [WARNING] plays the whistle sound and center-prints WARNING to the player in slot number SLOT or with name containing NAME.
!newsW-!news plays the map specific news audio to all players if it is available.
!lockK-!lock (r|b|s|all) locks the team specified. recognized values are r=AXIS b=ALLIES s=SPECTATORS all=ALL
!unlockK-!unlock (r|b|s|all) unlocks the team specified. recognized values are r=AXIS b=ALLIES s=SPECTATORS all=ALL
!lolxYES!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).
!restartr-!restart restarts the match
!resetr-!reset resets the match
!swapw-!swap swaps the players to the opposite team
!pipzYES!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.
!popzYES!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
lYES!fling (NAME|SLOT) send the player in slot number SLOT or with name containing NAME flying.
!flinga
!launcha
!throwa
LYES!flinga sends all players flying
!listteamsI-!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.
!disorientdYES!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.
!orientdYES!orient (NAME|SLOT) reverses the action of !disorient for the client in slot number SLOT or with name containing NAME.
!resetxpXYES!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.
!nextmapn-!nextmap moves to the next map in campaign or in the objective cycle end game intermission is skipped
!resetmyxpM-!resetmyxp clears all XP and skillpoints for the player who runs this command.
!howfairI-!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 silEnT autobalance features)
!uptimeu-!uptime Show how long the server has been up and running
!fingere-!finger (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!
!statst-!stats Displays the Thompson, MP40 and PPSh total kills and deaths, kills and deaths during the map and accuracy, headshotratio and headshot distance during the map. Lists all connected players.
!dewarnR-!dewarn (NAME|SLOT) [WARNING#] Shows all the warnings of a user. When warning# is added, the warning with that number will be removed
!spreerecordE-!spreerecord Displays the map and overall spreerecord
!spreeE-!spree Show the players current killing spree count
!tspreeE-!tspree [amount] Show the top n current killing spree (default top 5)
!panzerwarq-!panzerwar [on|off] Enables panzerwar
!sniperwarq-!sniperwar [on|off] Enables sniperwar
!riflewarq-!riflewar [on|off] Enables riflewar
!gibaQYES!giba kills and gibs all players
!freezeFYES!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.
!unfreezeFYES!unfreeze [NAME|SLOT] Unfreezes the client in slot number SLOT or with name containing NAME. If no parameter is provided it unfreezes all players.
User Database Commands
!userlist]-!userlist [PAGE] Lists all users in the database. If PAGE is given, the list starts from that page. If PAGE is not given the first page of the database is printed. The command prints all users, including clients that have connected during the level time and are not yet in the database. The connected clients are always printed first and then the rest of the userbase. The printout has the following columns:
  • # - This is the serial number of the user in the printout. The number doesn't correspond to anything in the database.
  • PBGUID - This is the 8 character PB GUID of the user. This is used to identify different users in the database.
  • Last Seen - This tells how long time ago the user was last seen on the server. For connected clients, this will print "connected".
  • IP - This tells the last IP address user has had on the server.
  • Name - This tells the last name with user has been saved on the server.
!useredit]-!useredit [PBGUID] [add|remove|level|greeting|sound] [new value] Command is used to edit explicit userdata in the database. The command supports following parameters:
  • add - This will add new command flag(s) to edited user. The mandatory new value field may consist of several flags that are all appended.
  • remove - This will remove flags from the user. The mandatory new value field can consist of several flags that are all removed. (Do not confuse this with ETPub '-' operator.
  • level - This will set the userlevel to the value specified in the mandatory new value field.
  • greeting - This will set user specific greeting. This greeting that is given in the optional new value field will be printed as a greeting text instead of the level specific greeting text.
  • sound - This will set user specific greeting sound. This sound that is given as a path to the sound file in the optional new value field will be played instead of the level specific greeting sound.

If the optional new value field is not set with greeting or sound parameter, the value will be set to empty and level values will be used again with these players.
!givexp]-!givexp [PBGUID] [sold|med|eng|fops|cov|light|battle] [amount to add] Command gives the online or offline player identified by PBGUID a defined amount of XP points to the selected skill. The possible skills are:
  • sold - Soldier or Heavy Weapons
  • med - Medics or first aid
  • eng - Engineering or the skill of Explosives and Construction
  • fops - Field Ops - or signals
  • cov - Covert Ops or the skill of Military Intelligence and Scoped Weapons
  • light - Light Weapons
  • battle - Battle Sense
!userban]-!userban [PBGUID] Command bans user indentified by the 8 character PB GUID from the server. The data required for ban is taken from the database and the banned user does not need to be online when the command is given. Bot's cannot be banned with this command. Note that the bans are written in the human readable config file and you can still write the bans by hand if desired. Also, removing of the bans can be done by hand if desired.
!userdelete[-!userdelete [PBGUID] Command removes the user identified by the 8 character PB GUID from the database. The actual actions are taken at the level end if needed and they may be time consuming (up to several seconds) if the database is very large. However, once the !userdelete command has been issued to the user, the information of the user is no longer available and after shutdown game, it is permanently lost.

The following flags are also supported:
1
cannot be vote kicked, vote muted, 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
0
is immune to g_inactivity and g_spectatorInactivity settings
!
is immune to all shrubbot commands (useful for server admins). NOTE: this flag must be specified explicitly the * flag does not grant it.
@
"incognito" flag shows the admin as level 0 with no a.k.a info in the output of !listplayers. NOTE: this flag must be specified explicitly the * flag does not grant it.
$
Can do !admintest on other players
~
Can read and write the adminchat with the /ma command. All referees and all other players with the ~ flag will be able to read this chat
&
Can rename himself regardless of g_maxNameChanges limit.
?
Can see all private messages while being in spectators. g_tyranny must be set for this flag to take effect


The * operator is supported in the flags field:
Example
This means all all available flags are granted (except ! and @). Any flags that come after the * are negated. So for example:
[level]
level    = 5
name     =
flags    = *xU
greeting =
greeting_sound =
would give level 5 admins all commands except !lol and !burn.

Shrubbot is divided into to parts. Users are stored in the user database and other configuration infos and bans are stored in a separate human readable config file.
The configuration file itself is layed out in blocks serpated by blank lines. The types of blocks supported are [level], [command] 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.

The new element [command] in the shrubbot file format. This allows server admins to create their own shrubbot commands for executing server commands. however, you can only give privileges to commands through levels. It is not possible to explicitly give some user a privilege to a custom command. 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 (;).

[command] elements can use shortcut characters as described in Shortcuts. 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

[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')

You can also add a greeting to users specifically and/or [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 any user specifically will only show the greeting when that particular admin connects. When both [level] block and user data contain a greeting, the user specific 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: Unlimited
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


Settings file / Banners

The settings file is a file that contains all the information about banners. See g_settings to see how you can enable this file.

The settings file consists of [banner] blocks (similar to shrubbot). A [banner] block adds a banner to the server banner queue.

A [banner] block has the following fields:

[banner]
message    = ^1Check out our banner!
wait       = 30
position   = bp
The "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).

The maximum amount of banners is 31 and the maximum length of individual banner is 255 characters.


Shortcuts

Server supports the replacement of the following keys in say messages

[a]
last player who gave you ammo
[d]
last player who killed you
[g]
the last 8 characters of your GUID
[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


Forcing Client Settings

silEnT server is able to force client cvars to certain values or ranges by using forcecvar and sv_cvar commands. sv_cvarempty will clear all the sv_cvar commands the server has loaded.

To use the possibility, the g_mapConfigs must be set. All forcecvar and sv_cvar commands that are placed in the default.cfg, will be executed on every map start. Those settings can be overloaded by using a map specific cfg name [mapname].cfg. More help is available at silEnT forums.


Change Log


    Version 0.2.0

  • Added: New sound for thrown knife.
  • Added: g_dbUserMaxAge server cvar. If this cvar is set, users that are older then then this value are automatically removed from the user database. Default value is 0 which also disables the automated functionality.
  • Added: !givexp command. With this command admin can add to an online or an offline player a specific amount of XP to a specific skill.
  • Added: !userdelete command. With this command any users except bots can be removed from the database.
  • Added: !userban command. A handy online command for banning offline players.
  • Added: !userlist command. With this command admin can view all the players that are stored in the database.
  • Added: !useredit command. This command can be used to edit any player that has visited the server.
  • Added: User database. This holds information of all the users that have visited the server (during the lifetime of the database).
  • Added: Quick chat box can be used to give commands.
  • Added: New shrubbot flag '?' that will allow speccing admins to see private messages when they are in spec.
  • Changed: g_knifeDamage is now g_knifeThrowDamage. Also, the actual damage is no longer randmon.
  • Changed: !listplayers is now plain !list.
  • Changed: ETPub !userinfo renamed to !finger. In future a new !userinfo command will give different information.
  • Reworked: !stats command now shows total and session specific kills and deaths made by Thompson, MP40 and PPSh weapons.
  • Reworked: Private message sound is now built in and not configurable. sound file can be overridden though.
  • Reworked: If poison sound is enabled, the poison sound is played only to the player who has been poisoned.
  • Reworked: !time command shows the clients local time.
  • Reworked: To throw knife +attack2 must be used as the command.
  • Reworked: Knives throwing. Now knives are held while they charge power.
  • Reworked: Knifes rotate when thrown.
  • Reworked: Knife icon enlarges when +attack2 button is pressed and held (e.g. nade icon pulsates)
  • Removed: Without the need to support several client versions, the server will now send all obituaries as events.
    This change removes all excess flags from g_obituary. From now on, the server will send obituary events to clients with any nonzero value in g_obituary cvar and will not send events if it is set to 0.
  • Removed: Party panzers removed.
  • Removed: g_XPSaveFile. This is now controlled with new cvar g_dbDirectory.
  • Removed: g_shrubbot. This is now controlled with new cvar g_dbDirectory.
  • Fixed: Memory leaking in the ETPub settings.cfg handling.
  • Fixed: During the intermission, the full width of the chatbox is now used.
  • Fixed: During the gameplay, the chat no longer overlaps with the gun icon.
  • Fixed: Player can't throw his/hers last knife.
  • Added: vote blocking
  • Enhancement: lot of rewriting to the data sent from server to the client.
  • Reworked:!freeze command now needs parameter to avoid freezing all player.
  • Added: Knife Model
  • Fixed: Team change spam to stop server crash

  • Version 0.1.4

  • Reworked: Scoreboard worked
  • Added: New awards
  • Configurable option to pickup extra ammo with dropped weapons.
  • Enhancement: Tripmines need to be armed
  • Enhancement: No Tripmines for coverts from this version on
  • Enhancement: Different tripmines beam colours for each team
  • Fixed: tripmines ammo defect
  • Fixed: Scoreboard fixes
  • Fixed: The reward printing bug on map starts
  • Fixed: limbomenu bug
  • Added: sv_cvar and sv_cvarempty commands

  • Version 0.1.2

  • Added: New weapon PPSh
  • Added: New Weapon Tripmine
  • Reworked: Hitsounds handled differently (No more netspam)
  • Reworked: The bounding box code worked (This is different then ETPub and at least old NQ)
  • Removed: Many Etpub related server cvars removed.


Credits

We are greatly thankful to Etpub Dev Team since silEnT mod is based on Etpub 9.1. With time, we have done many core code changes, added new features and reworked all code to make it more optimized. We are also thankful to Foxdie.

Dev Team gaoesa TheSilencerPL hellreturn jamesplock