Silent Mod Server Cvar: Difference between revisions

From MyGamingTalk
(Created page with "= Announcements and Messages = == g_privateMessages == == g_spreeOptions == == g_multikillTime == == g_obituary == == g_dropMsg == == g_landmineNotifyType == == g_setting...")
 
 
(496 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= silEnT Mod Anti Cheat =
== g_silentac ==
;Description
Enables actions based on silEnT AntiCheat. The g_cheatLog will always have one line telling if a player is found with cheats. The cheat detection's are based mostly on heuristically detecting hacking techniques. If you suspect a false positive, please supply the silEnT team a method to reproduce it. Do note that this feature has been in extensive testing well before the 0.8.0 version. When silEnT AC is set to autoban busted players, sv_sac cvar auto changes it value to 1. sv_sac is read only variable. This cvar can be used by external server trackers to enable/disable server anti cheat status on their lists. We recommend setting the value to 2.
'''Type:''' [0|1|2]
'''Parameters:'''
1 Show player AntiCheat status in the !finger output.
2 Automatically ban players for 365 days with cheats.
'''Default:''' 0
'''Minimum required version:''' 0.8.0
== g_clientBinaries ==
'''Description:'''
silEnT mod can be configured to not allow players with unknown client binaries to play on the server. This cvar controls the server behaviour when the client binary is not one of the recognized ones.
'''List of recognized binaries:'''
*Official client binaries
*Binary edited executables from etmaster.net
*Equivalent to etmaster.net binary edited executables from BigBear
*ETPatchSelector binaries
*Official ET Legacy b4
*Official ET Legacy b5
*Many ET Legacy binaries including RC1 versions.
'''Type:''' bitmask
'''Parameters:'''
1 Don't allow players with unknown client executables.<br>
2 Log unknown executables to the g_cheatLog. Note, if the server does not allow unknown client binaries the log message will be different for message.<br>
4 Report unknown executables to admin chat. Note, if the server does not allow unknown client binaries the players will not be reported to admin chat.<br>
'''Default:''' 0
'''Minimum required version:''' 0.5.2
'''Changelog:'''
0.6.2 - If the flag 4 is set, known cheat binaries are clearly reported to the admin chat.
== g_identOptions ==
'''Description:'''
Starting from version 0.3.0, the silEnT mod can be configured to enforce bans using hardware based identification. This is not any fool proof system but it is made to be an addition to the already existing ban methods. The hardware identification cannot be seen in human readable form by admins while on the server. The data that is sent to the server can be seen in the client by writing /cg_ident to the console. The result is a hexadecimal string that changes its value between maps. The format and data used to create the client identification may change between different versions of the silEnT mod. The server can be configured with the g_identOptions server cvar.
'''Type:''' bitmask
'''Parameters:'''
1 Kick clients that are spoofing the client identification to enter the server
2 Kick clients that are not sending the identification to the server
4 Enforce bans using the identification
8 Report all actions taken based on client identification to the adminchat
16 If a player is caught of circumventing a ban, a new ban is created with for it. The ban reason will have additional (Automated copy of a ban for xxxxxxxx) where xxxxxxxx is replaced with the 8 character PB GUID of the old ban.
'''Default:''' 0
== g_ssDirectory ==
;Description
Officially since 0.9.0. This cvar is required for the Screenshot System (SS) to work correctly. It defines where to store the screenshots. Create "screenshot" folder under silent mod folder and add set g_ssDirectory "screenshot" in your server config. All of screenshots of players will go under this folder.
'''Type:''' [string]
'''Default:'''
'''Minimum required version:''' 0.9.0
= Announcements and Messages =
= Announcements and Messages =


Line 4: Line 87:
== g_privateMessages ==
== g_privateMessages ==


== g_spreeOptions ==
'''Description:'''<br>
 
If set to 1, players can send private messages to one another with the /m playername/slot command.
 
'''Type:''' [0|1]
 
'''Parameters:'''
 
0 Disable Private Messages
 
1 Enable Private messages
 
'''Default:''' 0
 
'''Note:''' Clients can reject private message from other individual clients with the /ignore client command. Also, private messages can be disabled from individuals/levels using shrubbot flag '/'.
 
== g_spreeOptions ==
 
'''Description:'''<br>
 
Options to control the display of killingsprees.
 
'''Type''': bitmask
 
'''Parameters:'''
 
1 Enable killingsprees
 
2 Enable killingspree ends
 
4 Enable multikills
 
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 -&gt; multikill -&gt; megakill -&gt; 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&nbsp;!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
 
'''Default''': 0
 
== g_multikillTime  ==
 
'''Description:'''<br>
 
The time (in milliseconds) in which two kills should be made in order to count them as multikills.<br>
 
'''Type:''' integer<br>'''Default:''' 1000
 
== g_obituary  ==
 
'''Description:'''<br>
 
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.
 
'''Type:''' [0|1]
 
'''Default:''' 1
 
== g_dropMsg  ==
 
'''Description:'''<br>
 
Message to add to the drop screen when a client is kicked or banned.&nbsp;<br>
 
'''Type:'''&nbsp;String<br>
 
'''Default:''' " "
 
'''Example:''' g_dropMsg&nbsp;"Please protest ban on forums"
 
== g_landmineNotifyType  ==
 
'''Description:'''
 
Decide which landmine reveal notifications server should send.&nbsp;
 
Server can send two types of landmines reveal notification. Standard one, generated (sent) for each landmine revealed and summary one,&nbsp;which is sent after player spotting landmines stops using binoculars.&nbsp;It's generated after each binculars zoom.
 
'''Type:''' [0|1|2|3]<br>
 
'''Parameters:'''
 
0 Only standard notfications (for each landmine revealed).
 
1 Only single summary notifications for one binocs zoom. New type of notification. For example: during one binocs zoom, 3 mines were revealed, but only 1 summary notification is sent. It contains information: 3 mines spotted by "player name" and last one was in location "some location".
 
2 Don't send any landmine notifications.
 
3 Send all notifications. For example: for 3 spotted landmines send 4 notifications (3 for each landmine + 1 summary notification).
 
'''Default:''' 3
 
'''Recommended:''' 1
 
== g_banners  ==
 
'''Description:'''<br>
 
This should be set to the name of your banners.cfg file if you want to enable banners. See [[Silent Banners]] for more information about this file.<br>
 
'''Type:''' string
 
'''Default:''' ""
 
'''Example:'''<br>set g_banners "banners.cfg"<br>
 
'''Minimum required version:''' 0.4.0
 
== g_recognition ==
 
'''Description:'''
 
Enables additional recognition notifications for players doing objective, e.g. for planting dynamite, disarming it, destroying objective.
 
'''Type:''' [0|1]
 
'''Parameters:'''
 
0 Additional recognition notifications disabled.
 
1 Additional recognition notifications enabled.
 
'''Default:''' 1
 
= User Database, Shrubbot and Bans =
 
== g_dbDirectory ==
 
'''Description:'''
 
If this cvar is set, the server stores various information about server statistics, map information, sprees, users, bans and XP save to the location pointed by this cvar. The directory defined by this cvar is relative to the fs_game directory. Absolute paths can not be used. All the used file names in the g_dbDirectory are predefined, and cannot be changed. For security reasons, this cvar must be set during server initialization. (i.e. It can not be changed while the server is running.) The following files are stored into this directory:
 
* userdb.db - This is a binary format file that contains all the basic information about shrubbot users and also all saved XP if the server is set to save XP
* userxdb.db - This is a binary format file that contains information related to players playing on the server
* useradb.db - This is a binary format file that contains player aliases.
* serverstat.cfg; This is a human readable file that contain server statistics and map sprees if the server is set to store them
* shrubbot.cfg - This is a human readable file that contain level configurations, custom commands and bans. This file is auto-created if it does not exist and used functionality requires it, but admins usually to edit this file for the configuration of their server.
* mapvoteinfo.cfg - This file contains information relating g_gametype 6, which is map voting.
 
 
All the required files will be created automatically to the directory when needed if the files don't already exist. silEnT mod will not overwrite userdb.db, userxdb.db or useradb.db files if files with those names exist, but the files are not suitable for use. In such case, the server log will have information about the failure to open the file and features requiring the missing files are disabled.
 
You can freely edit the human readable files by hand as long as their correct format remains. The shrubbot.cfg can be edited even while the server is running as long as the !readconfig shrubbot command is run before the map changes. Otherwise the changes to the file will be lost. If you want to hand edit the contents of the serverstat.cfg or mapvoteinfo.cfg files, the server must be shutdown to not lose the changes.
 
'''Type:''' string
 
'''Default:''' "database"
 
'''Note:'''
 
The server reads the value of this cvar from the config file only during the server start, or alternatively from the server start command parameters. It cannot be changed using RCON. 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.
 
== g_dbUserMaxAge ==
 
'''Description:'''
 
The number of seconds that player is saved to the database since the player has last visited on the server.
 
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
 
'''Type:''' integer
 
'''Default:''' 0
 
'''Note:'''
 
The server reads the value of this cvar only from the config file executed before the mod launches the first time or from the command line. It cannot be edited using RCON.
 
== g_dbMaxAliases ==
 
'''Description:'''
 
The silEnT mod can store player aliases in an additional database. To enable this database, set this value to higher then 0. If this value is a positive integer, it defines how many aliases are stored in the database for one player. If the player has more aliases then this value, the oldest aliases are deleted.
 
'''Type:''' integer
 
'''Default:''' 0
 
'''Minumum required version:''' 0.6.0
 
'''Note:'''
 
This cvar can be set only at startup, before the mod launches. It cannot be changed on a live server using rcon.
 
== g_minCommandWaitTime ==
 
'''Description:'''
 
Time you have to wait between using 2 shrubbot commands in milliseconds.
 
'''Type:''' integer
 
'''Default:''' 0
 
== g_tyranny ==
 
'''Description:'''
 
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.
 
'''Type:''' [0|1]
 
'''Default:''' 1
 
'''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."
 
== g_warningOptions ==
 
'''Description:'''
 
This cvar changes the behaviour of the shrubbot !warn command. By setting flag 1 or 2 you activate the advanced warning (storage) system


== g_multikillTime ==
'''Type:''' bitmask


== g_obituary ==
'''Parameters:'''


== g_dropMsg ==
1 Link stored warnings to the guid of a player


== g_landmineNotifyType ==
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:''' 0
 
== g_maxWarnings ==
 
'''Description:'''
 
The ammount of warnings that can be stored for 1 player.
 
'''Type:''' integer
 
'''Default:''' 3
 
== g_warningDecay ==
 
'''Description:'''
 
The time in hours that a warning will be stored.
 
'''Type:''' integer
 
'''Default:''' 24
 
== g_autoTempBan ==
 
'''Description:'''
 
When set, anyone kicked for the reasons you specify, will be temporarily banned for g_autoTempBanTime seconds.
 
'''Type:'''bitmask
 
'''Parameters:'''
 
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:''' 0
 
'''Changelog:'''
 
Specifically in version 0.5.0, this feature is bugged and can cause broken shrubbot.cfg.
 
== g_autoTempBanTime ==
 
'''Description:'''
 
The number of seconds kicked for when g_autoTempBan is set.
 
'''Type:''' integer
 
'''Default:''' 1800
 
== g_minConnectLevel ==
 
'''Description:'''
 
The minimum shrubbot adminlevel required for players to be able to connect.
 
'''Type:''' integer
 
'''Default:''' 0
 
'''Note:'''
 
This only works for positive levels, any value <= 0 will allow everyone to connect. Bots won't be able to connect either.
 
== g_greetingPos ==
 
'''Description:'''
 
Location where the shrubbot greetings are displayed.
 
'''Type:''' [0|1|2|3|4]
 
'''Parameters:'''
 
0 Chat area
 
1 Center of screen
 
2 Left notification area
 
3 Top of the screen
 
4 Console only
 
'''Default:''' 0
 
== g_adminProtection ==
 
'''Description:'''
 
Starting from silEnT 0.5.0, admins levels can be protected against spoofing. The protection works by establishing trust between the client and the server. The trust must be confirmed by an online human admin for the new trusted admins to gain access to their assigned level. Specific command !confirm is used for it. Do note that establishing the trust between the server and the player is not the same as assigning admin level. In fact, anyone who is capable of recognizing the real admin can be safely allowed to use the !confirm command. The !setlevel command will automatically establish the trust if the admin level protection is enabled and the level is above or equal to the g_protectMinLevel. The admin protection is designed so that only the important admin levels are protected. This mean that levels above the g_protectMinLevel require established trust between the server and the client. Normal guests do not need this. It is also advisable to not set the g_protectMinLevel too low to avoid server load with these admins.
 
The trust needs to be established only once. After that, the client and the server can negotiate the confirmation silently.
 
'''Technical Details:'''
 
The trust is established using one-way hashes. When the !setlevel or !confirm is used on a player, the server generates 2 unique 32 character long values. Both of these values are stored both in the client (silent.dat) and the server database. Their meanings are server identification and a client key.
 
Authentication negotiation:
 
1. When the player next time connects to the server, the server sends one of the stored values as server identification and another, newly generated random 32 character value, to initiate the negotiation.
 
2. The client will use the server identification value it received from the server to match with the key value associated with the server identification. It will hash the 32 character key value with the supplied random 32 character value and send the result back to the server.
 
3. The server, knowing both values, the client key and the random character string it sent, can compare the hash against a hash it generates itself with the same values.
 
4. If the hashes match (one supplied from client and the one it just generated), the client is authenticated to his admin level.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
1 Log succesfull authentications to the cheat log
 
2 Log admin spoofing attempts to the cheat log
 
4 Report admins waiting for confirmation on their level to the admin chat
 
'''Default:''' 7
 
'''Minimum required version:''' 0.5.0
 
== g_protectMinLevel ==
 
'''Description:'''
 
Starting from silEnT 0.5.0, admins can be protected against spoofing. The protection works by establishing trust between the client and the server if the admin level is higher then the g_protectMinLevel. Setting this to -1 will disable the freature. Do note that when you enable the feature, noone has yet established trust with the server and the first one to have it, must be confirmed by an rcon command. Either !setlevel if the database still doesn't have admins or !confirm if the admin has been set in the database already.
 
'''Type:''' integer
 
'''Default:''' -1
 
'''Minimum required version:''' 0.5.0
 
== g_muteRename ==
 
'''Description:'''
 
If this cvar is set to 1 the muted player won't be allowed to change his name while he is muted.
 
'''Type:''' integer
 
'''Parameters:'''
 
0 Disabled. Allow players to change his/her name while he/she is muted.<br>
 
1 Don't allow player to change his/her name while he/she is muted.<br>
 
'''Default:''' 0
 
'''Minimium required version:''' 0.8.0
 
= XP Save =
 
== g_XPSave ==
 
'''Description:'''
 
Controls XP save behaviours.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
1 Store xp when a client disconnects. This is always required for the XP save to work.
 
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 disconnected downloads.
 
16 Store the XP at restarts, nextmaps, mapvotes, campaignvotes and similar cases.
 
'''Default:''' 0
 
== g_XPSaveMaxAge_xp ==
 
'''Description:'''
 
The number of seconds that must pass without saving XP from this player before XPSave forgets his/her xp skills. Admins can adjust the amount of required XP to save with g_XPSaveMinXP server cvar.
 
You can use a modifier with 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
 
'''Type:''' integer
 
'''Default:''' 1d
 
'''Note:''' If g_XPSaveMaxAge is less than g_XPSaveMaxAge_xp, g_XPSaveMaxAge will be used.
 
== g_XPSaveMaxAge ==
 
'''Description:'''
 
The number of seconds that must pass without saving XP from this player before XPSave forgets his/her skills/killrating/playerrating/mute status. Admins can adjust the amount of required XP to save with g_XPSaveMinXP server cvar.
 
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
 
'''Type:''' integer
 
'''Default:''' 1w
 
== g_resetXPMapCount  ==
 
'''Description:'''
 
How many maps occur before XP is reset. If g_XPSave flag 4 is set, g_resetXPMapCount is ignored.
 
'''Note:''' This setting is only valid when the g_gametype is 6 (see Map Voting)
 
'''Type:''' integer
 
'''Default:''' 0
 
== g_XPSaveMinXP ==
 
'''Description:'''
 
The increment of XP during one map that is required for the XP gained during the map to get saved and the time of the latest XP save to get updated. The silEnT mod separates the XP save and the connection times so that players who visit spectators without playing will not be removed by the g_dbUserMaxAge but can still lose their stored XP if they do not play. Admins can adjust the requirement with this value. Using -1 will disable the requirement and XP save will consider every connection valid for the XP save. Using value 0, will consider XP save valid if the player has gained even 1 XP point during the map. Please note that the value is only for one map and using high values may cause some players to not achieve enough XP to get their XP updated. Also note, that this does not prevent SMG weapon statistics or rating values to get updated into the database.
 
'''Type:''' integer
 
'''Default:''' -1
 
'''Minimum required version:''' 0.5.0
 
== g_maxXP ==
 
'''Description:'''
 
This is a vicious cvar that will reset a players XP once their overall XP score reaches it.
 
Set this to -1 to disable it.
 
 
'''Type:''' integer
 
'''Default:''' -1
 
== g_maxXPResetWarn ==
 
'''Description:'''
 
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.
 
'''Type:''' integer
 
'''Default:''' 0
 
== g_damageXP ==
 
'''Description:'''
 
Optionally enables the awarding of XP based upon the amount of damage a player has done to the opposing team.
 
'''Type:''' [0|1|2]
 
'''Parameters:'''
 
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:''' 0
 
== g_damageXPLevel ==
 
'''Description:'''
 
This setting determines the amount of damage that a player must do to earn 1 point of XP. See g_damageXP for additional information.
 
'''Type:''' integer
 
'''Default:''' 50
 
== g_XPDecay ==
 
'''Description:'''
 
This is a bitmask that controls the XP decay feature.
 
See also g_XPDecayRate.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
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.
 
'''Default:''' 0
 
== g_XPDecayRate ==
 
'''Description:'''
 
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.
 
You can use a modifier with 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
 
'''Type:''' float
 
'''Default:''' 0.0
 
== g_XPDecayFloor ==
 
'''Description:'''
 
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.
 
'''Type:''' float
 
'''Default:''' 0.0


== g_settings ==


= Flood Protection =  
= Flood Protection =  


== g_floodprotect ==  
== g_floodprotect ==
 
'''Description:'''
 
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.
 
'''Type:''' [0|1]
 
'''Default:&nbsp;'''1
 
== g_floodthreshold  ==
 
'''Description:'''
 
The number of messages per second before ignoring the client's messages. Only in effect when g_floodprotect is turned on.
 
'''Type:''' Integer<br>


== g_floodthreshold ==
'''Default:''' 6


== g_floodWait ==  
== g_floodWait ==


== g_voiceChatsAllowed ==  
'''Description:'''<br>
 
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.<br>
 
'''Type:''' integer<br>
 
'''Default:''' 1000
 
== g_voiceChatsAllowed ==
 
'''Description:'''<br>
 
The number of voicechats allowed in minute.<br>
 
'''Type:''' integer<br>
 
'''Default:''' 4


= Player Statistics, Rating and Team Balance =
= Player Statistics, Rating and Team Balance =


== g_stats ==  
== g_stats ==
 
'''Description:'''<br>
 
This is a bitflag cvar used to control the way statistics are handled.<br>
 
'''Type:''' bitmask
 
'''Parameters:'''<br>1 When shooting a corpse to gib, do not count it as a hit.<br>2 When shooting a corpse to gib, do not count it as a shot.<br>
 
'''Default:''' 0<br>'''Note:'''&nbsp;Set this to 3 to use the behaviour of etmain and shrubet.
 
== g_playerRating_minplayers  ==
 
'''Description:'''<br>
 
The minimum number of players that must participate in a map in order for it to count towards each player's player rating.
 
'''Type:''' integer<br>
 
'''Default:''' 8
 
== g_shuffle_rating  ==
 
'''Description:'''<br>
 
Sets the rating system used by shuffle.<br>
 
'''Type:''' [ 1 | 2 | 3 | 4 | 5 ]<br>
'''Parameters:'''
 
1 Use player XP<br>2 Use the rate at which players have gained XP since connecting.<br>3 Use the killRating (g_killRating must be nonzero)<br>4 Use the playerRating (g_playerRating must be nonzero)<br>5 Use the playerRating (g_playerRating must be nonzero), but take the map into account and give the teams closest to 50/50<br>
 
'''Default:''' 3
 
== g_killRating  ==
 
'''Description:'''<br>
 
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.
 
''See also g_shuffle_rating.''
 
'''Type:''' bitmask<br>
 
'''Parameters:'''
 
1 Use kill rating. A dummy flag since any non-zero value for g_killRating will enable it.<br>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.<br>4 Log files will include the GUIDs of the players involved in kills. This makes kill tracking a lot easier.<br>8 Disable kill rating from the score board. This can prevent players from playing for higher kill rating alone. This does not prevent the "killrating" client command enabled with flag 2 from working.
 
 
'''Default:''' 3
 
== g_playerRating  ==
 
'''Description:'''<br>
 
When not set to non zero positive value, silEnT 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).
 
''See also g_shuffle_rating.''
 
'''Type:''' bitmask<br>
 
'''Parameters:'''
 
1 Use player rating. A dummy flag since any non-zero value for g_playerRating will enable it.<br>2 Make player rating visible. Players can use /playerrating and at the end of each map a message will display the top player.<br>4 Put player rating on the scoreboard instead of the XP.<br>8 Print out extra info at the end of a round that can be used to further refine the playerrating model.<br>16 The same as flag 8 except a lot more info is output.<br>
 
'''Default:''' 3
 
== g_unevenTeamDiff  ==
 
'''Description:'''<br>
 
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''
 
'''Type:''' integer<br>
 
'''Default:''' 0<br>
 
'''Example''': Set to 0 to disable this feature<br>
 
== g_unevenTeamFreq  ==
 
'''Description:'''<br>
 
How often the team disparity notification occurs. Only valid when g_unevenTeamDiff is set to a positive value. Value is in seconds.<br>
 
''See also g_unevenTeamDiff''
 
'''Type:''' integer<br>
 
'''Default:''' 30
 
= Class and Weapon Restrictions =
 
== g_medicChargeTime ==
'''Description:'''
 
The base time in milliseconds for how long it takes to fully recharge the medic charge bar. Skill upgrades affect this value during the game.
 
'''Type:''' integer
 
'''Default:''' 45000
 
== g_engineerChargeTime ==
'''Description:'''
 
The base time in milliseconds for how long it takes to fully recharge the engineer charge bar. Skill upgrades affect this value during the game.
 
'''Type:''' integer
 
'''Default:''' 30000
 
== g_LTChargeTime ==
'''Description:'''
 
The base time in milliseconds for how long it takes to fully recharge the field ops charge bar. Skill upgrades affect this value during the game.
 
'''Type:''' integer
 
'''Default:''' 40000
 
== g_soldierChargeTime ==
'''Description:'''
 
The base time in milliseconds for how long it takes to fully recharge the soldier charge bar. Skill upgrades affect this value during the game.
 
'''Type:''' integer
 
'''Default:''' 20000
 
== g_covertopsChargeTime ==
'''Description:'''
 
The base time in milliseconds for how long it takes to fully recharge the covert ops charge bar. Skill upgrades affect this value during the game.
 
'''Type:''' integer
 
'''Default:''' 30000
 
== team_maxPanzers  ==
 
'''Description:'''
 
Server cvars team_maxPanzers, team_maxMortars, team_maxFlamers, team_maxMG42s, team_maxGrenLaunchers have identical behaviour.&nbsp;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 1:'''
 
:set team_maxPanzers "2"
 
This will limit each team to 2 panzerfaust soldiers, regardless of how many players are in the team
 
'''Example 2:'''
 
:set team_maxPanzers "10%"
 
This will limit each team to having only 10% of their players as panzerfaust soldiers, and a team with few players (for example, 5) will be able to have 1 panzerfaust soldier. They will be able to have their second panzerfaust soldier when they have 11 players on the team.
 
'''Example 3:'''
 
:set team_maxPanzers "10%-"
 
This will limit each team to having only 10% of their players as panzerfaust soldiers, and a team will not be able to have any panzerfaust soldiers until there are 10 players in the team. They will be able to have their second panzerfaust soldier when there are 20 players in the team.
 
Set this to -1 to disable limits
 
'''Type:''' integer
 
'''Default:''' -1
 
== team_maxMortars  ==
 
'''Description:'''
 
Server cvars team_maxMortars, team_maxFlamers, team_maxMG42s, team_maxGrenLaunchers have identical behaviour.&nbsp;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&nbsp;% symbol to limit based on the number of players on the team. When using percentage values, any partial values are rounded up.&nbsp;
 
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 1:'''
 
:set team_maxMortars "2"
 
This will limit each team to 2 mortar soldiers, regardless of how many players are on the team.
 
'''Example 2:'''
 
:set team_maxMortars "10%"
 
This will limit each team to having only 10% of their players as mortar soldiers, and a team with few players (for example, 5) will be able to have 1 mortar soldier. They will be able to have their second mortar soldier when they have 11 players in the team.
 
'''Example 3:'''
 
:set team_maxMortars "10%-"
 
This will limit each team to having only 10% of their players as mortar soldiers, and a team will not be able to have any mortar soldiers until there are 10 players in the team. They will be able to have their second mortar soldier when there are 20 players on the team.
 
''Set this to -1 to disable limits''
 
'''Type:''' integer<br>'''Default:''' -1
 
== team_maxFlamers  ==
 
'''Description:'''
 
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&nbsp;% 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 1:'''
 
:set team_maxFlamers "2"
 
This will limit each team to 2 flamethrower soldiers, regardless of how many players are on the team
 
'''Example 2:'''
 
:set team_maxFlamers "10%"
 
This will limit each team to having only 10% of their players as flamethrower soldiers, and a team with too few players (for example, 5) will be able to have 1 flamethrowe soldier. They will be able to have their second flamethrowe soldier when they have 11 players on the team.
 
'''Example 3:'''
 
:set team_maxFlamers "10%-"
 
This will limit each team to having only 10% of their players as flamethrower soldiers, and a team will not be able to have any flamethrower soldiers until there are 10 players in the team. They will be able to have their second flamethrower when there are 20 players in the team.
 
 
Set this to -1 to disable limits
 
'''Type:''' integer<br>'''Default:''' -1
 
== team_maxMG42s  ==
 
'''Description:'''
 
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 1:'''
 
:set team_maxMG42s "2"
 
This will limit each team to 2 MG42 soldiers, regardless of how many players are in the team
 
'''Example 2:'''
 
:set team_maxMG42s "10%"
 
This will limit each team to having only 10% of their players as MG42 soldiers, and a team with too few players (for example, 5) will be able to have 1 MG42 soldier. They will be able to have their second MG42 soldier when they have 11 players on the team.
 
'''Example 3:'''
 
:set team_maxMG42s "10%-"
 
This will limit each team to having only 10% of their players as MG42 soldiers, and a team will not be able to have any MG42 soldiers until there are 10 players in the team. They will be able to have their second MG42 soldier when there are 20 players in the team.
 
Set this to -1 to disable limits
 
'''Type:''' integer<br>'''Default:''' -1
 
== team_maxGrenLaunchers  ==
 
'''Description:'''
 
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 1:'''
 
:set team_maxGrenLaunchers "2"
 
This will limit each team to 2 grenade launchers, regardless of how many players are in the team
 
'''Example 2:'''
 
:set team_maxGrenLaunchers "10%"
 
This will limit each team to having only 10% of their players playing with grenade launchers, and a team with too few players (for example, 5) will be able to have 1 grenade launcher. They will be able to have their second grenade launcher when they have 11 players in the team.
 
'''Example 3:'''
 
:set team_maxGrenLaunchers "10%-"
 
This will limit each team to having only 10% of their players playing with grenade launchers, and a team will not be able to have any grenade launchers until there are 10 players in the team. They will be able to have their second grenade launcher when there are 20 players in the team.
 
Set this to -1 to disable limits
 
'''Type:''' integer<br>'''Default:''' -1
 
== team_maxMedics ==
 
'''Description:'''
 
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 1:'''
 
:set team_maxMedics "5"
 
This will limit each team to 5 medics, regardless of how many players are in the team
 
'''Example 2:'''
 
:set team_maxMedics "15%"
 
This will limit each team to having only 15% of their players as medics, and a team with too 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 in the team.
 
'''Example 3:'''
 
:set team_maxMedics "15%-"


== g_playerRating_mapPad ==
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 in the team.


== g_playerRating_minplayers ==
Set this to -1 to disable limits.


== g_teamForceBalance_playerrating ==
'''Type:''' string


== g_ATB ==
'''Default:''' -1


== g_ATB_diff ==  
== team_maxEngineers  ==


== g_ATB_swap ==
'''Description:'''


== g_ATB_offtime ==
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&nbsp;% symbol to limit based on the number of players on the team. When using percentage values, any partial values are rounded up.


== g_ATB_rating ==
You can use a number such as "20%-" for this setting, in which case partial values will be rounded down


== g_shuffle_rating ==
'''Example 1:'''


== g_killRating ==
:set team_maxEngineers "5"


== g_playerRating ==
This will limit each team to 5 engineers, regardless of how many players are in the team


== g_unevenTeamDiff ==
'''Example 2:'''


== g_unevenTeamFreq ==
:set team_maxEngineers "15%"


= Class and Player Restrictions =
This will limit each team to having only 15% of their players as engineers, and a team with too few players (for example, 3) will be able to have 1 engineer. They will be able to have their second engineer when they have 7 players in the team.


== team_maxPanzers ==
'''Example 3:'''


== team_maxMortars ==
:set team_maxEngineers "15%-"


== team_maxFlamers ==
This will limit each team to having only 15% of their players as engineers, and a team will not be able to have engineers until there are 7 players in the team. They will be able to have their second engineer when there are 14 players in the team.


== team_maxMG42s==
Set this to -1 to disable limits.


== team_maxGrenLaunchers==
'''Type:''' string


== team_maxMedics==
'''Default:''' -1


== team_maxEngineers==
== team_maxFieldOps  ==


== team_maxFieldOps==
'''Description:'''


== team_maxCovertOps==
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.


== g_teamDamageRestriction==
You can use a number such as "20%-" for this setting, in which case partial values will be rounded down


== g_minHits==
'''Example 1:'''


== g_minAirstrikeTime==
:set team_maxFieldOps "5"


== g_minArtyTime==
This will limit each team to 5 field opses, regardless of how many players are in the team


== g_maxTeamLandmines==
'''Example 2:'''


== g_maxTeamTripmines==
:set team_maxFieldOps "15%"


== g_minGameClients==
This will limit each team to having only 15% of their players as field opses, and a team with too few players (for example, 3) will be able to have 1 field ops. They will be able to have their second field ops when they have 7 players in the team.
 
'''Example 3:'''
 
:set team_maxFieldOps "15%-"
 
This will limit each team to having only 15% of their players as field opses, and a team will not be able to have field opses until there are 7 players in the team. They will be able to have their second field ops when there are 14 players in the team.
 
Set this to -1 to disable limits.
 
'''Type:''' string
 
'''Default:''' -1
 
== team_maxCovertOps  ==
 
'''Description:'''
 
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 1:'''
 
:set team_maxCovertOps "5"
 
This will limit each team to 5 covert opses, regardless of how many players are in the team
 
'''Example 2:'''
 
:set team_maxCovertOps "15%"
 
This will limit each team to having only 15% of their players as coert opses, and a team with too few players (for example, 3) will be able to have 1 covert ops. They will be able to have their second covert ops when they have 7 players in the team.
 
'''Example 3:'''
 
:set team_maxCovertOps "15%-"
 
This will limit each team to having only 15% of their players as covert opses, and a team will not be able to have covert opses until there are 7 players in the team. They will be able to have their second covert ops when there are 14 players in the team.
 
Set this to -1 to disable limits.
 
'''Type:''' string
 
'''Default:''' -1
 
== g_minAirstrikeTime ==
 
'''Description:'''<br>
 
The time (in seconds) that must elapse between airstrikes PER TEAM.<br>
 
'''Type:''' integer<br>
 
'''Default:''' 10
 
== g_minArtyTime ==
 
'''Description:'''<br>
 
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.<br>
 
'''Type:''' integer<br>
 
'''Default:''' 10
 
== g_maxTeamLandmines ==
 
'''Description:'''<br>
 
Sets the maximum number of landmines a team can have planted at any given time. This value should be 0 or greater.<br>
 
'''Type:''' integer<br>
 
'''Default:''' 10
 
== g_maxTeamTripmines ==
 
'''Description:'''<br>
 
Sets the maximum number of tripmines a team can have planted at any given time. This value should be 0 or greater.<br>
 
'''Type:''' integer<br>
 
'''Default:''' 3
 
== g_minGameClients ==
 
'''Description:'''<br>
 
The number of clients needed to start a match.<br>
 
'''Type:''' integer<br>
 
'''Default:''' 0
 
== g_maxGameClients ==
 
'''Description:'''<br>
 
The maximum allowed amount of active clients.
 
'''Type:''' integer
 
'''Default:''' 0
 
= Player Inactivity =
 
== g_inactivity ==
 
'''Description:'''
 
The number of seconds of player inactivity before the player is made a spectator.
 
'''Type:''' integer
 
'''Default:''' 0
 
== g_spectatorInactivity==
 
'''Description:'''
 
The number of seconds of player inactivity as spectator before the player is kicked/dropped from server.
 
'''Type:''' integer
 
'''Default:''' 0
 
== g_inactivityOptions ==
 
'''Description:'''
 
Controls additional inactivity options.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
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:''' 3


== g_maxGameClients==


= Gametypes =
= Gametypes =
== g_gametype ==
'''Description:'''
Please see Map Voting.
'''Type:''' [2|3|4|5|6|7]
'''Parameters:'''
2 Objective
3 Stopwatch
4 Campaign
5 Last Man Standing
6 Map Voting
7 Team Death Match
'''Default:''' 4


== Campaign ==
== Campaign ==
Line 98: Line 1,345:
== Objective ==
== Objective ==


== Last Stand ==
== Last Man Standing ==
 
== 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
 
 
;;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:
<blockquote>set d1 "set g_gametype 6&nbsp;; map oasis&nbsp;; set nextmap vstr d2"<br>set d2 "set g_gametype 6&nbsp;; map battery&nbsp;; set nextmap vstr d3"<br>set d3 "set g_gametype 6&nbsp;; map goldrush&nbsp;; set nextmap vstr d1"<br>vstr d1<br> </blockquote>
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
 
<br>
 
=== g_mapVoteFlags  ===
 
'''Description:''' This cvar controls the behaviour of the map voting.
 
'''Type:''' bitmask<br>
 
'''Parameters:'''
 
1 Changes the tie breaker so that the map not played in the longest wins<br>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)<br>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<br>8 Don't randomize the maps, so they will always appear in the same order<br>
 
'''Default:''' 0
 
=== g_maxMapsVotedFor  ===
 
'''Description:'''<br>How many maps are available to players for voting upon during intermission.<br>''Only valid when g_gametype is 6 (see Map Voting)''<br>
 
'''Type:''' integer<br>
 
'''Default:''' 6
 
=== g_minMapAge  ===
 
'''Description:'''<br>
 
How long a map is ineligible for voting during intermission, after it is played last time.<br>''Only valid when g_gametype is 6 (see Map Voting)''<br>
 
'''Type:''' integer<br>
 
'''Default:''' 3
 
=== g_includedMaps  ===
 
'''Description:'''
 
Used to include map regardless of any other restrictions. Including g_excludedMaps setting. The format is ":map1:map2:map3:", where mapX is the .bsp name. Note that each mapname must be fully surrounded by ":" or otherwise the map will be ignored in the list.
Only valid when map voting is enabled.
 
'''Type:''' string
 
'''Default:''' ""
 
'''Minimum required version:''' 0.6.2


== Map Voting ==
=== g_excludedMaps  ===


=== g_mapVoteFlags ===
'''Description:'''<br>


=== g_maxMapsVotedFor ===
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. <br>''Only valid when g_gametype is 6 (see Map Voting)''<br>


=== g_minMapAge ===
'''Type:''' string<br>


=== g_resetXPMapCount ===
'''Default:''' ""


=== g_excludedMaps ===
'''Example:''' To exclude railgun and battery maps from map voting use below command:<br>
set g_excludedMaps ":railgun:battery:"


== Team Death Match (TDM) ==
== Team Death Match (TDM) ==


=== g_TDMType ===
=== g_TDMType ===
'''Description:'''
The type of the played Team Death Match.
'''Type:''' [ 1 | 2 | 3 ]
'''Parameters:'''
1 Map ends only when timelimit hits
2 Map ends when either the target score is reached or the timelimit hits
3 Map ends only when the target score is reached
'''Default:''' 0


=== g_TDMOptions ===
=== g_TDMOptions ===
'''Description:'''
Possible options for the played Team Death Match.
'''Type:''' bitmask
'''Parameters:'''
1 Map voting is enabled during the intermission (i.e. The players vote for the next map to play during the intermission.)
2 Completing the map objective will give the team score bonus that is controlled by the g_TDMObjBonus server cvar
4 Teams get negative points when they do selfkills or teamkills
8 Players cannot selfkill during the TDM. Regardless of other selfkill settings the server has configured
'''Default:''' 5


=== g_TDMScore===
=== g_TDMScore===
'''Description:'''
This is the target score the teams attempt to make to win the game in TDM game types 2 and 3.
'''Type:''' integer
'''Default:''' 100


=== g_TDMObjBonus===
=== g_TDMObjBonus===
'''Description:'''
This is the value that is added to the team score if the team completes the map objective. Adding the bonus does not depend of the TDM type.
'''Type:''' integer
'''Default:''' 20


= Mapconfigs and Mapscripts =
= Mapconfigs and Mapscripts =


== g_mapConfigs ==
== g_mapConfigs ==
'''Description:'''
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_homepath).
Starting from silEnT version 0.5.2, admins can add settings that are executed for specific player amounts. The commands are enclosed in [players low-high] ... [/players] blocks. The low is the lowest amount of players for those settings and high is the maximum amount of players for those settings. For example:
[players 0-10]<br>
set team_maxPanzers 0<br>
[/players]<br><br>
will disable panzerfaust when player amount is less or equal to 10. The blocks can be placed anywhere in the map config files. If the block is closed with [/players], the following commands do not depend on the player amounts. The player blocks can not be nested. If two player blocks follow each other, the second definition opens a new one and the old one closes. For example:<br><br>
[players 0-15]<br>
set g_excludedMaps ":mlb_temple:"<br>
[players 16-*]<br>
set g_excludedMaps ":adlernest:"<br>
[/players]<br><br>
will exclude map MLB Temple if the player amount is less or equal to 15 and exclude map Adlernest if the player amount is 16 or more. The player amount counting is controlled with g_playerCounting server cvar.<br><br>
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. Player blocks are not used with vote_X.cfg files.<br>
'''Type:''' string
'''Default:''' ""


== g_mapScriptDirectory ==
== g_mapScriptDirectory ==


== g_campaignFile ==
'''Description:'''
 
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. Setting g_mapScriptDirectory to &quot;&quot; disables any use of map .script files.
 
'''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.
 
'''Type:''' string
 
'''Default:''' ""
 
== g_campaignFile ==
 
'''Description:'''
 
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 -&gt; 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 -&gt; MAP menu. If a vote for one of them passes, nothing will happen.
 
Setting this to "" disables it.
 
'''Type:''' string
 
'''Default:''' ""
 
== g_playerCounting ==
 
'''Description'''
 
This cvar controls how the player amount is calculated for the mapconfigs. The player amount value is the highest number of simultaneously fully connected players during the map or warmup. The player counting can be disabled from the warmup period. If the player counting is enabled during the warmup, the players are counted right at the end of the warmup. This allows the teams to stabilize after intermission. Similarly the counting is triggered always with a 3 second delay from the change in the teams. Team changes include players joining the server and staying
in the spectators.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
1 Enable filtering. This will add the 2 latest values together and divide them by 2.
 
2 No player counting during warmup.
 
4 Count spectators into players. Without this flag, only players in the playing teams are counted.
 
8 Bots are not included into the player count.
 
'''Default:''' 1


= Censoring =
= Censoring =


== g_censor==
== g_censor==
'''Description:'''
A comma delimited string of words that will be censored from the chat.
'''Type:''' string
'''Default:''' ""


== g_censorNames==
== g_censorNames==
'''Description:'''
A comma delimited string of words that will be censored from the player names.
'''Type:''' string
'''Default:''' ""


== g_censorPenalty==
== g_censorPenalty==
'''Description:'''
This controls the censoring behaviour.
'''Type:''' bitmask
'''Parameters:'''
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
'''Default:''' 0
'''Note:'''
If you use both 1 and 4, it will gib (like shrub did).


== g_censorNeil==
== g_censorNeil==
'''Description:'''
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".
'''Type:''' [0|1]
'''Default:''' 0


== g_censorNeilNames==
== g_censorNeilNames==
'''Description:'''
Use Neil Toronto's censor filter for player names.  See g_censorNeil description for
details.
'''Type:''' [0|1]
'''Default:''' 0


== g_censorMuteTime==
== g_censorMuteTime==
'''Description:'''
The number of seconds to auto-mute as a censor penalty. Only works if bitflag 8 is added to g_censorPenalty.
'''Type:''' integer
'''Default:''' 60


== g_censorXP==
== g_censorXP==


'''Description:'''
The amount of XP to lose as a censor penalty. Only works if bitflag 16 is added to g_censorPenalty.
'''Type:''' integer
'''Default:''' 5


= Voting =
= Voting =


== g_voting ==
== g_voting ==
'''Description:'''
Control's voting behaviour.
'''Type:''' bitmask
'''Parameters:'''
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:''' 0


== vote_limit==
== vote_limit==
'''Description:'''
This value defines how many votes one player can invoke during one map.
'''Type:''' integer
'''Default:''' 5


== vote_percent==
== vote_percent==
'''Description:'''
The required percentage of yes votes for the vote to pass.
'''Type:''' integer
'''Default:''' 50


== vote_allow_comp==
== vote_allow_comp==
'''Description:'''
Allows voting for competition settings.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_gametype==
== vote_allow_gametype==
'''Description:'''
Allows voting for gametype.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_kick==
== vote_allow_kick==
'''Description:'''
Allows voting for kicking a player.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_map==
== vote_allow_map==
'''Description:'''
Allows voting for map to be played.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_matchreset==
== vote_allow_matchreset==
'''Description:'''
Allows voting for restarting the match.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_mutespecs==
== vote_allow_mutespecs==
'''Description:'''
Allows voting for muting spectators.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_nextmap==
== vote_allow_nextmap==
'''Description:'''
Allows voting for starting the next map in the map rotation.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_pub==
== vote_allow_pub==
'''Description:'''
Allows voting for public game settings.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_referee==
== vote_allow_referee==
'''Description:'''
Allows voting for making a player a referee.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_shuffleteamsxp==
== vote_allow_shuffleteamsxp==
'''Description:'''
Allows voting for shuffling teams based on XP.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_swapteams==
== vote_allow_swapteams==
'''Description:'''
Allows voting for swapping the teams. Allied players go to the axis team and axis players go to the allied team.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_friendlyfire==
== vote_allow_friendlyfire==
'''Description:'''
Allows voting for enabling/disabling friendly fire.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_timelimit==
== vote_allow_timelimit==
'''Description:'''
Allows voting for changing the map time.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_warmupdamage==
== vote_allow_warmupdamage==
'''Description:'''
Allows voting for enabling/disabling/enemies only warmup damage.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_antilag==
== vote_allow_antilag==
'''Description:'''
Allows voting for enabling/disabling antilag.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_balancedteams==
== vote_allow_balancedteams==
'''Description:'''
Allows voting for enabling/disabling balanced teams enforcing.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_muting==
== vote_allow_muting==
'''Description:'''
Allows voting for muting/unmuting a player.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_surrender==
== vote_allow_surrender==
'''Description:'''
Allows voting for surrendering the played map.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_restartcampaign==
== vote_allow_restartcampaign==
'''Description:'''
Allows voting for restarting the campaign.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_nextcampaign==
== vote_allow_nextcampaign==
'''Description:'''
Allows voting for changing the campaign to the next one in the campaign rotation.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_poll==
== vote_allow_poll==
'''Description:'''
Allows making freely written polls using the vote system.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_maprestart==
== vote_allow_maprestart==
'''Description:'''
Allows voting for restarting the played map.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_shufflenorestart==
== vote_allow_shufflenorestart==
'''Description:'''
Allows voting for shuffling teams without restarting the map.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_cointoss==
== vote_allow_cointoss==
'''Description:'''
Allows voting for doing cointoss.
'''Type:''' [0|1]
'''Default:''' 1


== vote_allow_putspec==
== vote_allow_putspec==
'''Description:'''
Allows voting for moving a player to the spectators.
'''Type:''' [0|1]
'''Default:''' 1


== vote_block_maprestart==
== vote_block_maprestart==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for restarting the map allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_matchreset==
== vote_block_matchreset==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for restarting the match allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_shuffleteamsxp==
== vote_block_shuffleteamsxp==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for shuffling the teams allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_shufflenorestart==
== vote_block_shufflenorestart==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for shuffling the teams without restarting the map allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_nextmap==
== vote_block_nextmap==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for starting the next map in the map rotation allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_swapteams==
== vote_block_swapteams==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for swapping the teams allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_surrender==
== vote_block_surrender==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for surrendering the map allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_map==
== vote_block_map==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for played map allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_timelimit==
== vote_block_timelimit==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for changing the map time allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_poll==
== vote_block_poll==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for polls allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_nextcampaign==
== vote_block_nextcampaign==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for next campaign allowed.
'''Type:''' integer
'''Default:''' 300


== vote_block_restartcampaign==
== vote_block_restartcampaign==
'''Description:'''
Defines how many seconds from the beginning of the map is the voting for restarting the campaign allowed.
'''Type:''' integer
'''Default:''' 300


== g_noVoteTime==
== g_noVoteTime==
'''Description:'''
Defines how many seconds must pass between two votes.
'''Type:''' integer
'''Default:''' 0


== g_voteResultsMinLevel==
== g_voteResultsMinLevel==
'''Description:'''
Defines the minimum admin level for the players to see the results of the votes.
'''Type:''' integer
'''Default:''' -1


== g_votedMuteLength==
== g_votedMuteLength==


'''Description:'''
Defines the length in seconds of the mute issued by a passed mute vote. You can use modifiers with this value.
'''Type:''' integer
'''Default:''' 3h


= Weapons, Classes and Skills =
= Weapons, Classes and Skills =


== g_poison ==
== g_poison ==
'''Description:'''
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.
'''Type:''' integer
'''Default:''' 0


== g_poisonFlags ==
== g_poisonFlags ==
'''Description:'''
Controls the effects of g_poison.
'''Type:''' bitmask
'''Parameters:'''
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:''' 7


== g_medics ==
== g_medics ==
'''Description:'''
Controls various aspects of the medic, to nerf or otherwise change their behavior.
'''Type:''' bitmask
'''Parameters:'''
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).
8 Value is not in use.
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 uniform, if the 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)
512 Adrenaline use takes only half of the chargebar.
'''Default:''' 0
== g_adrenDmgReduction ==
'''Description:'''
The percentage damage reduction after injecting adrenaline. g_adrenDmgReduction is now independent percentage of the caused damage that is inflected when the adrenaline is on. 0 means no damage and 100 means full damage from the weapon.
'''Type:''' Integer
'''Default:''' 50


== g_medicHealthRegen==
== g_medicHealthRegen==
'''Description:'''
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).
'''Type:''' [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 ]
'''Parameters:'''
0 3/2
1 2/2
2 2/1
3 2/0
4 1/1
5 1/0
6 0/0
7 0/1
8 0/2
'''Default:''' 0


== g_throwableKnives ==
== g_throwableKnives ==
'''Description:'''
Enable knife throwing. The amount of throwable knives is g_maxKnives - 1. Any non zero value will enable knife throwing.
'''Type:''' [0|1]
'''Default:''' 0


== g_maxKnives ==
== g_maxKnives ==
'''Description:'''
Maximum number of knives a player can posses. Take note that if g_throvableKnives is enabled, the last knife cannot be thrown.
'''Type:''' integer
'''Default:''' 5


== g_knifeChargeTime ==
== g_knifeChargeTime ==
'''Description:'''
How long it takes in milliseconds for the "knife" to charge to the maximum throw speed/force.
'''Type:''' integer
'''Default:''' 800


== g_constructibleXPSharing==
== g_constructibleXPSharing==
'''Description:'''
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.
'''Type:''' [0|1]
'''Default:''' 0


== g_asblock ==
== g_asblock ==
'''Description:'''
Airstrike blocking.
'''Type:''' bitmask
'''Parameters:'''
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:''' 0


== g_panzersSpeed ==
== g_panzersSpeed ==
'''Description:'''
Speed of the panzers. Normal panzer speed is 2500.
'''Type:''' integer
'''Default:''' 2500


== g_panzersGravity ==
== g_panzersGravity ==
'''Description:'''
If set to 1, panzer trajectory will be affected by gravity.
'''Type:''' [0|1]
'''Default:''' 0


== g_dyno==
== g_dyno==
'''Description:'''
Dynamite Behaviour.
'''Type:''' bitmaks
'''Parameters:'''
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 defuse it.
16 Enable dynamite ID. You can see the owner of a dynamite when you point at it.
'''Default:''' 0


== g_canisterKick ==
== g_canisterKick ==
'''Description:'''
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.
'''Type:''' integer
'''Default:''' 0


== g_canisterKickOwner ==
== g_canisterKickOwner ==


== g_reflectFriendlyFire ==
'''Description:'''
 
Kicked Canister Ownership.
 
'''Type:''' [0|1]
 
'''Parameters:'''
 
0 Kicker does not take ownership of the canister.


== g_reflectFFWeapons==
1 Kicker takes ownership of the canister.


== g_friendlyFireOpts ==
'''Default:''' 0


== g_staminaRecharge ==
== g_staminaRecharge ==
'''Description:'''
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.
'''Type:''' float
'''Default:''' 1.0


== g_mineid ==
== g_mineid ==
'''Description:'''
Turns on identification of your teammates landmines.
'''Type:''' [0|1]
'''Default:''' 0


== g_medicSelfhealTime==
== g_medicSelfhealTime==
'''Description:'''
The time in milliseconds that a medic cannot heal himself after being hit.
'''Type:''' integer
'''Default:''' 0


== g_maxPanzerSuicides ==
== g_maxPanzerSuicides ==
'''Description:'''
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)
'''Type:''' integer
'''Default:''' -1


== g_panzerPackDistance ==
== g_panzerPackDistance ==
'''Description:'''
Set the g_packDistance for the medpacks fired by the panzerfaust when g_maxPanzerSuicides is enabled.
Set to 0 to use default (etmain)
'''Type:''' integer
'''Default:''' 0


== g_weapons ==
== g_weapons ==
'''Description:'''
This is meant to match the shrubmod g_weapons cvar.
'''Type:''' bitmask
'''Parameters:'''
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 Players drop all of their ammo when they die, instead of just the ammo that is in the current clip.
8192 "Ammo"/"No ammo" icon is shown for dropped weapons.
16384 Enable fast shooting for Thompson, MP40, PPSh and Sten. 110 ms between shots.
32768 Kill by the shot tripmine is counted for the shooter not the player that planted it.
'''Default:''' 0
'''Changelog:'''
Flag 16384 was added in version 0.6.2.


== g_classWeapons==
== g_classWeapons==
'''Description:'''
This cvar enables certain weapons per class.
'''Type:''' bitmask
'''Parameters:'''
1 Enable PPSH for soldiers
2 Enable PPSH for engineers
4 Enable PPSH for fieldops
8 Enable MP40 and Thompson to be available to both teams in limbo menu
16 Enable MP40 for soldiers.
32 Enable Thompson for soldiers.
'''Default:''' 63
'''Changelog:'''
Flag 8 was added in version 0.6.0.
Flags 16 and 32 were added in version 0.6.2. Also the default value was changed from 15 to 63.


== g_mg42 ==
== g_mg42 ==
'''Description:'''
This cvar controls optional machine gun behaviour.
'''Type:''' bitmask
'''Parameters:'''
1 Machine Guns can make headshots
2 Machine Guns can reload when clip is not empty
'''Default:''' 0


== g_coverts ==
== g_coverts ==
'''Description:'''
Controls various aspects of the Covert Op class.
'''Type:''' bitmask
'''Parameters:'''
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:''' 0


== g_enableTMines ==
== g_enableTMines ==
'''Description:'''
Disables/enables tripmines. Tripmines are available only for engineers.
'''Type:''' [0|1]
'''Default:''' 1
== g_enableDemolition ==
'''Description:'''
Enable Improvised Demolition weapon for soldier class.
Improvised Demolition weapon was introduced in 0.8.0 version of the silEnT mod.
As mentioned in the original WWII Tank-destruction manual, a big charge could be made of 6 stickgrenade heads around one complete grenade, fixed with wire or rope.
The central grenade would make the other 6 grenade detonate as well causing an explosion which could damage the light armoured vehicles.
In silEnT mod this weapon is designed to suit exactly the purpose described above.
To gain the weapon player has to gain 3rd engineer level and 4th soldier level.
'''Type:''' [0|1]
'''Default:''' 1
== g_skills ==
'''Description:'''
Optional skill related flags.
'''Type:''' bitmask
'''Parameters:'''
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:''' 0


== skill_soldier==
== skill_soldier==
'''Description:'''
Customizes the experience points necessary to go up in soldier ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.
You can also grant levels upon connection by 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.
Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.
'''Type:''' string
'''Default:''' "20 50 90 140"


== skill_medic ==
== skill_medic ==
'''Description:'''
Customizes the experience points necessary to go up in medic ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.
You can also grant levels upon connection by 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.
Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.
'''Type:''' string
'''Default:''' "20 50 90 140"


== skill_engineer ==
== skill_engineer ==
'''Description:'''
Customizes the experience points necessary to go up in engineer ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.
You can also grant levels upon connection by 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.
Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.
'''Type:''' string
'''Default:''' "20 50 90 140"


== skill_fieldops ==
== skill_fieldops ==
'''Description:'''
Customizes the experience points necessary to go up in fieldop ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.
You can also grant levels upon connection by 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.
Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.
'''Type:''' string
'''Default:''' "20 50 90 140"


== skill_covertops==
== skill_covertops==
'''Description:'''
Customizes the experience points necessary to go up in covert op ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.
You can also grant levels upon connection by 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.
Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.
'''Type:''' string
'''Default:''' "20 50 90 140"


== skill_battlesense ==
== skill_battlesense ==
'''Description:'''
Customizes the experience points necessary to go up in battle sense ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.
You can also grant levels upon connection by 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.
Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.
'''Type:''' string
'''Default:''' "20 50 90 140"


== skill_lightweapons ==
== skill_lightweapons ==
'''Description:'''
Customizes the experience points necessary to go up in light weapon ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.
You can also grant levels upon connection by 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.
Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.
'''Type:''' string
'''Default:''' "20 50 90 140"


== g_panzersVulnerable==
== g_panzersVulnerable==


'''Description:'''


= Weapon Damage and Radius Settings =
If set to 1, panzers that are shot in mid-air will explode.
 
'''Type:''' [0|1]
 
'''Default:''' 0
 
 
== g_maxMarkers ==
 
'''Description:'''
 
Defines how many danger zones can be marked by the covert ops.
 
Danger zones were introduced in 0.7.0 version of the silEnT mod. They can be marked by Covert Ops to indicate that some area can be considered dangerous. Such area is then visible on the command map as the red circle zone. Additionally, when the Command Post is built, players are notified by sound and visual signs about entering the danger zone. Players can customize the way they are notified via the HUD editor and the silEnT customize HUD menu.
 
To mark the danger zone Covert Ops needs to look through his binoculars and press the left mouse button (attack button). The same way Field Ops calls for an airstrike.
 
To disable the feature set the g_maxMarkers to 0.
 
'''Type:''' Integer
 
'''Default:''' 2
 
'''Minimum required version:''' 0.7.0
 
= Friendly Fire =
 
== g_friendlyFire  ==
 
'''Description:'''
 
To enable / disable friendly fire on server.&nbsp;
 
'''Type''': [0|1]
 
'''Default''': 0
 
== g_friendlyFireOpts ==
 
'''Description:'''
 
Allows greater control over friendly fire events.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
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
 
16 Tripmines ALWAYS damage teammates regardless of g_friendlyfire setting
 
32 Only engineer that planted the landmine can trigger/defuse it (concerns team landmines only). This flag requires that the flag 4 is set.
 
'''Default:''' 0
 
'''Changelog:'''
 
Flag 32 was added in version 0.5.1.
 
 
== g_reflectFriendlyFire ==
 
'''Description:'''


== g_dmgKnife ==
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.


== g_dmgSten ==
A value of 1.0 would reflect full damage.


== g_dmgFG42 ==
A value of 0.5 would reflect half damage.


== g_dmgPisto==
Set to 0 to disable reflected friendly fire.


== g_dmgSMG ==
'''Type:''' float


== g_dmgMG42 ==
'''Default:''' 0.0


== g_dmgMG ==
== g_reflectFFWeapons ==


== g_dmgFG42Scope==
'''Description:'''


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


== g_dmgSniper ==
'''Type:''' bitmask


== g_dmgFlamer ==
'''Parameters:'''


== g_dmgGrenade==
1 Enable reflected damage for Firearms (all types of guns)


== g_dmgGrenadeRadius ==
2 Enable reflected damage for Grenades and grenade launchers


== g_dmgGLauncher ==
4 Enable reflected damage for Knives (includes thrown knives)


== g_dmgGLauncherRadius ==
8 Enable reflected damage for Panzers


== g_dmgTMine==
16 Enable reflected damage for Flamethrowers


== g_dmgLandmine ==
32 Enable reflected damage for Mortars


== g_dmgLandmineRadius ==
64 Enable reflected damage for Satchel Charges


== g_dmgSatchel ==
128 Enable reflected damage for Artillery and Air Strikes


== g_dmgSatchelRadius==
256 Enable reflected damage for Dynamite and Construction Damage


== g_dmgPanzer ==
512 Enable reflected damage for Landmines


== g_dmgPanzerRadius ==
'''Default:''' 31


== g_dmgMortarRadius==
'''Note:'''


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


== g_dmgDynamiteRadius ==
== g_teamDamageRestriction ==


== g_dmgAir ==
'''Description:'''


== g_dmgAirRadius==
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.


== g_dmgArty ==
'''Type:''' integer


== g_dmgArtyRadius ==
'''Default:''' 0


== g_dmg ==
== g_minHits ==


== g_dmgHeadShotMin==
'''Description:'''


== g_dmgHeadShotRatio ==
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.


== g_knifeThrowDamage ==
'''Type:''' integer


== g_dmgPPSh==
'''Default:''' 6


= Hitboxes, Physics & Anti Lag Settings =
= Hitboxes, Physics & Anti Lag Settings =


== g_antilagDelay ==
== g_antilagDelay ==
'''Description:'''
Manually delay the antilag of every player on the server. Might give very weird behaviour, so use at own risk.
'''Type:''' integer
'''Default:''' 0


== g_fixedphysics==
== g_fixedphysics==
'''Description:'''
Creates a smoother movement when enabled.
'''Type:''' [0|1]
'''Default:''' 0


== g_fixedphysicsfps ==
== g_fixedphysicsfps ==
'''Description:'''
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.
'''Type:''' integer
'''Default:''' 125
'''Note:'''
This doesn't actually change the framerates in clients, so the clients can keep their own framerates.


== g_antiwarp==
== g_antiwarp==


== g_realHead==
'''Description:'''
 
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.
 
'''Type:''' [0|1]
 
'''Default:''' 1
 
== g_realBody ==
 
'''Description'''
 
If server admin sets this, the player hitboxes are adjusted smaller and harder to hit. Value 0 corresponds to the hitboxes used up to 0.5.0.
 
'''Parameters:'''
 
0 Hitboxes used up to 0.5.0
 
1 Use smaller hitboxes
 
'''Default:''' 0
 
'''Minimum required version:''' 0.5.1
 
'''Note'''
 
To see the differences in the hitboxes, use g_debughitboxes server cvar. Do note that this kind of testing should not be done with many players because it will cause huge amount of lag.


== g_skipCorrection ==
== g_skipCorrection ==
'''Description:'''
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.
'''Type:''' [0|1]
'''Default:''' 0


== g_maxWarp ==
== g_maxWarp ==


= Miscallenous =
'''Description:'''
 
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.
 
'''Type:''' integer
 
'''Default:''' 4
 
= Fun Wars and Crazy Settings =
 
== g_panzerwar==
 
'''Description:'''
 
Enables/Disables Panzerwar. 1 is enabled, 0 is disabled.
 
'''Type:''' [0|1]
 
'''Default:''' 0
 
== g_sniperwar ==
 
'''Description:'''
 
Enables/Disables Sniperwar. 1 is enabled, 0 is disabled.
 
'''Type:''' [0|1]
 
'''Default:''' 0
 
== g_riflewar ==
 
'''Description:'''
 
Enables/Disables Riflewar. 1 is enabled, 0 is disabled.
 
'''Type:''' [0|1]
 
'''Default:''' 0
 
== g_min_crazyspeed ==
 
'''Description:'''
 
Set minimum speed for !crazyspeed command.
 
'''Type:''' Integer
 
'''Default:''' 200
 
'''Minimum required version:''' 0.7.0
 
== g_max_crazyspeed ==
 
'''Description:'''
 
Set maximum speed for !crazyspeed command.
 
'''Type:''' Integer
 
'''Default:''' 540
 
'''Minimum required version:''' 0.7.0
 
== g_min_crazygravity ==
 
'''Description:'''
 
Set minimum speed for !crazygravity command.
 
'''Type:''' Integer
 
'''Default:''' 10
 
'''Minimum required version:''' 0.7.0
 
== g_max_crazygravity ==
 
'''Description:'''
 
Set max speed for !crazygravity command.
 
'''Type:''' Integer
 
'''Default:''' 1200
 
'''Minimum required version:''' 0.7.0
 
= Watermark =
 
== g_watermark==
 
'''Description:'''
 
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. The silEnT watermark is "logo_silent.tga".
 
'''Type:''' string
 
'''Default:''' ""
 
== g_watermarkFadeAfter ==
 
'''Description:'''
 
When g_watermark is set, the watermark will fade out after [integer] number of seconds.
 
'''Type:''' integer
 
'''Default:''' 0
 
== g_watermarkFadeTime ==
 
'''Description:'''
 
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.
 
'''Type:''' integer
 
'''Default:''' 0
 
= Hitsounds =
 
== g_hitsounds ==
 
'''Description:'''
 
Server side hitsound options.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
1 Enable hitsounds
 
2 Disable hitsounds when shooting wounded players
 
4 Disable the headshot sound when shooting wounded player in the head. (default hitsound will be used in it's place)
 
8 Enable warning sound from hitting team mates
 
16 Disable hitsounds from poison damage
 
32 Disable hitsounds from explosive weapons
 
'''Default:''' 1
 
'''Note:'''
 
A client can disable hitsounds with cg_hitSounds client cvar. Also an option to play only headshots is available.
 
== g_defaultHitSounds ==
 
'''Description:'''
 
Selects the default hit sounds on the server. Starting from silEnT 0.6.0, it is possible for the players to choose what kind of hit sounds are played. If the client cvar cg_hitSoundType is 0, the g_defaultHitSounds determines what type of hit sounds are used. Also, if the client cvar cg_hitSoundType is 0, the server may also add custom hit sound files in a custom pk3 file. These sounds are automatically loaded if available. However, if the client cvar cg_hitSoundType is 1, 2 or 3, the client will use strictly the hit sounds they have selected. Custom hit sounds are placed to the root folder "sounds/hitsounds" in the custom pk3. They must never overload any of the files in the subfolders, silent, etpro or etpub.
 
'''Type:''' [0|1|2|3]
 
'''Parameters:'''
 
0 No selection, will default to silEnT in the client end.
 
1 Defaults silEnT hitsounds.
 
2 Defaults ETPro hitsounds.
 
3 Defaults ETPub hitsounds.
 
'''Default:''' 1
 
'''Minimum required version:''' 0.6.0
 
= Intermission =
 
== g_intermissionTime ==
 
'''Description:'''
 
Set the length of time the end of game screens displays before loading the next map.
 
'''Type:''' integer
 
'''Default:''' 60
 
== g_intermissionReadyPercent ==
 
'''Description:'''
 
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.
 
'''Type:''' integer
 
'''Default:''' 100
 
= Miscellaneous =
 
== g_proneDelay ==
 
'''Description:'''
 
If set, there will be 1750 ms delay after every prone or getting up before the player can prone or get up again. Also, weapon spread will be maxed for 1 second after proning.
 
'''Type:''' [0|1]
 
'''Parameters:'''
 
'''Default:''' 0
 
== g_realPlayTime ==
 
'''Description:'''
 
Show additional real play time of the payer (without spec time) in the debriefing screen at the end of the map.
For instance: 6/10 would mean that player played 6 minutes, was on the server for 10 minutes and 4 minutes was in spec.
 
'''Type:''' [0|1]
 
'''Parameters:'''
 
'''Default:''' 1
 
'''Minimum required version:''' 0.6.0
 
== g_extraStatistics ==
 
'''Description:'''
 
Additional statistics over the end game awards.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
1 Player with most mine kills
 
2 Player with most mine damage inflicted
 
4 Player with most knife kills
 
8 Player with most gibs
 
16 Player with most artillery kills
 
32 Player with most airstrike kills
 
'''Default:''' 0


== g_packDistance ==
== g_packDistance ==
'''Description:'''
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.
'''Type:''' integer
'''Default:''' 0


== g_dropHealth ==
== g_dropHealth ==
'''Description:'''
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.
'''Type:''' integer
'''Default:''' 0


== g_dropAmmo ==
== g_dropAmmo ==
'''Description:'''
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.
'''Type:''' integer
'''Default:''' 0


== g_tossDistance==
== g_tossDistance==


== g_intermissionTime ==
'''Description:'''
 
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.


== g_intermissionReadyPercent ==
'''Type:''' integer


== g_skills ==
'''Default:''' 0


== g_misc==
== g_misc==
'''Description'''
Miscellaneous options.
'''Parameters'''
Type: '''bitmask'''
1 Enable double jump.
2 Enable binoc master competition. Requires g_weapons 64 to be set.
4 When a player is killed he can see the HP the killer has left.
8 Disable self damage.
16 Players can not jump if stamina is too low.
32 Enable Jaymod style doublejump.
64 Disable Falling Damage.
128 Announce revives.
256 Setting this flag disables the "First Blood" announcement.
512 Full body predict. This makes it harder to get inside for example walls and stones. Same as ETPub g_misc 32 + 256. Do note that this can cause problems when proning through windows and similar narrow passages
1024 Enable the enemy team objective carry indicator.
'''Default:''' 0
'''Changelog:'''
* Flag 1024 was added in version 0.8.2.


== g_moverScale ==
== g_moverScale ==
'''Description:'''
Multiply the speed of movers (e.g. tanks) by float.
'''Type:''' float
'''Default:''' 1.0


== g_slashKill==
== g_slashKill==
'''Description:'''
Controls the behavior of the /kill command. See also g_fear and g_maxSelfkills.
'''Type:''' bitmask
'''Parameters:'''
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
'''Default:''' 0


== g_maxSelfkills ==
== g_maxSelfkills ==
'''Description:'''
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.
'''Type:''' integer
'''Default:''' -1


== g_ammoCabinetTime ==
== g_ammoCabinetTime ==
'''Description:'''
The time between ammo cabinet regenerations in milliseconds.
'''Type:''' integer
'''Default:''' 60000


== g_healthCabinetTime ==
== g_healthCabinetTime ==
'''Description:'''
The time between health cabinet regenerations in milliseconds.
'''Type:''' integer
'''Default:''' 10000


== g_spectator==
== g_spectator==
'''Description:'''
Controls spectator behaviour.
'''Type:''' bitmask
'''Parameters:'''
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:''' 0


== g_truePing ==
== g_truePing ==
'''Description:'''
Allows players to see how much their local game is behind the top time (the time of the latest server frame). Pings will show around 50 ms better than if the ping would show network latency, but it's more accurate. Remember that the server is sending a snapshot to players in every 50 ms. This makes the players to inherenty play in the past from the server point of view.
'''Type:''' [0|1]
'''Default:''' 0


== g_dropObj ==
== g_dropObj ==
'''Description:'''
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.
'''Type:''' integer
'''Default:''' 0


== g_doubleJumpHeight ==
== g_doubleJumpHeight ==
'''Description:'''
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.
'''Type:''' float
'''Default:''' 1.4


== g_serverInfo==
== g_serverInfo==
'''Description:'''
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.
'''Type:''' bitmask
'''Parameters:'''
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 &quot;xx,yy&quot;.  Only works if you have g_gametype set to 4.
16 The class charge times will not be present in the server info string unless this flag is set. They are 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.
'''Default:''' 1
'''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. 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.


== g_fear ==
== g_fear ==


== g_inactivity ==
'''Description:'''
 
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.
 
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.


== g_spectatorInactivity==
Set this to 0 to disable this behaviour.


== g_gametype ==
'''Type:''' integer


== g_spoofOptions ==
'''Default:''' 2000


== g_maxNameChanges ==
== g_maxNameChanges ==
'''Description:'''
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.
'''Type:''' integer
'''Default:''' 3


== g_disableComplaints ==
== g_disableComplaints ==


== g_watermark==
'''Description:'''
 
Disable teamkill complaints for some weapons.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
1 Landmines
 
2 Artillery and airstrikes


== g_watermarkFadeAfter ==
4 Mortar


== g_watermarkFadeTime ==
8 Dynamite


== g_panzerwar==
16 Tripmines


== g_sniperwar ==
32 Completely


== g_riflewar ==
'''Default:''' 0


== g_countryFlags ==
== g_countryFlags ==
'''Description:'''
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
'''Type:''' [0|1]
'''Default:''' 1
== g_incognitoCountryFlag ==
'''Description:'''
Defines the country flag to be used for the incognito admin. If the incognito admin joins the server, the country flag set by this cvar is displayed for him. Please check this table silEnT geoIP countries to check what to use as the value. GeoIP has to be enabled for this cvar to work, please read: g_countryFlags. To disable set to -1.
'''Type:''' [-1|255]
'''Default:''' -1


== g_noSkillUpgrades==
== g_noSkillUpgrades==
'''Description:'''
When set to 1, disables player skill upgrades.
'''Type:''' [0|1|2]
0 No skill locking.
1 Lock skills.
2 Lock skills and hide all HUD elemnts that would show the skill levels.
'''Default:''' 0
'''Change Log:'''
Starting from silEnT version 0.6.0, this cvar will lock the skills to the always enabled levels. See the skill_x cvars. Also, it is possible to hide the skill levels from the player HUDs setting this cvar to value 2.


== g_flushItems ==
== g_flushItems ==
'''Description:'''
Evens the dropped items out with the surface.
'''Type:''' [0|1]
'''Default:''' 1


== g_maxConnsPerIP ==
== g_maxConnsPerIP ==
'''Description:'''
Maximum number of connections allowed from one particular IP. This prevents the fake clients Denial of Service attack.
'''Type:''' integer
'''Default:''' 4


== shoutcastPassword ==
== shoutcastPassword ==
'''Description:'''
Enables shoutcaster status on the server.
'''Type:''' string
'''Default:''' "none"


== g_headshot==
== g_headshot==
'''Description:'''
Controls additional head shot options.
'''Type:''' bitmask
'''Parameters:'''
1 Headshots only
2 Instagib damage (controlled by g_instagibDamage)
'''Default:''' 0


== g_instagibDamage ==
== g_instagibDamage ==


== g_inactivityOptions ==
'''Description:'''
 
Damage used for instagib mode (e.g. set this to 160 so that a player can still be revived after being shot.).
 
'''Type:''' integer
 
'''Default:''' 400


== g_ettvFlags ==
== g_ettvFlags ==
'''Description:'''
Controls additional ETTV options.
'''Type:''' bitmask
'''Parameters:'''
1 Prevent ettv slaves from being callvote kicked
2 Grant shoutcaster status to ettv slaves
'''Default:''' 3


== g_mode==
== g_mode==


== g_hitsounds ==
'''Description:'''
 
Controls some additional modes for fun or for testing.
 
'''Type:''' bitmask
 
'''Parameters:'''
 
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:''' 0


== g_playDead ==
== g_playDead ==
'''Description:'''
Allows players to use the 'playdead' command and their character will act like it is dead until the playdead command is used again (or they really die).
'''Type:''' [0|1]
'''Default:''' 0


== g_shove ==
== g_shove ==
'''Description:'''
Allows players to push other players with the "use" key.  The integer adjusts the amount of force players shove with. 80 seems fair.
'''Type:''' integer
'''Default:''' 80


== g_shoveNoZ==
== g_shoveNoZ==
'''Description:'''
Set this to 1 if you want to disable shove in the up/down direction (a.k.a "boosting").
'''Type:''' [0|1]
'''Default:''' 1


== g_dragCorpse ==
== g_dragCorpse ==
'''Description:'''
Allows players do drag wounded players with the use key when moving backward slowly.  Works best when crouching or prone.
'''Type:''' [0|1]
'''Default:''' 0


== g_classChange ==
== g_classChange ==
'''Description:'''
Allows players to take the class of a gibbed teammate temporarily similarly to how a covert steals an uniform.  Class changing does not latch, so the original class the player had will be restored on respawn.
'''Type:''' [0|1]
'''Default:''' 0


== g_forceLimboHealth ==
== g_forceLimboHealth ==
'''Description:'''
If set to 0 it takes about 3 shots to gib a wounded player, if set to 1 it takes about 5.
'''Type:''' [0|1]
'''Default:''' 1


== g_goomba==
== g_goomba==
'''Description:'''
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
'''Type:''' integer
'''Default:''' 0


== g_goombaFlags ==
== g_goombaFlags ==
'''Description:'''
Controls the way g_goomba is handled.
'''Type:''' bitmask
'''Parameters:'''
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.
'''Default:''' 0
'''Note:'''
Set this to 31 to have g_goomba work like shrubet.


== g_spawnInvul ==
== g_spawnInvul ==
'''Description:'''
The number of seconds players will be invincible after they spawn.
'''Type:''' integer
'''Default:''' 3


== g_spawnInvulFair ==
== g_spawnInvulFair ==
'''Description:'''
Removes the spawn protection when the player fires his first shot (note : the spawn protection will still be removed after the g_spawnInvul time)
'''Type:''' [0|1]
'''Default:''' 1


== g_spinCorpse==
== g_spinCorpse==
'''Description:'''
Allow players to use +left and +right binds to spin their corpse when dead or playing dead.
'''Type:''' [0|1]
'''Default:''' 0


== g_teamChangeKills ==
== g_teamChangeKills ==
'''Description:'''
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.
'''Type:''' [0|1]
'''Default:''' 1
== g_maxIgnoresPerMap ==
'''Description:'''
The maximum number of times one player can ignore another player during one map. This can prevent spamming other players with the ignore command. The value can be between 0 and 255. Any value higher than 255 will always allow ignoring. Any value below 1 will disable ignoring completely.
'''Type:''' Integer
'''Default:''' 2
'''Minimum required version:''' 0.7.0


= Logs =
= Logs =


== g_logOptions==
== g_logOptions==
'''Description:'''
This is meant to match the shrubmod g_logOptions cvar, but so far the only implemented flags are:
'''Type:''' bitmask
'''Parameters:'''
1 Server outputs obituaries to chat.
2 Adrenaline countdown displayed.
4 Disable display of tap-out confirmation box.
8 Display connection attempts by banned players.
16 Display gib reports ("&lt;victim&gt; was gibbed by &lt;attacker&gt;").
32 Omit "item" lines from log file.
64 Report gibs.
128 GUID's are logged in the game log. Note, if this option is enabled the VSP log parser will not work.
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.
1024 This flag allows logging every player drop. It can be usefull for inspecting the server operation, but it will also cause lot of needless log writes.
2048 Unused.
4096 Log client cvar values.
8192 Log cvar values only when found from the client. Note that flag 4096 must also be set if using this flag.
16384 Admin log will use new format that is more readable.
'''Default:''' 0
'''Change log:'''
0.6.3 - Flags 4096 and 8192 were added.
0.8.0 - Flag 16384. When this flag is set, the admin log will use new format.


== g_logAdmin==
== g_logAdmin==


'''Description:'''
The name of the file that all shrubbot commands will be logged to. For example, g_logAdmin "admin.log".
'''Type:''' string
'''Default:''' ""
== g_cheatLog ==
'''Description:'''
The name of the file, where all cheat related prints are logged. If this is not specified, server log is used.
'''Type:''' string
'''Default:''' ""


= Omni-Bots =
= Omni-Bots =


== omnibot_enable ==
== omnibot_enable ==
 
'''Description:'''
 
When set to 1, Omni-bot functionality is enabled. You still need to have Omni-bots installed correctly in order for the bots to work.
 
'''Type:''' [0|1]
 
'''Default:''' 1


== omnibot_path ==
== omnibot_path ==
'''Description:'''
The path where the Omni-bot dll/so file is installed. If you installed Omni-bot to the default locations, then you do not need to modify this cvar. Leaving this cvar blank will search for the Omni-bot dll/so file from the default locations.
'''Type:''' string
'''Default:''' ""


== g_bot_maxXP ==
== g_bot_maxXP ==


== g_bot_minPlayers==
'''Description:'''
 
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
 
'''Type:''' integer
 
'''Default:''' -1


== omnibot_flags==
== omnibot_flags==


'''Description:'''
Customizes bot management/behavior.
'''Type:''' bitmask
'''Parameters:'''
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:''' 0


= Lua =
= Lua =


== lua_modules==
== lua_modules==
'''Description:'''
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 found at http://wolfwiki.anime.net/index.php/Lua_Mod_API.
'''Type:''' string
'''Default:''' ""


== lua_allowedModules==
== lua_allowedModules==
'''Description:'''
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).
'''Type:''' string
'''Default:''' ""
= Weapon Damage and Radius Settings =
== g_dmg ==
'''Description:'''
Enables experimental advanced combat options.
'''Type:''' bitmask
'''Parameters:'''
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:''' 0
== g_dmgHeadShotMin==
'''Description:'''
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)
'''Type:''' integer
'''Default:''' 50
== g_dmgHeadShotRatio ==
'''Description:'''
This specifies the multiplier used for headshots that do damage ABOVE g_dmgHeadShotMin.
'''Type:''' float
'''Default:''' 2.0
== g_dmgKnife ==
'''Description:'''
Amount of damage done by the knife.
'''Type:''' integer
'''Default:''' 10
== g_dmgSten ==
'''Description:'''
Amount of damage done by the sten.
'''Type:''' integer
'''Default:''' 14
== g_dmgFG42 ==
'''Description:'''
Amount of damage done by the FG-42.
'''Type:''' integer
'''Default:''' 15
== g_dmgPistol==
'''Description:'''
Amount of damage done by the pistol weapons.
'''Type:''' integer
'''Default:''' 18
== g_dmgSMG ==
'''Description:'''
Amount of damage done by the SMG weapons (Thompson and MP-40).
'''Type:''' integer
'''Default:''' 18
== g_dmgMG42 ==
'''Description:'''
Amount of damage done by the MG42.
'''Type:''' integer
'''Default:''' 18
== g_dmgMG ==
'''Description:'''
Amount of damage done by an emplaced MG.
'''Type:''' integer
'''Default:''' 20
== g_dmgFG42Scope==
'''Description:'''
Amount of damage done by the FG-42 when scoped.
'''Type:''' integer
'''Default:''' 30
== g_dmgInfRifle ==
'''Description:'''
Amount of damage done by unscoped rifles (K43 and Garand).
'''Type:''' integer
'''Default:''' 34
== g_dmgSniper ==
'''Description:'''
Amount of damage done by a scoped Garand or K43.
'''Type:''' integer
'''Default:''' 50
== g_dmgFlamer ==
'''Description:'''
Amount of damage done by the 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.
'''Type:''' integer
'''Default:''' 5
== g_dmgGrenade==
'''Description:'''
Amount of damage done by a grenade.
'''Type:''' integer
'''Default:''' 250
== g_dmgGrenadeRadius ==
'''Description:'''
Blast radius of a grenade.
'''Type:''' integer
'''Default:''' 250
== g_dmgGLauncher ==
'''Description:'''
Amount of damage done by an engineer's grenade-launcher grenades.
'''Type:''' integer
'''Default:''' 250
== g_dmgGLauncherRadius ==
'''Description:'''
Blas radius of an engineer's grenade-launcher grenades.
'''Type:''' integer
'''Default:''' 250
== g_dmgTMine==
'''Description:'''
Amount of damage done by a tripmine.
'''Type:''' integer
'''Default:''' 260
== g_dmgLandmine ==
'''Description:'''
Amount of damage done by a landmine.
'''Type:''' integer
'''Default:''' 250
== g_dmgLandmineRadius ==
'''Description:'''
Blast radius of a landmine.
'''Type:''' integer
'''Default:''' 250
== g_dmgSatchel ==
'''Description:'''
Amount of damage done by a satchel.
'''Type:''' integer
'''Default:''' 250
== g_dmgSatchelRadius==
'''Description:'''
Blast radius of a satchel.
'''Type:''' integer
'''Default:''' 250
== g_dmgPanzer ==
'''Description:'''
Amount of damage done by a panzerfaust rocket.
'''Type:''' integer
'''Default:''' 400
== g_dmgPanzerRadius ==
'''Description:'''
Blast radius of a panzerfaust rocket.
'''Type:''' integer
'''Default:''' 300
== g_dmgMortar==
'''Description:'''
Amount of damage done by a mortar round.
'''Type:''' integer
'''Default:''' 400
== g_dmgMortarRadius==
'''Description:'''
Blast radius of a mortar round.
'''Type:''' integer
'''Default:''' 400
== g_dmgDynamite ==
'''Description:'''
Amount of damage done by a dynamite.
'''Type:''' integer
'''Default:''' 400
== g_dmgDynamiteRadius ==
'''Description:'''
Blast radius of a dynamite.
'''Type:''' integer
'''Default:''' 400
== g_dmgAir ==
'''Description:'''
Amount of damage done PER BOMB by an airstrike.
'''Type:''' integer
'''Default:''' 400
== g_dmgAirRadius==
'''Description:'''
Blast radius PER BOMB of an airstrike.
'''Type:''' integer
'''Default:''' 400
== g_dmgArty ==
'''Description:'''
Amount of damage done PER BOMB by artillery fire. If this value is non-zero, the spotting round will follow normal ET behaviour (can do damage, but to a very small radius, making damage unlikely)
'''Type:''' integer
'''Default:''' 400
== g_dmgArtyRadius ==
'''Description:'''
Blast radius PER BOMB of artillery fire. If this value is non-zero, the spotting round will follow normal ET behaviour. The spotting round can do damage, but to a very small radius making damage unlikely.
'''Type:''' integer
'''Default:''' 400
== g_dmgDemolition ==
'''Description:'''
Amount of damage done by Improvised Demolition.
'''Type:''' integer
'''Default:''' 1100
== g_dmgDemolitionRadius ==
'''Description:'''
Blast radius of Improvised Demolition.
'''Type:''' integer
'''Default:''' 250
== g_knifeThrowDamage ==
'''Description:'''
The amount of damage a thrown knife will cause to enemy.
'''Type:''' integer
'''Default:''' 50
== g_dmgPPSh==
'''Description:'''
The amount of damage done by a PPSh.
'''Type:''' integer
'''Default:''' 19
= Debugging =
== g_debugBullets ==
''' Description:'''
If this cvar is set, server will produce debug information of fired bullets. Enabling g_debugBullets require sv_cheats to be set.
'''Type:''' integer
'''Parameters:'''
If 1 is set as if the cvar was a bitmask, blue lines for the fired shots is enabled. With any positive value, server will print impact area on the hit player to the center of the screen. Possibilities are "Head Shot", "Body Shot", "Leg Shot" and "Arm Shot". If the value is set to 2 or more, the bounding box of the hit player is drawn. If the value is set to 3 or more, the hit player head box is drawn. If the value is set to -2 or smaller, boxes are drawn to impacted surfaces.
'''Default: 0
== g_debugDamage ==
''' Description:'''
If this cvar is set, damage inflicted to players is logged into the server log. Enabling this cvar requiers sv_cheats to be set.
'''Type:''' [0|1]
'''Default:''' 0
== g_debugHitboxes ==
'''Description:'''
If this cvar is enabled, hit boxes around the players are drawn. This cvar does not require sv_cheats. However, do note that if this is enabled, the server will produce constant flow of extra entities, which will make playing impossible on a live server. Test this with only couple players to prevent everyone from lagging out.
'''Type:''' integer
'''Parameters:'''
If this cvar is set to any positive value, boxes are drawn. If the value is set to 8 or more, it will draw only the boxes that are used for the initial trace. Each bullet causes two traces to happen, where the second trace confirms the impact on the more refined area of the player body, such as head or legs.
= Deprecated Cvars =
== g_realHead==
'''Description'''
Enable ETPro headboxes.
'''Type:''' [0|1]
'''Parameters:'''
0 Regular headbox positions.
1 Server tracks the animations so the headbox will match the playermodels exactly. This is the recommended value.
'''Default:''' 1
'''Note:'''
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.
'''Change log:'''
:* 0.5.1 - The option was removed. The ETPro headboxes are always used.
== g_spoofOptions ==
'''Description:'''
Options for PunkBuster GUID and IP spoof detections and behaviour.
'''Type:''' bitmask
'''Parameters:'''
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.)
'''Default:''' 3
'''Note:'''
Do NOT change this CVAR unless you encounter problems!
'''Change Log:'''
This cvar was removed in version 0.5.1 and spoofing is checked unconditionally in 0.5.1 and later versions.

Latest revision as of 13:02, 18 September 2015

silEnT Mod Anti Cheat

g_silentac

Description

Enables actions based on silEnT AntiCheat. The g_cheatLog will always have one line telling if a player is found with cheats. The cheat detection's are based mostly on heuristically detecting hacking techniques. If you suspect a false positive, please supply the silEnT team a method to reproduce it. Do note that this feature has been in extensive testing well before the 0.8.0 version. When silEnT AC is set to autoban busted players, sv_sac cvar auto changes it value to 1. sv_sac is read only variable. This cvar can be used by external server trackers to enable/disable server anti cheat status on their lists. We recommend setting the value to 2.

Type: [0|1|2]

Parameters:

1 Show player AntiCheat status in the !finger output.

2 Automatically ban players for 365 days with cheats.

Default: 0

Minimum required version: 0.8.0

g_clientBinaries

Description:

silEnT mod can be configured to not allow players with unknown client binaries to play on the server. This cvar controls the server behaviour when the client binary is not one of the recognized ones.

List of recognized binaries:

  • Official client binaries
  • Binary edited executables from etmaster.net
  • Equivalent to etmaster.net binary edited executables from BigBear
  • ETPatchSelector binaries
  • Official ET Legacy b4
  • Official ET Legacy b5
  • Many ET Legacy binaries including RC1 versions.

Type: bitmask

Parameters:

1 Don't allow players with unknown client executables.
2 Log unknown executables to the g_cheatLog. Note, if the server does not allow unknown client binaries the log message will be different for message.
4 Report unknown executables to admin chat. Note, if the server does not allow unknown client binaries the players will not be reported to admin chat.

Default: 0

Minimum required version: 0.5.2

Changelog:

0.6.2 - If the flag 4 is set, known cheat binaries are clearly reported to the admin chat.

g_identOptions

Description:

Starting from version 0.3.0, the silEnT mod can be configured to enforce bans using hardware based identification. This is not any fool proof system but it is made to be an addition to the already existing ban methods. The hardware identification cannot be seen in human readable form by admins while on the server. The data that is sent to the server can be seen in the client by writing /cg_ident to the console. The result is a hexadecimal string that changes its value between maps. The format and data used to create the client identification may change between different versions of the silEnT mod. The server can be configured with the g_identOptions server cvar.

Type: bitmask

Parameters:

1 Kick clients that are spoofing the client identification to enter the server

2 Kick clients that are not sending the identification to the server

4 Enforce bans using the identification

8 Report all actions taken based on client identification to the adminchat

16 If a player is caught of circumventing a ban, a new ban is created with for it. The ban reason will have additional (Automated copy of a ban for xxxxxxxx) where xxxxxxxx is replaced with the 8 character PB GUID of the old ban.

Default: 0

g_ssDirectory

Description

Officially since 0.9.0. This cvar is required for the Screenshot System (SS) to work correctly. It defines where to store the screenshots. Create "screenshot" folder under silent mod folder and add set g_ssDirectory "screenshot" in your server config. All of screenshots of players will go under this folder.

Type: [string]

Default:

Minimum required version: 0.9.0

Announcements and Messages

g_privateMessages

Description:

If set to 1, players can send private messages to one another with the /m playername/slot command.

Type: [0|1]

Parameters:

0 Disable Private Messages

1 Enable Private messages

Default: 0

Note: Clients can reject private message from other individual clients with the /ignore client command. Also, private messages can be disabled from individuals/levels using shrubbot flag '/'.

g_spreeOptions

Description:

Options to control the display of killingsprees.

Type: bitmask

Parameters:

1 Enable killingsprees

2 Enable killingspree ends

4 Enable multikills

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

Default: 0

g_multikillTime

Description:

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

Type: integer
Default: 1000

g_obituary

Description:

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.

Type: [0|1]

Default: 1

g_dropMsg

Description:

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

Type: String

Default: " "

Example: g_dropMsg "Please protest ban on forums"

g_landmineNotifyType

Description:

Decide which landmine reveal notifications server should send. 

Server can send two types of landmines reveal notification. Standard one, generated (sent) for each landmine revealed and summary one, which is sent after player spotting landmines stops using binoculars. It's generated after each binculars zoom.

Type: [0|1|2|3]

Parameters:

0 Only standard notfications (for each landmine revealed).

1 Only single summary notifications for one binocs zoom. New type of notification. For example: during one binocs zoom, 3 mines were revealed, but only 1 summary notification is sent. It contains information: 3 mines spotted by "player name" and last one was in location "some location".

2 Don't send any landmine notifications.

3 Send all notifications. For example: for 3 spotted landmines send 4 notifications (3 for each landmine + 1 summary notification).

Default: 3

Recommended: 1

g_banners

Description:

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

Type: string

Default: ""

Example:
set g_banners "banners.cfg"

Minimum required version: 0.4.0

g_recognition

Description:

Enables additional recognition notifications for players doing objective, e.g. for planting dynamite, disarming it, destroying objective.

Type: [0|1]

Parameters:

0 Additional recognition notifications disabled.

1 Additional recognition notifications enabled.

Default: 1

User Database, Shrubbot and Bans

g_dbDirectory

Description:

If this cvar is set, the server stores various information about server statistics, map information, sprees, users, bans and XP save to the location pointed by this cvar. The directory defined by this cvar is relative to the fs_game directory. Absolute paths can not be used. All the used file names in the g_dbDirectory are predefined, and cannot be changed. For security reasons, this cvar must be set during server initialization. (i.e. It can not be changed while the server is running.) The following files are stored into this directory:

  • userdb.db - This is a binary format file that contains all the basic information about shrubbot users and also all saved XP if the server is set to save XP
  • userxdb.db - This is a binary format file that contains information related to players playing on the server
  • useradb.db - This is a binary format file that contains player aliases.
  • serverstat.cfg; This is a human readable file that contain server statistics and map sprees if the server is set to store them
  • shrubbot.cfg - This is a human readable file that contain level configurations, custom commands and bans. This file is auto-created if it does not exist and used functionality requires it, but admins usually to edit this file for the configuration of their server.
  • mapvoteinfo.cfg - This file contains information relating g_gametype 6, which is map voting.


All the required files will be created automatically to the directory when needed if the files don't already exist. silEnT mod will not overwrite userdb.db, userxdb.db or useradb.db files if files with those names exist, but the files are not suitable for use. In such case, the server log will have information about the failure to open the file and features requiring the missing files are disabled.

You can freely edit the human readable files by hand as long as their correct format remains. The shrubbot.cfg can be edited even while the server is running as long as the !readconfig shrubbot command is run before the map changes. Otherwise the changes to the file will be lost. If you want to hand edit the contents of the serverstat.cfg or mapvoteinfo.cfg files, the server must be shutdown to not lose the changes.

Type: string

Default: "database"

Note:

The server reads the value of this cvar from the config file only during the server start, or alternatively from the server start command parameters. It cannot be changed using RCON. 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.

g_dbUserMaxAge

Description:

The number of seconds that player is saved to the database since the player has last visited on the server.

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

Type: integer

Default: 0

Note:

The server reads the value of this cvar only from the config file executed before the mod launches the first time or from the command line. It cannot be edited using RCON.

g_dbMaxAliases

Description:

The silEnT mod can store player aliases in an additional database. To enable this database, set this value to higher then 0. If this value is a positive integer, it defines how many aliases are stored in the database for one player. If the player has more aliases then this value, the oldest aliases are deleted.

Type: integer

Default: 0

Minumum required version: 0.6.0

Note:

This cvar can be set only at startup, before the mod launches. It cannot be changed on a live server using rcon.

g_minCommandWaitTime

Description:

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

Type: integer

Default: 0

g_tyranny

Description:

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.

Type: [0|1]

Default: 1

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

g_warningOptions

Description:

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

Type: bitmask

Parameters:

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: 0

g_maxWarnings

Description:

The ammount of warnings that can be stored for 1 player.

Type: integer

Default: 3

g_warningDecay

Description:

The time in hours that a warning will be stored.

Type: integer

Default: 24

g_autoTempBan

Description:

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

Type:bitmask

Parameters:

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: 0

Changelog:

Specifically in version 0.5.0, this feature is bugged and can cause broken shrubbot.cfg.

g_autoTempBanTime

Description:

The number of seconds kicked for when g_autoTempBan is set.

Type: integer

Default: 1800

g_minConnectLevel

Description:

The minimum shrubbot adminlevel required for players to be able to connect.

Type: integer

Default: 0

Note:

This only works for positive levels, any value <= 0 will allow everyone to connect. Bots won't be able to connect either.

g_greetingPos

Description:

Location where the shrubbot greetings are displayed.

Type: [0|1|2|3|4]

Parameters:

0 Chat area

1 Center of screen

2 Left notification area

3 Top of the screen

4 Console only

Default: 0

g_adminProtection

Description:

Starting from silEnT 0.5.0, admins levels can be protected against spoofing. The protection works by establishing trust between the client and the server. The trust must be confirmed by an online human admin for the new trusted admins to gain access to their assigned level. Specific command !confirm is used for it. Do note that establishing the trust between the server and the player is not the same as assigning admin level. In fact, anyone who is capable of recognizing the real admin can be safely allowed to use the !confirm command. The !setlevel command will automatically establish the trust if the admin level protection is enabled and the level is above or equal to the g_protectMinLevel. The admin protection is designed so that only the important admin levels are protected. This mean that levels above the g_protectMinLevel require established trust between the server and the client. Normal guests do not need this. It is also advisable to not set the g_protectMinLevel too low to avoid server load with these admins.

The trust needs to be established only once. After that, the client and the server can negotiate the confirmation silently.

Technical Details:

The trust is established using one-way hashes. When the !setlevel or !confirm is used on a player, the server generates 2 unique 32 character long values. Both of these values are stored both in the client (silent.dat) and the server database. Their meanings are server identification and a client key.

Authentication negotiation:

1. When the player next time connects to the server, the server sends one of the stored values as server identification and another, newly generated random 32 character value, to initiate the negotiation.

2. The client will use the server identification value it received from the server to match with the key value associated with the server identification. It will hash the 32 character key value with the supplied random 32 character value and send the result back to the server.

3. The server, knowing both values, the client key and the random character string it sent, can compare the hash against a hash it generates itself with the same values.

4. If the hashes match (one supplied from client and the one it just generated), the client is authenticated to his admin level.

Type: bitmask

Parameters:

1 Log succesfull authentications to the cheat log

2 Log admin spoofing attempts to the cheat log

4 Report admins waiting for confirmation on their level to the admin chat

Default: 7

Minimum required version: 0.5.0

g_protectMinLevel

Description:

Starting from silEnT 0.5.0, admins can be protected against spoofing. The protection works by establishing trust between the client and the server if the admin level is higher then the g_protectMinLevel. Setting this to -1 will disable the freature. Do note that when you enable the feature, noone has yet established trust with the server and the first one to have it, must be confirmed by an rcon command. Either !setlevel if the database still doesn't have admins or !confirm if the admin has been set in the database already.

Type: integer

Default: -1

Minimum required version: 0.5.0

g_muteRename

Description:

If this cvar is set to 1 the muted player won't be allowed to change his name while he is muted.

Type: integer

Parameters:

0 Disabled. Allow players to change his/her name while he/she is muted.

1 Don't allow player to change his/her name while he/she is muted.

Default: 0

Minimium required version: 0.8.0

XP Save

g_XPSave

Description:

Controls XP save behaviours.

Type: bitmask

Parameters:

1 Store xp when a client disconnects. This is always required for the XP save to work.

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 disconnected downloads.

16 Store the XP at restarts, nextmaps, mapvotes, campaignvotes and similar cases.

Default: 0

g_XPSaveMaxAge_xp

Description:

The number of seconds that must pass without saving XP from this player before XPSave forgets his/her xp skills. Admins can adjust the amount of required XP to save with g_XPSaveMinXP server cvar.

You can use a modifier with 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

Type: integer

Default: 1d

Note: If g_XPSaveMaxAge is less than g_XPSaveMaxAge_xp, g_XPSaveMaxAge will be used.

g_XPSaveMaxAge

Description:

The number of seconds that must pass without saving XP from this player before XPSave forgets his/her skills/killrating/playerrating/mute status. Admins can adjust the amount of required XP to save with g_XPSaveMinXP server cvar.

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

Type: integer

Default: 1w

g_resetXPMapCount

Description:

How many maps occur before XP is reset. If g_XPSave flag 4 is set, g_resetXPMapCount is ignored.

Note: This setting is only valid when the g_gametype is 6 (see Map Voting)

Type: integer

Default: 0

g_XPSaveMinXP

Description:

The increment of XP during one map that is required for the XP gained during the map to get saved and the time of the latest XP save to get updated. The silEnT mod separates the XP save and the connection times so that players who visit spectators without playing will not be removed by the g_dbUserMaxAge but can still lose their stored XP if they do not play. Admins can adjust the requirement with this value. Using -1 will disable the requirement and XP save will consider every connection valid for the XP save. Using value 0, will consider XP save valid if the player has gained even 1 XP point during the map. Please note that the value is only for one map and using high values may cause some players to not achieve enough XP to get their XP updated. Also note, that this does not prevent SMG weapon statistics or rating values to get updated into the database.

Type: integer

Default: -1

Minimum required version: 0.5.0

g_maxXP

Description:

This is a vicious cvar that will reset a players XP once their overall XP score reaches it.

Set this to -1 to disable it.


Type: integer

Default: -1

g_maxXPResetWarn

Description:

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.

Type: integer

Default: 0

g_damageXP

Description:

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

Type: [0|1|2]

Parameters:

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: 0

g_damageXPLevel

Description:

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

Type: integer

Default: 50

g_XPDecay

Description:

This is a bitmask that controls the XP decay feature.

See also g_XPDecayRate.

Type: bitmask

Parameters:

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.

Default: 0

g_XPDecayRate

Description:

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.

You can use a modifier with 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

Type: float

Default: 0.0

g_XPDecayFloor

Description:

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.

Type: float

Default: 0.0


Flood Protection

g_floodprotect

Description:

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.

Type: [0|1]

Default: 1

g_floodthreshold

Description:

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

Type: Integer

Default: 6

g_floodWait

Description:

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.

Type: integer

Default: 1000

g_voiceChatsAllowed

Description:

The number of voicechats allowed in minute.

Type: integer

Default: 4

Player Statistics, Rating and Team Balance

g_stats

Description:

This is a bitflag cvar used to control the way statistics are handled.

Type: bitmask

Parameters:
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.

Default: 0
Note: Set this to 3 to use the behaviour of etmain and shrubet.

g_playerRating_minplayers

Description:

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

Type: integer

Default: 8

g_shuffle_rating

Description:

Sets the rating system used by shuffle.

Type: [ 1 | 2 | 3 | 4 | 5 ]
Parameters:

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

Default: 3

g_killRating

Description:

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.

See also g_shuffle_rating.

Type: bitmask

Parameters:

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.
8 Disable kill rating from the score board. This can prevent players from playing for higher kill rating alone. This does not prevent the "killrating" client command enabled with flag 2 from working.


Default: 3

g_playerRating

Description:

When not set to non zero positive value, silEnT 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).

See also g_shuffle_rating.

Type: bitmask

Parameters:

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.

Default: 3

g_unevenTeamDiff

Description:

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

Type: integer

Default: 0

Example: Set to 0 to disable this feature

g_unevenTeamFreq

Description:

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

Type: integer

Default: 30

Class and Weapon Restrictions

g_medicChargeTime

Description:

The base time in milliseconds for how long it takes to fully recharge the medic charge bar. Skill upgrades affect this value during the game.

Type: integer

Default: 45000

g_engineerChargeTime

Description:

The base time in milliseconds for how long it takes to fully recharge the engineer charge bar. Skill upgrades affect this value during the game.

Type: integer

Default: 30000

g_LTChargeTime

Description:

The base time in milliseconds for how long it takes to fully recharge the field ops charge bar. Skill upgrades affect this value during the game.

Type: integer

Default: 40000

g_soldierChargeTime

Description:

The base time in milliseconds for how long it takes to fully recharge the soldier charge bar. Skill upgrades affect this value during the game.

Type: integer

Default: 20000

g_covertopsChargeTime

Description:

The base time in milliseconds for how long it takes to fully recharge the covert ops charge bar. Skill upgrades affect this value during the game.

Type: integer

Default: 30000

team_maxPanzers

Description:

Server cvars team_maxPanzers, team_maxMortars, team_maxFlamers, team_maxMG42s, team_maxGrenLaunchers have identical behaviour. 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 1:

set team_maxPanzers "2"

This will limit each team to 2 panzerfaust soldiers, regardless of how many players are in the team

Example 2:

set team_maxPanzers "10%"

This will limit each team to having only 10% of their players as panzerfaust soldiers, and a team with few players (for example, 5) will be able to have 1 panzerfaust soldier. They will be able to have their second panzerfaust soldier when they have 11 players on the team.

Example 3:

set team_maxPanzers "10%-"

This will limit each team to having only 10% of their players as panzerfaust soldiers, and a team will not be able to have any panzerfaust soldiers until there are 10 players in the team. They will be able to have their second panzerfaust soldier when there are 20 players in the team.

Set this to -1 to disable limits

Type: integer

Default: -1

team_maxMortars

Description:

Server cvars team_maxMortars, team_maxFlamers, team_maxMG42s, team_maxGrenLaunchers have identical behaviour. 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 1:

set team_maxMortars "2"

This will limit each team to 2 mortar soldiers, regardless of how many players are on the team.

Example 2:

set team_maxMortars "10%"

This will limit each team to having only 10% of their players as mortar soldiers, and a team with few players (for example, 5) will be able to have 1 mortar soldier. They will be able to have their second mortar soldier when they have 11 players in the team.

Example 3:

set team_maxMortars "10%-"

This will limit each team to having only 10% of their players as mortar soldiers, and a team will not be able to have any mortar soldiers until there are 10 players in the team. They will be able to have their second mortar soldier when there are 20 players on the team.

Set this to -1 to disable limits

Type: integer
Default: -1

team_maxFlamers

Description:

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 1:

set team_maxFlamers "2"

This will limit each team to 2 flamethrower soldiers, regardless of how many players are on the team

Example 2:

set team_maxFlamers "10%"

This will limit each team to having only 10% of their players as flamethrower soldiers, and a team with too few players (for example, 5) will be able to have 1 flamethrowe soldier. They will be able to have their second flamethrowe soldier when they have 11 players on the team.

Example 3:

set team_maxFlamers "10%-"

This will limit each team to having only 10% of their players as flamethrower soldiers, and a team will not be able to have any flamethrower soldiers until there are 10 players in the team. They will be able to have their second flamethrower when there are 20 players in the team.


Set this to -1 to disable limits

Type: integer
Default: -1

team_maxMG42s

Description:

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 1:

set team_maxMG42s "2"

This will limit each team to 2 MG42 soldiers, regardless of how many players are in the team

Example 2:

set team_maxMG42s "10%"

This will limit each team to having only 10% of their players as MG42 soldiers, and a team with too few players (for example, 5) will be able to have 1 MG42 soldier. They will be able to have their second MG42 soldier when they have 11 players on the team.

Example 3:

set team_maxMG42s "10%-"

This will limit each team to having only 10% of their players as MG42 soldiers, and a team will not be able to have any MG42 soldiers until there are 10 players in the team. They will be able to have their second MG42 soldier when there are 20 players in the team.

Set this to -1 to disable limits

Type: integer
Default: -1

team_maxGrenLaunchers

Description:

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 1:

set team_maxGrenLaunchers "2"

This will limit each team to 2 grenade launchers, regardless of how many players are in the team

Example 2:

set team_maxGrenLaunchers "10%"

This will limit each team to having only 10% of their players playing with grenade launchers, and a team with too few players (for example, 5) will be able to have 1 grenade launcher. They will be able to have their second grenade launcher when they have 11 players in the team.

Example 3:

set team_maxGrenLaunchers "10%-"

This will limit each team to having only 10% of their players playing with grenade launchers, and a team will not be able to have any grenade launchers until there are 10 players in the team. They will be able to have their second grenade launcher when there are 20 players in the team.

Set this to -1 to disable limits

Type: integer
Default: -1

team_maxMedics

Description:

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 1:

set team_maxMedics "5"

This will limit each team to 5 medics, regardless of how many players are in the team

Example 2:

set team_maxMedics "15%"

This will limit each team to having only 15% of their players as medics, and a team with too 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 in the team.

Example 3:

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 in the team.

Set this to -1 to disable limits.

Type: string

Default: -1

team_maxEngineers

Description:

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 1:

set team_maxEngineers "5"

This will limit each team to 5 engineers, regardless of how many players are in the team

Example 2:

set team_maxEngineers "15%"

This will limit each team to having only 15% of their players as engineers, and a team with too few players (for example, 3) will be able to have 1 engineer. They will be able to have their second engineer when they have 7 players in the team.

Example 3:

set team_maxEngineers "15%-"

This will limit each team to having only 15% of their players as engineers, and a team will not be able to have engineers until there are 7 players in the team. They will be able to have their second engineer when there are 14 players in the team.

Set this to -1 to disable limits.

Type: string

Default: -1

team_maxFieldOps

Description:

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 1:

set team_maxFieldOps "5"

This will limit each team to 5 field opses, regardless of how many players are in the team

Example 2:

set team_maxFieldOps "15%"

This will limit each team to having only 15% of their players as field opses, and a team with too few players (for example, 3) will be able to have 1 field ops. They will be able to have their second field ops when they have 7 players in the team.

Example 3:

set team_maxFieldOps "15%-"

This will limit each team to having only 15% of their players as field opses, and a team will not be able to have field opses until there are 7 players in the team. They will be able to have their second field ops when there are 14 players in the team.

Set this to -1 to disable limits.

Type: string

Default: -1

team_maxCovertOps

Description:

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 1:

set team_maxCovertOps "5"

This will limit each team to 5 covert opses, regardless of how many players are in the team

Example 2:

set team_maxCovertOps "15%"

This will limit each team to having only 15% of their players as coert opses, and a team with too few players (for example, 3) will be able to have 1 covert ops. They will be able to have their second covert ops when they have 7 players in the team.

Example 3:

set team_maxCovertOps "15%-"

This will limit each team to having only 15% of their players as covert opses, and a team will not be able to have covert opses until there are 7 players in the team. They will be able to have their second covert ops when there are 14 players in the team.

Set this to -1 to disable limits.

Type: string

Default: -1

g_minAirstrikeTime

Description:

The time (in seconds) that must elapse between airstrikes PER TEAM.

Type: integer

Default: 10

g_minArtyTime

Description:

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.

Type: integer

Default: 10

g_maxTeamLandmines

Description:

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

Type: integer

Default: 10

g_maxTeamTripmines

Description:

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

Type: integer

Default: 3

g_minGameClients

Description:

The number of clients needed to start a match.

Type: integer

Default: 0

g_maxGameClients

Description:

The maximum allowed amount of active clients.

Type: integer

Default: 0

Player Inactivity

g_inactivity

Description:

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

Type: integer

Default: 0

g_spectatorInactivity

Description:

The number of seconds of player inactivity as spectator before the player is kicked/dropped from server.

Type: integer

Default: 0

g_inactivityOptions

Description:

Controls additional inactivity options.

Type: bitmask

Parameters:

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: 3


Gametypes

g_gametype

Description:

Please see Map Voting.

Type: [2|3|4|5|6|7]

Parameters:

2 Objective

3 Stopwatch

4 Campaign

5 Last Man Standing

6 Map Voting

7 Team Death Match

Default: 4

Campaign

Objective

Last Man Standing

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


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


g_mapVoteFlags

Description: This cvar controls the behaviour of the map voting.

Type: bitmask

Parameters:

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

Default: 0

g_maxMapsVotedFor

Description:
How many maps are available to players for voting upon during intermission.
Only valid when g_gametype is 6 (see Map Voting)

Type: integer

Default: 6

g_minMapAge

Description:

How long a map is ineligible for voting during intermission, after it is played last time.
Only valid when g_gametype is 6 (see Map Voting)

Type: integer

Default: 3

g_includedMaps

Description:

Used to include map regardless of any other restrictions. Including g_excludedMaps setting. The format is ":map1:map2:map3:", where mapX is the .bsp name. Note that each mapname must be fully surrounded by ":" or otherwise the map will be ignored in the list. Only valid when map voting is enabled.

Type: string

Default: ""

Minimum required version: 0.6.2

g_excludedMaps

Description:

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)

Type: string

Default: ""

Example: To exclude railgun and battery maps from map voting use below command:
set g_excludedMaps ":railgun:battery:"

Team Death Match (TDM)

g_TDMType

Description:

The type of the played Team Death Match.

Type: [ 1 | 2 | 3 ]

Parameters:

1 Map ends only when timelimit hits

2 Map ends when either the target score is reached or the timelimit hits

3 Map ends only when the target score is reached

Default: 0

g_TDMOptions

Description:

Possible options for the played Team Death Match.

Type: bitmask

Parameters:

1 Map voting is enabled during the intermission (i.e. The players vote for the next map to play during the intermission.)

2 Completing the map objective will give the team score bonus that is controlled by the g_TDMObjBonus server cvar

4 Teams get negative points when they do selfkills or teamkills

8 Players cannot selfkill during the TDM. Regardless of other selfkill settings the server has configured

Default: 5

g_TDMScore

Description:

This is the target score the teams attempt to make to win the game in TDM game types 2 and 3.

Type: integer

Default: 100

g_TDMObjBonus

Description:

This is the value that is added to the team score if the team completes the map objective. Adding the bonus does not depend of the TDM type.

Type: integer

Default: 20

Mapconfigs and Mapscripts

g_mapConfigs

Description:

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_homepath).

Starting from silEnT version 0.5.2, admins can add settings that are executed for specific player amounts. The commands are enclosed in [players low-high] ... [/players] blocks. The low is the lowest amount of players for those settings and high is the maximum amount of players for those settings. For example:

[players 0-10]
set team_maxPanzers 0
[/players]

will disable panzerfaust when player amount is less or equal to 10. The blocks can be placed anywhere in the map config files. If the block is closed with [/players], the following commands do not depend on the player amounts. The player blocks can not be nested. If two player blocks follow each other, the second definition opens a new one and the old one closes. For example:

[players 0-15]
set g_excludedMaps ":mlb_temple:"
[players 16-*]
set g_excludedMaps ":adlernest:"
[/players]

will exclude map MLB Temple if the player amount is less or equal to 15 and exclude map Adlernest if the player amount is 16 or more. The player amount counting is controlled with g_playerCounting server cvar.

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. Player blocks are not used with vote_X.cfg files.

Type: string

Default: ""

g_mapScriptDirectory

Description:

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. Setting g_mapScriptDirectory to "" disables any use of map .script files.

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.

Type: string

Default: ""

g_campaignFile

Description:

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.

Type: string

Default: ""

g_playerCounting

Description

This cvar controls how the player amount is calculated for the mapconfigs. The player amount value is the highest number of simultaneously fully connected players during the map or warmup. The player counting can be disabled from the warmup period. If the player counting is enabled during the warmup, the players are counted right at the end of the warmup. This allows the teams to stabilize after intermission. Similarly the counting is triggered always with a 3 second delay from the change in the teams. Team changes include players joining the server and staying in the spectators.

Type: bitmask

Parameters:

1 Enable filtering. This will add the 2 latest values together and divide them by 2.

2 No player counting during warmup.

4 Count spectators into players. Without this flag, only players in the playing teams are counted.

8 Bots are not included into the player count.

Default: 1

Censoring

g_censor

Description:

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

Type: string

Default: ""

g_censorNames

Description:

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

Type: string

Default: ""

g_censorPenalty

Description:

This controls the censoring behaviour.

Type: bitmask

Parameters:

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

Default: 0

Note:

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

g_censorNeil

Description:

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

Type: [0|1]

Default: 0

g_censorNeilNames

Description:

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

Type: [0|1]

Default: 0

g_censorMuteTime

Description:

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

Type: integer

Default: 60

g_censorXP

Description:

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

Type: integer

Default: 5

Voting

g_voting

Description:

Control's voting behaviour.

Type: bitmask

Parameters:

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: 0

vote_limit

Description:

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

Type: integer

Default: 5

vote_percent

Description:

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

Type: integer

Default: 50

vote_allow_comp

Description:

Allows voting for competition settings.

Type: [0|1]

Default: 1

vote_allow_gametype

Description:

Allows voting for gametype.

Type: [0|1]

Default: 1

vote_allow_kick

Description:

Allows voting for kicking a player.

Type: [0|1]

Default: 1

vote_allow_map

Description:

Allows voting for map to be played.

Type: [0|1]

Default: 1

vote_allow_matchreset

Description:

Allows voting for restarting the match.

Type: [0|1]

Default: 1

vote_allow_mutespecs

Description:

Allows voting for muting spectators.

Type: [0|1]

Default: 1

vote_allow_nextmap

Description:

Allows voting for starting the next map in the map rotation.

Type: [0|1]

Default: 1

vote_allow_pub

Description:

Allows voting for public game settings.

Type: [0|1]

Default: 1

vote_allow_referee

Description:

Allows voting for making a player a referee.

Type: [0|1]

Default: 1

vote_allow_shuffleteamsxp

Description:

Allows voting for shuffling teams based on XP.

Type: [0|1]

Default: 1

vote_allow_swapteams

Description:

Allows voting for swapping the teams. Allied players go to the axis team and axis players go to the allied team.

Type: [0|1]

Default: 1

vote_allow_friendlyfire

Description:

Allows voting for enabling/disabling friendly fire.

Type: [0|1]

Default: 1

vote_allow_timelimit

Description:

Allows voting for changing the map time.

Type: [0|1]

Default: 1

vote_allow_warmupdamage

Description:

Allows voting for enabling/disabling/enemies only warmup damage.

Type: [0|1]

Default: 1

vote_allow_antilag

Description:

Allows voting for enabling/disabling antilag.

Type: [0|1]

Default: 1

vote_allow_balancedteams

Description:

Allows voting for enabling/disabling balanced teams enforcing.

Type: [0|1]

Default: 1

vote_allow_muting

Description:

Allows voting for muting/unmuting a player.

Type: [0|1]

Default: 1

vote_allow_surrender

Description:

Allows voting for surrendering the played map.

Type: [0|1]

Default: 1

vote_allow_restartcampaign

Description:

Allows voting for restarting the campaign.

Type: [0|1]

Default: 1

vote_allow_nextcampaign

Description:

Allows voting for changing the campaign to the next one in the campaign rotation.

Type: [0|1]

Default: 1

vote_allow_poll

Description:

Allows making freely written polls using the vote system.

Type: [0|1]

Default: 1

vote_allow_maprestart

Description:

Allows voting for restarting the played map.

Type: [0|1]

Default: 1

vote_allow_shufflenorestart

Description:

Allows voting for shuffling teams without restarting the map.

Type: [0|1]

Default: 1

vote_allow_cointoss

Description:

Allows voting for doing cointoss.

Type: [0|1]

Default: 1

vote_allow_putspec

Description:

Allows voting for moving a player to the spectators.

Type: [0|1]

Default: 1

vote_block_maprestart

Description:

Defines how many seconds from the beginning of the map is the voting for restarting the map allowed.

Type: integer

Default: 300

vote_block_matchreset

Description:

Defines how many seconds from the beginning of the map is the voting for restarting the match allowed.

Type: integer

Default: 300

vote_block_shuffleteamsxp

Description:

Defines how many seconds from the beginning of the map is the voting for shuffling the teams allowed.

Type: integer

Default: 300

vote_block_shufflenorestart

Description:

Defines how many seconds from the beginning of the map is the voting for shuffling the teams without restarting the map allowed.

Type: integer

Default: 300

vote_block_nextmap

Description:

Defines how many seconds from the beginning of the map is the voting for starting the next map in the map rotation allowed.

Type: integer

Default: 300

vote_block_swapteams

Description:

Defines how many seconds from the beginning of the map is the voting for swapping the teams allowed.

Type: integer

Default: 300

vote_block_surrender

Description:

Defines how many seconds from the beginning of the map is the voting for surrendering the map allowed.

Type: integer

Default: 300

vote_block_map

Description:

Defines how many seconds from the beginning of the map is the voting for played map allowed.

Type: integer

Default: 300

vote_block_timelimit

Description:

Defines how many seconds from the beginning of the map is the voting for changing the map time allowed.

Type: integer

Default: 300

vote_block_poll

Description:

Defines how many seconds from the beginning of the map is the voting for polls allowed.

Type: integer

Default: 300

vote_block_nextcampaign

Description:

Defines how many seconds from the beginning of the map is the voting for next campaign allowed.

Type: integer

Default: 300

vote_block_restartcampaign

Description:

Defines how many seconds from the beginning of the map is the voting for restarting the campaign allowed.

Type: integer

Default: 300

g_noVoteTime

Description:

Defines how many seconds must pass between two votes.

Type: integer

Default: 0

g_voteResultsMinLevel

Description:

Defines the minimum admin level for the players to see the results of the votes.

Type: integer

Default: -1

g_votedMuteLength

Description:

Defines the length in seconds of the mute issued by a passed mute vote. You can use modifiers with this value.

Type: integer

Default: 3h

Weapons, Classes and Skills

g_poison

Description:

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.

Type: integer

Default: 0

g_poisonFlags

Description:

Controls the effects of g_poison.

Type: bitmask

Parameters:

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

g_medics

Description:

Controls various aspects of the medic, to nerf or otherwise change their behavior.

Type: bitmask

Parameters:

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

8 Value is not in use.

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 uniform, if the 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)

512 Adrenaline use takes only half of the chargebar.

Default: 0

g_adrenDmgReduction

Description: The percentage damage reduction after injecting adrenaline. g_adrenDmgReduction is now independent percentage of the caused damage that is inflected when the adrenaline is on. 0 means no damage and 100 means full damage from the weapon.

Type: Integer

Default: 50

g_medicHealthRegen

Description:

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

Type: [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 ]

Parameters:

0 3/2

1 2/2

2 2/1

3 2/0

4 1/1

5 1/0

6 0/0

7 0/1

8 0/2

Default: 0

g_throwableKnives

Description:

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

Type: [0|1]

Default: 0

g_maxKnives

Description:

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

Type: integer

Default: 5

g_knifeChargeTime

Description:

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

Type: integer

Default: 800

g_constructibleXPSharing

Description:

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.

Type: [0|1]

Default: 0

g_asblock

Description:

Airstrike blocking.

Type: bitmask

Parameters:

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: 0

g_panzersSpeed

Description:

Speed of the panzers. Normal panzer speed is 2500.

Type: integer

Default: 2500

g_panzersGravity

Description:

If set to 1, panzer trajectory will be affected by gravity.

Type: [0|1]

Default: 0

g_dyno

Description:

Dynamite Behaviour.

Type: bitmaks

Parameters:

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 defuse it.

16 Enable dynamite ID. You can see the owner of a dynamite when you point at it.

Default: 0

g_canisterKick

Description:

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.

Type: integer

Default: 0

g_canisterKickOwner

Description:

Kicked Canister Ownership.

Type: [0|1]

Parameters:

0 Kicker does not take ownership of the canister.

1 Kicker takes ownership of the canister.

Default: 0

g_staminaRecharge

Description:

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.

Type: float

Default: 1.0

g_mineid

Description:

Turns on identification of your teammates landmines.

Type: [0|1]

Default: 0

g_medicSelfhealTime

Description:

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

Type: integer

Default: 0

g_maxPanzerSuicides

Description:

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)

Type: integer

Default: -1

g_panzerPackDistance

Description:

Set the g_packDistance for the medpacks fired by the panzerfaust when g_maxPanzerSuicides is enabled.

Set to 0 to use default (etmain)

Type: integer

Default: 0

g_weapons

Description:

This is meant to match the shrubmod g_weapons cvar.

Type: bitmask

Parameters:

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 Players drop all of their ammo when they die, instead of just the ammo that is in the current clip.

8192 "Ammo"/"No ammo" icon is shown for dropped weapons.

16384 Enable fast shooting for Thompson, MP40, PPSh and Sten. 110 ms between shots.

32768 Kill by the shot tripmine is counted for the shooter not the player that planted it.

Default: 0

Changelog:

Flag 16384 was added in version 0.6.2.

g_classWeapons

Description:

This cvar enables certain weapons per class.

Type: bitmask

Parameters:

1 Enable PPSH for soldiers

2 Enable PPSH for engineers

4 Enable PPSH for fieldops

8 Enable MP40 and Thompson to be available to both teams in limbo menu

16 Enable MP40 for soldiers.

32 Enable Thompson for soldiers.

Default: 63

Changelog:

Flag 8 was added in version 0.6.0.

Flags 16 and 32 were added in version 0.6.2. Also the default value was changed from 15 to 63.

g_mg42

Description:

This cvar controls optional machine gun behaviour.

Type: bitmask

Parameters:

1 Machine Guns can make headshots

2 Machine Guns can reload when clip is not empty

Default: 0

g_coverts

Description:

Controls various aspects of the Covert Op class.

Type: bitmask

Parameters:

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: 0

g_enableTMines

Description:

Disables/enables tripmines. Tripmines are available only for engineers.

Type: [0|1]

Default: 1

g_enableDemolition

Description:

Enable Improvised Demolition weapon for soldier class. Improvised Demolition weapon was introduced in 0.8.0 version of the silEnT mod. As mentioned in the original WWII Tank-destruction manual, a big charge could be made of 6 stickgrenade heads around one complete grenade, fixed with wire or rope. The central grenade would make the other 6 grenade detonate as well causing an explosion which could damage the light armoured vehicles.

In silEnT mod this weapon is designed to suit exactly the purpose described above. To gain the weapon player has to gain 3rd engineer level and 4th soldier level.

Type: [0|1]

Default: 1

g_skills

Description:

Optional skill related flags.

Type: bitmask

Parameters:

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: 0

skill_soldier

Description:

Customizes the experience points necessary to go up in soldier ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.

You can also grant levels upon connection by 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.

Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.

Type: string

Default: "20 50 90 140"

skill_medic

Description:

Customizes the experience points necessary to go up in medic ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.

You can also grant levels upon connection by 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.

Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.

Type: string

Default: "20 50 90 140"

skill_engineer

Description:

Customizes the experience points necessary to go up in engineer ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.

You can also grant levels upon connection by 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.

Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.

Type: string

Default: "20 50 90 140"

skill_fieldops

Description:

Customizes the experience points necessary to go up in fieldop ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.

You can also grant levels upon connection by 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.

Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.

Type: string

Default: "20 50 90 140"

skill_covertops

Description:

Customizes the experience points necessary to go up in covert op ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.

You can also grant levels upon connection by 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.

Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.

Type: string

Default: "20 50 90 140"

skill_battlesense

Description:

Customizes the experience points necessary to go up in battle sense ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.

You can also grant levels upon connection by 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.

Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.

Type: string

Default: "20 50 90 140"

skill_lightweapons

Description:

Customizes the experience points necessary to go up in light weapon ranks. The setting consist of four space-separated integers indicating the number of XP required to reach 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 player has 10 points.

You can also grant levels upon connection by 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.

Starting from silEnT 0.6.0, this cvar also allows disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1" always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are set to require 0 points to unlock.

Type: string

Default: "20 50 90 140"

g_panzersVulnerable

Description:

If set to 1, panzers that are shot in mid-air will explode.

Type: [0|1]

Default: 0


g_maxMarkers

Description:

Defines how many danger zones can be marked by the covert ops.

Danger zones were introduced in 0.7.0 version of the silEnT mod. They can be marked by Covert Ops to indicate that some area can be considered dangerous. Such area is then visible on the command map as the red circle zone. Additionally, when the Command Post is built, players are notified by sound and visual signs about entering the danger zone. Players can customize the way they are notified via the HUD editor and the silEnT customize HUD menu.

To mark the danger zone Covert Ops needs to look through his binoculars and press the left mouse button (attack button). The same way Field Ops calls for an airstrike.

To disable the feature set the g_maxMarkers to 0.

Type: Integer

Default: 2

Minimum required version: 0.7.0

Friendly Fire

g_friendlyFire

Description:

To enable / disable friendly fire on server. 

Type: [0|1]

Default: 0

g_friendlyFireOpts

Description:

Allows greater control over friendly fire events.

Type: bitmask

Parameters:

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

16 Tripmines ALWAYS damage teammates regardless of g_friendlyfire setting

32 Only engineer that planted the landmine can trigger/defuse it (concerns team landmines only). This flag requires that the flag 4 is set.

Default: 0

Changelog:

Flag 32 was added in version 0.5.1.


g_reflectFriendlyFire

Description:

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.

Type: float

Default: 0.0

g_reflectFFWeapons

Description:

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

Type: bitmask

Parameters:

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: 31

Note:

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

g_teamDamageRestriction

Description:

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.

Type: integer

Default: 0

g_minHits

Description:

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.

Type: integer

Default: 6

Hitboxes, Physics & Anti Lag Settings

g_antilagDelay

Description:

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

Type: integer

Default: 0

g_fixedphysics

Description:

Creates a smoother movement when enabled.

Type: [0|1]

Default: 0

g_fixedphysicsfps

Description:

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.

Type: integer

Default: 125

Note:

This doesn't actually change the framerates in clients, so the clients can keep their own framerates.

g_antiwarp

Description:

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.

Type: [0|1]

Default: 1

g_realBody

Description

If server admin sets this, the player hitboxes are adjusted smaller and harder to hit. Value 0 corresponds to the hitboxes used up to 0.5.0.

Parameters:

0 Hitboxes used up to 0.5.0

1 Use smaller hitboxes

Default: 0

Minimum required version: 0.5.1

Note

To see the differences in the hitboxes, use g_debughitboxes server cvar. Do note that this kind of testing should not be done with many players because it will cause huge amount of lag.

g_skipCorrection

Description:

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.

Type: [0|1]

Default: 0

g_maxWarp

Description:

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.

Type: integer

Default: 4

Fun Wars and Crazy Settings

g_panzerwar

Description:

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

Type: [0|1]

Default: 0

g_sniperwar

Description:

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

Type: [0|1]

Default: 0

g_riflewar

Description:

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

Type: [0|1]

Default: 0

g_min_crazyspeed

Description:

Set minimum speed for !crazyspeed command.

Type: Integer

Default: 200

Minimum required version: 0.7.0

g_max_crazyspeed

Description:

Set maximum speed for !crazyspeed command.

Type: Integer

Default: 540

Minimum required version: 0.7.0

g_min_crazygravity

Description:

Set minimum speed for !crazygravity command.

Type: Integer

Default: 10

Minimum required version: 0.7.0

g_max_crazygravity

Description:

Set max speed for !crazygravity command.

Type: Integer

Default: 1200

Minimum required version: 0.7.0

Watermark

g_watermark

Description:

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. The silEnT watermark is "logo_silent.tga".

Type: string

Default: ""

g_watermarkFadeAfter

Description:

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

Type: integer

Default: 0

g_watermarkFadeTime

Description:

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.

Type: integer

Default: 0

Hitsounds

g_hitsounds

Description:

Server side hitsound options.

Type: bitmask

Parameters:

1 Enable hitsounds

2 Disable hitsounds when shooting wounded players

4 Disable the headshot sound when shooting wounded player in the head. (default hitsound will be used in it's place)

8 Enable warning sound from hitting team mates

16 Disable hitsounds from poison damage

32 Disable hitsounds from explosive weapons

Default: 1

Note:

A client can disable hitsounds with cg_hitSounds client cvar. Also an option to play only headshots is available.

g_defaultHitSounds

Description:

Selects the default hit sounds on the server. Starting from silEnT 0.6.0, it is possible for the players to choose what kind of hit sounds are played. If the client cvar cg_hitSoundType is 0, the g_defaultHitSounds determines what type of hit sounds are used. Also, if the client cvar cg_hitSoundType is 0, the server may also add custom hit sound files in a custom pk3 file. These sounds are automatically loaded if available. However, if the client cvar cg_hitSoundType is 1, 2 or 3, the client will use strictly the hit sounds they have selected. Custom hit sounds are placed to the root folder "sounds/hitsounds" in the custom pk3. They must never overload any of the files in the subfolders, silent, etpro or etpub.

Type: [0|1|2|3]

Parameters:

0 No selection, will default to silEnT in the client end.

1 Defaults silEnT hitsounds.

2 Defaults ETPro hitsounds.

3 Defaults ETPub hitsounds.

Default: 1

Minimum required version: 0.6.0

Intermission

g_intermissionTime

Description:

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

Type: integer

Default: 60

g_intermissionReadyPercent

Description:

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.

Type: integer

Default: 100

Miscellaneous

g_proneDelay

Description:

If set, there will be 1750 ms delay after every prone or getting up before the player can prone or get up again. Also, weapon spread will be maxed for 1 second after proning.

Type: [0|1]

Parameters:

Default: 0

g_realPlayTime

Description:

Show additional real play time of the payer (without spec time) in the debriefing screen at the end of the map. For instance: 6/10 would mean that player played 6 minutes, was on the server for 10 minutes and 4 minutes was in spec.

Type: [0|1]

Parameters:

Default: 1

Minimum required version: 0.6.0

g_extraStatistics

Description:

Additional statistics over the end game awards.

Type: bitmask

Parameters:

1 Player with most mine kills

2 Player with most mine damage inflicted

4 Player with most knife kills

8 Player with most gibs

16 Player with most artillery kills

32 Player with most airstrike kills

Default: 0

g_packDistance

Description:

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.

Type: integer

Default: 0

g_dropHealth

Description:

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.

Type: integer

Default: 0

g_dropAmmo

Description:

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.

Type: integer

Default: 0

g_tossDistance

Description:

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.

Type: integer

Default: 0

g_misc

Description

Miscellaneous options.

Parameters

Type: bitmask

1 Enable double jump.

2 Enable binoc master competition. Requires g_weapons 64 to be set.

4 When a player is killed he can see the HP the killer has left.

8 Disable self damage.

16 Players can not jump if stamina is too low.

32 Enable Jaymod style doublejump.

64 Disable Falling Damage.

128 Announce revives.

256 Setting this flag disables the "First Blood" announcement.

512 Full body predict. This makes it harder to get inside for example walls and stones. Same as ETPub g_misc 32 + 256. Do note that this can cause problems when proning through windows and similar narrow passages

1024 Enable the enemy team objective carry indicator.

Default: 0

Changelog:

  • Flag 1024 was added in version 0.8.2.

g_moverScale

Description:

Multiply the speed of movers (e.g. tanks) by float.

Type: float

Default: 1.0

g_slashKill

Description:

Controls the behavior of the /kill command. See also g_fear and g_maxSelfkills.

Type: bitmask

Parameters:

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

Default: 0

g_maxSelfkills

Description:

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.

Type: integer

Default: -1

g_ammoCabinetTime

Description:

The time between ammo cabinet regenerations in milliseconds.

Type: integer

Default: 60000

g_healthCabinetTime

Description:

The time between health cabinet regenerations in milliseconds.

Type: integer

Default: 10000

g_spectator

Description:

Controls spectator behaviour.

Type: bitmask

Parameters:

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: 0

g_truePing

Description:

Allows players to see how much their local game is behind the top time (the time of the latest server frame). Pings will show around 50 ms better than if the ping would show network latency, but it's more accurate. Remember that the server is sending a snapshot to players in every 50 ms. This makes the players to inherenty play in the past from the server point of view.

Type: [0|1]

Default: 0

g_dropObj

Description:

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.

Type: integer

Default: 0

g_doubleJumpHeight

Description:

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.

Type: float

Default: 1.4

g_serverInfo

Description:

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.

Type: bitmask

Parameters:

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 The class charge times will not be present in the server info string unless this flag is set. They are 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.

Default: 1

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

g_fear

Description:

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.

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.

Type: integer

Default: 2000

g_maxNameChanges

Description:

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.

Type: integer

Default: 3

g_disableComplaints

Description:

Disable teamkill complaints for some weapons.

Type: bitmask

Parameters:

1 Landmines

2 Artillery and airstrikes

4 Mortar

8 Dynamite

16 Tripmines

32 Completely

Default: 0

g_countryFlags

Description:

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

Type: [0|1]

Default: 1

g_incognitoCountryFlag

Description:

Defines the country flag to be used for the incognito admin. If the incognito admin joins the server, the country flag set by this cvar is displayed for him. Please check this table silEnT geoIP countries to check what to use as the value. GeoIP has to be enabled for this cvar to work, please read: g_countryFlags. To disable set to -1.

Type: [-1|255]

Default: -1

g_noSkillUpgrades

Description:

When set to 1, disables player skill upgrades.

Type: [0|1|2]

0 No skill locking.

1 Lock skills.

2 Lock skills and hide all HUD elemnts that would show the skill levels.

Default: 0

Change Log:

Starting from silEnT version 0.6.0, this cvar will lock the skills to the always enabled levels. See the skill_x cvars. Also, it is possible to hide the skill levels from the player HUDs setting this cvar to value 2.

g_flushItems

Description:

Evens the dropped items out with the surface.

Type: [0|1]

Default: 1

g_maxConnsPerIP

Description:

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

Type: integer

Default: 4

shoutcastPassword

Description:

Enables shoutcaster status on the server.

Type: string

Default: "none"

g_headshot

Description:

Controls additional head shot options.

Type: bitmask

Parameters:

1 Headshots only

2 Instagib damage (controlled by g_instagibDamage)

Default: 0

g_instagibDamage

Description:

Damage used for instagib mode (e.g. set this to 160 so that a player can still be revived after being shot.).

Type: integer

Default: 400

g_ettvFlags

Description:

Controls additional ETTV options.

Type: bitmask

Parameters:

1 Prevent ettv slaves from being callvote kicked

2 Grant shoutcaster status to ettv slaves

Default: 3

g_mode

Description:

Controls some additional modes for fun or for testing.

Type: bitmask

Parameters:

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: 0

g_playDead

Description:

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

Type: [0|1]

Default: 0

g_shove

Description:

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

Type: integer

Default: 80

g_shoveNoZ

Description:

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

Type: [0|1]

Default: 1

g_dragCorpse

Description:

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

Type: [0|1]

Default: 0

g_classChange

Description:

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

Type: [0|1]

Default: 0

g_forceLimboHealth

Description:

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

Type: [0|1]

Default: 1

g_goomba

Description:

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

Type: integer

Default: 0

g_goombaFlags

Description:

Controls the way g_goomba is handled.

Type: bitmask

Parameters:

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.

Default: 0

Note:

Set this to 31 to have g_goomba work like shrubet.

g_spawnInvul

Description:

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

Type: integer

Default: 3

g_spawnInvulFair

Description:

Removes the spawn protection when the player fires his first shot (note : the spawn protection will still be removed after the g_spawnInvul time)

Type: [0|1]

Default: 1

g_spinCorpse

Description:

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

Type: [0|1]

Default: 0

g_teamChangeKills

Description:

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.

Type: [0|1]

Default: 1

g_maxIgnoresPerMap

Description:

The maximum number of times one player can ignore another player during one map. This can prevent spamming other players with the ignore command. The value can be between 0 and 255. Any value higher than 255 will always allow ignoring. Any value below 1 will disable ignoring completely.

Type: Integer

Default: 2

Minimum required version: 0.7.0

Logs

g_logOptions

Description:

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

Type: bitmask

Parameters:

1 Server outputs obituaries to chat.

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.

64 Report gibs.

128 GUID's are logged in the game log. Note, if this option is enabled the VSP log parser will not work.

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.

1024 This flag allows logging every player drop. It can be usefull for inspecting the server operation, but it will also cause lot of needless log writes.

2048 Unused.

4096 Log client cvar values.

8192 Log cvar values only when found from the client. Note that flag 4096 must also be set if using this flag.

16384 Admin log will use new format that is more readable.

Default: 0

Change log:

0.6.3 - Flags 4096 and 8192 were added.

0.8.0 - Flag 16384. When this flag is set, the admin log will use new format.

g_logAdmin

Description:

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

Type: string

Default: ""

g_cheatLog

Description:

The name of the file, where all cheat related prints are logged. If this is not specified, server log is used.

Type: string

Default: ""

Omni-Bots

omnibot_enable

Description:

When set to 1, Omni-bot functionality is enabled. You still need to have Omni-bots installed correctly in order for the bots to work.

Type: [0|1]

Default: 1

omnibot_path

Description:

The path where the Omni-bot dll/so file is installed. If you installed Omni-bot to the default locations, then you do not need to modify this cvar. Leaving this cvar blank will search for the Omni-bot dll/so file from the default locations.

Type: string

Default: ""

g_bot_maxXP

Description:

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

Type: integer

Default: -1

omnibot_flags

Description:

Customizes bot management/behavior.

Type: bitmask

Parameters:

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: 0

Lua

lua_modules

Description:

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 found at http://wolfwiki.anime.net/index.php/Lua_Mod_API.

Type: string

Default: ""

lua_allowedModules

Description:

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

Type: string

Default: ""

Weapon Damage and Radius Settings

g_dmg

Description:

Enables experimental advanced combat options.

Type: bitmask

Parameters:

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: 0

g_dmgHeadShotMin

Description:

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)

Type: integer

Default: 50

g_dmgHeadShotRatio

Description:

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

Type: float

Default: 2.0


g_dmgKnife

Description:

Amount of damage done by the knife.

Type: integer

Default: 10

g_dmgSten

Description:

Amount of damage done by the sten.

Type: integer

Default: 14

g_dmgFG42

Description:

Amount of damage done by the FG-42.

Type: integer

Default: 15

g_dmgPistol

Description:

Amount of damage done by the pistol weapons.

Type: integer

Default: 18

g_dmgSMG

Description:

Amount of damage done by the SMG weapons (Thompson and MP-40).

Type: integer

Default: 18

g_dmgMG42

Description:

Amount of damage done by the MG42.

Type: integer

Default: 18

g_dmgMG

Description:

Amount of damage done by an emplaced MG.

Type: integer

Default: 20

g_dmgFG42Scope

Description:

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

Type: integer

Default: 30

g_dmgInfRifle

Description:

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

Type: integer

Default: 34

g_dmgSniper

Description:

Amount of damage done by a scoped Garand or K43.

Type: integer

Default: 50

g_dmgFlamer

Description:

Amount of damage done by the 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.

Type: integer

Default: 5

g_dmgGrenade

Description:

Amount of damage done by a grenade.

Type: integer

Default: 250

g_dmgGrenadeRadius

Description:

Blast radius of a grenade.

Type: integer

Default: 250

g_dmgGLauncher

Description:

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

Type: integer

Default: 250

g_dmgGLauncherRadius

Description:

Blas radius of an engineer's grenade-launcher grenades.

Type: integer

Default: 250

g_dmgTMine

Description:

Amount of damage done by a tripmine.

Type: integer

Default: 260

g_dmgLandmine

Description:

Amount of damage done by a landmine.

Type: integer

Default: 250

g_dmgLandmineRadius

Description:

Blast radius of a landmine.

Type: integer

Default: 250

g_dmgSatchel

Description:

Amount of damage done by a satchel.

Type: integer

Default: 250

g_dmgSatchelRadius

Description:

Blast radius of a satchel.

Type: integer

Default: 250

g_dmgPanzer

Description:

Amount of damage done by a panzerfaust rocket.

Type: integer

Default: 400

g_dmgPanzerRadius

Description:

Blast radius of a panzerfaust rocket.

Type: integer

Default: 300

g_dmgMortar

Description:

Amount of damage done by a mortar round.

Type: integer

Default: 400

g_dmgMortarRadius

Description:

Blast radius of a mortar round.

Type: integer

Default: 400

g_dmgDynamite

Description:

Amount of damage done by a dynamite.

Type: integer

Default: 400

g_dmgDynamiteRadius

Description:

Blast radius of a dynamite.

Type: integer

Default: 400

g_dmgAir

Description:

Amount of damage done PER BOMB by an airstrike.

Type: integer

Default: 400

g_dmgAirRadius

Description:

Blast radius PER BOMB of an airstrike.

Type: integer

Default: 400

g_dmgArty

Description:

Amount of damage done PER BOMB by artillery fire. If this value is non-zero, the spotting round will follow normal ET behaviour (can do damage, but to a very small radius, making damage unlikely)

Type: integer

Default: 400

g_dmgArtyRadius

Description:

Blast radius PER BOMB of artillery fire. If this value is non-zero, the spotting round will follow normal ET behaviour. The spotting round can do damage, but to a very small radius making damage unlikely.

Type: integer

Default: 400

g_dmgDemolition

Description:

Amount of damage done by Improvised Demolition.

Type: integer

Default: 1100

g_dmgDemolitionRadius

Description:

Blast radius of Improvised Demolition.

Type: integer

Default: 250

g_knifeThrowDamage

Description:

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

Type: integer

Default: 50

g_dmgPPSh

Description:

The amount of damage done by a PPSh.

Type: integer

Default: 19

Debugging

g_debugBullets

Description:

If this cvar is set, server will produce debug information of fired bullets. Enabling g_debugBullets require sv_cheats to be set.

Type: integer

Parameters:

If 1 is set as if the cvar was a bitmask, blue lines for the fired shots is enabled. With any positive value, server will print impact area on the hit player to the center of the screen. Possibilities are "Head Shot", "Body Shot", "Leg Shot" and "Arm Shot". If the value is set to 2 or more, the bounding box of the hit player is drawn. If the value is set to 3 or more, the hit player head box is drawn. If the value is set to -2 or smaller, boxes are drawn to impacted surfaces.

Default: 0

g_debugDamage

Description:

If this cvar is set, damage inflicted to players is logged into the server log. Enabling this cvar requiers sv_cheats to be set.

Type: [0|1]

Default: 0

g_debugHitboxes

Description:

If this cvar is enabled, hit boxes around the players are drawn. This cvar does not require sv_cheats. However, do note that if this is enabled, the server will produce constant flow of extra entities, which will make playing impossible on a live server. Test this with only couple players to prevent everyone from lagging out.

Type: integer

Parameters:

If this cvar is set to any positive value, boxes are drawn. If the value is set to 8 or more, it will draw only the boxes that are used for the initial trace. Each bullet causes two traces to happen, where the second trace confirms the impact on the more refined area of the player body, such as head or legs.

Deprecated Cvars

g_realHead

Description

Enable ETPro headboxes.

Type: [0|1]

Parameters:

0 Regular headbox positions.

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

Default: 1

Note:

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.

Change log:

  • 0.5.1 - The option was removed. The ETPro headboxes are always used.


g_spoofOptions

Description:

Options for PunkBuster GUID and IP spoof detections and behaviour.

Type: bitmask

Parameters:

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

Default: 3

Note:

Do NOT change this CVAR unless you encounter problems!

Change Log:

This cvar was removed in version 0.5.1 and spoofing is checked unconditionally in 0.5.1 and later versions.