Silent Mod Server Cvar: Difference between revisions

From MyGamingTalk
 
(53 intermediate revisions by 2 users not shown)
Line 4: Line 4:


;Description
;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, sv_sac cvar is set to 1. 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.
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]
'''Type:''' [0|1|2]
Line 12: Line 12:
1 Show player AntiCheat status in the !finger output.
1 Show player AntiCheat status in the !finger output.


2 Automatically ban players with cheats.
2 Automatically ban players for 365 days with cheats.


'''Default:''' 0
'''Default:''' 0
Line 18: Line 18:
'''Minimum required version:''' 0.8.0
'''Minimum required version:''' 0.8.0


= Announcements and Messages =
== g_clientBinaries ==


'''Description:'''


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


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


If set to 1, players can send private messages to one another with the /m playername/slot command.
'''Type:''' bitmask
 
'''Type:''' [0|1]


'''Parameters:'''
'''Parameters:'''


0 Disable Private Messages
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>
1 Enable Private messages
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
'''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 '/'.
'''Minimum required version:''' 0.5.2


== g_spreeOptions  ==
'''Changelog:'''


'''Description:'''<br>
0.6.2 - If the flag 4 is set, known cheat binaries are clearly reported to the admin chat.


Options to control the display of killingsprees.
== g_identOptions ==


'''Type''': bitmask
'''Description:'''


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


1 Enable killingsprees
'''Type:''' bitmask


2 Enable killingspree ends
'''Parameters:'''


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


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
2 Kick clients that are not sending the identification to the server
 
4 Enforce bans using the identification


16 At the beginning of the intermission the highest spree and the 3 highest sprees which are still active will be shown
8 Report all actions taken based on client identification to the adminchat


32 /kill will end a spree
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.


64 Teamswitching will end a spree
'''Default:''' 0


128 Multikill messages will be delayed g_multikillTime milliseconds, to prevent the doublekill -&gt; multikill -&gt; megakill -&gt; etc. flooding
== g_ssDirectory ==


256 Killing bots doesn't count for multikills or killingsprees (Note: they DO count for ending kill/deathsprees)  
;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.


512 Display the map and overall spree record when entering intmission
'''Type:''' [string]


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


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)
'''Minimum required version:''' 0.9.0


2048 Enable revivesprees
= Announcements and Messages =


'''Default''': 0


== g_multikillTime  ==
== g_privateMessages ==


'''Description:'''<br>  
'''Description:'''<br>


The time (in milliseconds) in which two kills should be made in order to count them as multikills.<br>
If set to 1, players can send private messages to one another with the /m playername/slot command.


'''Type:''' integer<br>'''Default:''' 1000
'''Type:''' [0|1]


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


'''Description:'''<br>
0 Disable Private Messages


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.
1 Enable Private messages


'''Type:''' [0|1]
'''Default:''' 0


'''Default:''' 1
'''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_dropMsg ==
== g_spreeOptions ==


'''Description:'''<br>
'''Description:'''<br>


Message to add to the drop screen when a client is kicked or banned.&nbsp;<br>
Options to control the display of killingsprees.  


'''Type:'''&nbsp;String<br>
'''Type''': bitmask


'''Default:''' " "
'''Parameters:'''  


'''Example:''' g_dropMsg&nbsp;"Please protest ban on forums"
1 Enable killingsprees


== g_landmineNotifyType  ==
2 Enable killingspree ends


'''Description:'''
4 Enable multikills


Decide which landmine reveal notifications server should send.&nbsp;
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


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.
16 At the beginning of the intermission the highest spree and the 3 highest sprees which are still active will be shown


'''Type:''' [0|1|2|3]<br>
32 /kill will end a spree


'''Parameters:'''
64 Teamswitching will end a spree


0 Only standard notfications (for each landmine revealed).
128 Multikill messages will be delayed g_multikillTime milliseconds, to prevent the doublekill -&gt; multikill -&gt; megakill -&gt; etc. flooding


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".
256 Killing bots doesn't count for multikills or killingsprees (Note: they DO count for ending kill/deathsprees)


2 Don't send any landmine notifications.
512 Display the map and overall spree record when entering intmission


3 Send all notifications. For example: for 3 spotted landmines send 4 notifications (3 for each landmine + 1 summary notification).
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


'''Default:''' 3
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)


'''Recommended:''' 1
2048 Enable revivesprees


== g_banners  ==
'''Default''': 0


'''Description:'''<br>
== g_multikillTime  ==


This should be set to the name of your banners.cfg file if you want to enable banners. See settings documentation for more information about this file.<br>
'''Description:'''<br>  


'''Type:''' string
The time (in milliseconds) in which two kills should be made in order to count them as multikills.<br>


'''Default:''' ""
'''Type:''' integer<br>'''Default:''' 1000


'''Example:'''<br>set g_banners "banners.cfg"<br>
== g_obituary  ==


'''Minimum required version:''' 0.4.0
'''Description:'''<br>


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


'''Description:'''
'''Type:''' [0|1]


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.
'''Default:''' 1


'''Type:''' [0|1|2|3]
== g_dropMsg  ==


'''Parameters:'''
'''Description:'''<br>


0 No selection, will default to silEnT in the client end.
Message to add to the drop screen when a client is kicked or banned.&nbsp;<br>


1 Defaults silEnT hitsounds.
'''Type:'''&nbsp;String<br>


2 Defaults ETPro hitsounds.
'''Default:''' " "


3 Defaults ETPub hitsounds.
'''Example:''' g_dropMsg&nbsp;"Please protest ban on forums"


'''Default:''' 1
== g_landmineNotifyType  ==


'''Minimum required version:''' 0.6.0
'''Description:'''  


== g_recognition ==
Decide which landmine reveal notifications server should send.&nbsp;


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


Enables additional recognition notifications for players doing objective, e.g. for planting dynamite, disarming it, destroying objective.
'''Type:''' [0|1|2|3]<br>


'''Type:''' [0|1]
'''Parameters:'''  


'''Parameters:'''
0 Only standard notfications (for each landmine revealed).


0 Additional recognition notifications disabled.
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".


1 Additional recognition notifications enabled.
2 Don't send any landmine notifications.


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


= User Database, XP Save, Shrubbot and Bans =
'''Default:''' 3


== g_dbDirectory ==
'''Recommended:''' 1


'''Description:'''
== g_banners  ==


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


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


= User Database, Shrubbot and Bans =


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


You can freely edit the human readable files by hand as long as their correct format remains and the server is notified of the changes using appropriate shrubbot commands. With the exceptions of serverstat.cfg and mapvoteinfo.cfg that will be overwritten by the server. If you want to hand edit the values of these files, the server be shutdown.
'''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
'''Type:''' string
Line 208: Line 251:
'''Note:'''
'''Note:'''


The server reads the value of this cvar only from the config file or from the command line. It cannot be edited 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.
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 ==
== g_dbUserMaxAge ==
Line 255: Line 298:
This cvar can be set only at startup, before the mod launches. It cannot be changed on a live server using rcon.
This cvar can be set only at startup, before the mod launches. It cannot be changed on a live server using rcon.


== g_XPSave ==
== g_minCommandWaitTime ==


'''Description:'''
'''Description:'''


Controls XP save behaviours.
Time you have to wait between using 2 shrubbot commands in milliseconds.


'''Type:''' bitmask
'''Type:''' integer


'''Parameters:'''
'''Default:''' 0


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


2 Don't reset xp to the pre-map start values on a map restart, shuffle, etc.
'''Description:'''


4 Never reset xp (ever).
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.


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.
Also, you will not be able to use g_logOptions flag 256 (log private messages) unless g_tyranny is enabled.
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.
g_tyranny must also be enabled in order to specify a client in using the 'playsound' server command.


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


== g_XPSaveMaxAge_xp ==
'''Type:''' [0|1]


'''Description:'''
'''Default:''' 1


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.
'''Note:'''


You can use a modifier with this value. Here are some examples:
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."


set g_XPSaveMaxAge_xp "1o" - 1 month
== g_warningOptions ==


set g_XPSaveMaxAge_xp "2w" - 2 weeks
'''Description:'''


set g_XPSaveMaxAge_xp "5d" - 5 days
This cvar changes the behaviour of the shrubbot !warn command. By setting flag 1 or 2 you activate the advanced warning (storage) system


set g_XPSaveMaxAge_xp "36h" - 36 hours
'''Type:''' bitmask


set g_XPSaveMaxAge_xp "120m" - 120 minutes
'''Parameters:'''


'''Type:''' integer
1 Link stored warnings to the guid of a player


'''Default:''' 1d
2 Link stored warnings to the ip of the player


'''Note:''' If g_XPSaveMaxAge is less than g_XPSaveMaxAge_xp, g_XPSaveMaxAge will be used.
4 Remove the oldest warning when the total maximum ammount of warnings is reached


== g_XPSaveMaxAge ==
8 Auto-kick a player for 2 minutes when he has more than g_maxWarnings warnings


'''Description:'''
16 Allow clients to see their own warnings with the /warnings command


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.
'''Default:''' 0


You can use a modifier for this value. Here are some examples:
== g_maxWarnings ==


set g_XPSaveMaxAge "1o" - 1 month
'''Description:'''


set g_XPSaveMaxAge "2w" - 2 weeks
The ammount of warnings that can be stored for 1 player.


set g_XPSaveMaxAge "5d" - 5 days
'''Type:''' integer


set g_XPSaveMaxAge "36h" - 36 hours
'''Default:''' 3


set g_XPSaveMaxAge "120m" - 120 minutes
== g_warningDecay ==


'''Description:'''


See also g_XPSaveMaxAge_xp
The time in hours that a warning will be stored.


'''Type:''' integer
'''Type:''' integer


'''Default:''' 1w
'''Default:''' 24


== g_XPSaveMinXP ==
== g_autoTempBan ==


'''Description:'''
'''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.  
When set, anyone kicked for the reasons you specify, will be temporarily banned for g_autoTempBanTime seconds.


'''Type:''' integer
'''Type:'''bitmask


'''Default:''' -1
'''Parameters:'''


'''Minimum required version:''' 0.5.0
1 Tempban when reaching g_teamDamageRestriction


== g_maxXP ==
2 Tempban when someone is kicked by a shrubbot admin (using the !kick command). A normal shrubbot !kick kicks for 120 seconds


'''Description:'''
4 Tempban when someone is kicked by the advanced warning system. A normal kick by the warning system lasts 120 seconds


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


Set this to -1 to disable it.
'''Changelog:'''


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


'''Type:''' integer
== g_autoTempBanTime ==


'''Default:''' -1
'''Description:'''


== g_maxXPResetWarn ==
The number of seconds kicked for when g_autoTempBan is set.


'''Description:'''
'''Type:''' integer


Displays a message warning players whose XP is close to being reset due to the g_maxXP setting. The warning is displayed every thirty seconds once the warning threshold is passed.
'''Default:''' 1800


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


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


If you specify a negative value, players will be warned when that offset is hit. For example:
The minimum shrubbot adminlevel required for players to be able to connect.


For a value of -75, warnings will to display then players have g_maxXP - 75 XP
'''Type:''' integer


For a value of -2%, warnings will display when players have 98% of g_maxXP
'''Default:''' 0


Set this to 0 to disable it.
'''Note:'''


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


'''Default:''' 0
== g_greetingPos ==
 
== g_damageXP ==


'''Description:'''
'''Description:'''


Optionally enables the awarding of XP based upon the amount of damage a player has done to the opposing team.
Location where the shrubbot greetings are displayed.


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


'''Parameters:'''
'''Parameters:'''


0 Disabled: use normal ET XP awarding methods
0 Chat area
 
1 Center of screen
 
2 Left notification area


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.
3 Top of the screen


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).
4 Console only


'''Default:''' 0
'''Default:''' 0


== g_damageXPLevel ==
== g_adminProtection ==


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


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


'''Default:''' 50
'''Technical Details:'''


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


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


This is a bitmask that controls the XP decay feature.
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.


See also g_XPDecayRate.
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
'''Type:''' bitmask
Line 414: Line 464:
'''Parameters:'''
'''Parameters:'''


1 Enable XP Decay
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


2 Do not decay a player's XP when they are disconnected from the server
'''Default:''' 7


4 Do not decay a player's XP for the class they are currently playing as (e.g. Medic).
'''Minimum required version:''' 0.5.0


8 Do not decay a player's XP while they are spectating
== g_protectMinLevel ==


16 Do not decay a player's XP during warmup/intermission
'''Description:'''


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


64 Do not decay a player's Battle Sense XP when he/she is playing.
'''Type:''' integer


128 Do not decay a player's Light Weapons XP when he/she is playing.
'''Default:''' -1


'''Default:''' 0
'''Minimum required version:''' 0.5.0


== g_XPDecayRate ==
== g_muteRename ==


'''Description:'''
'''Description:'''


This is the rate (in skillpoints per second) that XP skill points for each skill will decay when g_XPDecay is enabled.
If this cvar is set to 1 the muted player won't be allowed to change his name while he is muted.


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.
'''Type:''' integer


You can use a modifier with this value. Here are some examples:
'''Parameters:'''


set g_xpDecayRate "5000/o" - Decay 5000xp per skill per month
0 Disabled. Allow players to change his/her name while he/she is muted.<br>


set g_xpDecayRate "1000/w" - Decay 1000xp per skill per week
1 Don't allow player to change his/her name while he/she is muted.<br>


set g_xpDecayRate "500/d" - Decay 500xp per skill per day
'''Default:''' 0


set g_xpDecayRate "40/h" - Decay 40xp per skill per hour
'''Minimium required version:''' 0.8.0


set g_xpDecayRate "2/m" - Decay 2xp per skill per minute
= XP Save =


'''Type:''' float
== g_XPSave ==
 
'''Default:''' 0.0
 
== g_XPDecayFloor ==


'''Description:'''
'''Description:'''


This is the minimum that any particular skill can be reduced to by g_XPDecay.
Controls XP save behaviours.


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


'''Type:''' float
'''Parameters:'''


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


== g_minCommandWaitTime ==
2 Don't reset xp to the pre-map start values on a map restart, shuffle, etc.


'''Description:'''
4 Never reset xp (ever).


Time you have to wait between using 2 shrubbot commands in milliseconds.
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.


'''Type:''' integer
16 Store the XP at restarts, nextmaps, mapvotes, campaignvotes and similar cases.


'''Default:''' 0
'''Default:''' 0


== g_tyranny ==
== g_XPSaveMaxAge_xp ==


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


Also, you will not be able to use g_logOptions flag 256 (log private messages) unless g_tyranny is enabled.
You can use a modifier with this value. Here are some examples:


g_tyranny must also be enabled in order to specify a client in using the 'playsound' server command.
set g_XPSaveMaxAge_xp "1o" - 1 month


'g_tyranny' and its value appear in the serverInfo string to serve as a warning for perspective players.
set g_XPSaveMaxAge_xp "2w" - 2 weeks


'''Type:''' [0|1]
set g_XPSaveMaxAge_xp "5d" - 5 days


'''Default:''' 1
set g_XPSaveMaxAge_xp "36h" - 36 hours


'''Note:'''
set g_XPSaveMaxAge_xp "120m" - 120 minutes


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."
'''Type:''' integer


== g_warningOptions ==
'''Default:''' 1d


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


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


'''Type:''' bitmask
'''Description:'''


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


1 Link stored warnings to the guid of a player
You can use a modifier for this value. Here are some examples:


2 Link stored warnings to the ip of the player
set g_XPSaveMaxAge "1o" - 1 month


4 Remove the oldest warning when the total maximum ammount of warnings is reached
set g_XPSaveMaxAge "2w" - 2 weeks


8 Auto-kick a player for 2 minutes when he has more than g_maxWarnings warnings
set g_XPSaveMaxAge "5d" - 5 days


16 Allow clients to see their own warnings with the /warnings command
set g_XPSaveMaxAge "36h" - 36 hours


'''Default:''' 0
set g_XPSaveMaxAge "120m" - 120 minutes


== g_maxWarnings ==


'''Description:'''
See also g_XPSaveMaxAge_xp
 
The ammount of warnings that can be stored for 1 player.


'''Type:''' integer
'''Type:''' integer


'''Default:''' 3
'''Default:''' 1w


== g_warningDecay ==
== g_resetXPMapCount  ==


'''Description:'''
'''Description:'''


The time in hours that a warning will be stored.
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
'''Type:''' integer  


'''Default:''' 24
'''Default:''' 0


== g_autoTempBan ==
== g_XPSaveMinXP ==


'''Description:'''
'''Description:'''


When set, anyone kicked for the reasons you specify, will be temporarily banned for g_autoTempBanTime seconds.
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:'''bitmask
'''Type:''' integer
 
'''Default:''' -1
 
'''Minimum required version:''' 0.5.0


'''Parameters:'''
== g_maxXP ==


1 Tempban when reaching g_teamDamageRestriction
'''Description:'''


2 Tempban when someone is kicked by a shrubbot admin (using the !kick command). A normal shrubbot !kick kicks for 120 seconds
This is a vicious cvar that will reset a players XP once their overall XP score reaches it.


4 Tempban when someone is kicked by the advanced warning system. A normal kick by the warning system lasts 120 seconds
Set this to -1 to disable it.


'''Default:''' 0


'''Changelog:'''
'''Type:''' integer


Specifically in version 0.5.0, this feature is bugged and can cause broken shrubbot.cfg.
'''Default:''' -1


== g_autoTempBanTime ==
== g_maxXPResetWarn ==


'''Description:'''
'''Description:'''


The number of seconds kicked for when g_autoTempBan is set.
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.


'''Type:''' integer
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.


'''Default:''' 1800
If you specify a negative value, players will be warned when that offset is hit. For example:


== g_minConnectLevel ==
For a value of -75, warnings will to display then players have g_maxXP - 75 XP


'''Description:'''
For a value of -2%, warnings will display when players have 98% of g_maxXP


The minimum shrubbot adminlevel required for players to be able to connect.
Set this to 0 to disable it.


'''Type:''' integer
'''Type:''' integer
Line 582: Line 637:
'''Default:''' 0
'''Default:''' 0


'''Note:'''
== g_damageXP ==


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


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


'''Description:'''
'''Type:''' [0|1|2]


Location where the shrubbot greetings are displayed.
'''Parameters:'''
 
0 Disabled: use normal ET XP awarding methods


'''Type:''' [0|1|2|3|4]
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.


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


0 Chat area
'''Default:''' 0


1 Center of screen
== g_damageXPLevel ==


2 Left notification area
'''Description:'''


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


4 Console only
'''Type:''' integer


'''Default:''' 0
'''Default:''' 50


== g_identOptions ==
== g_XPDecay ==


'''Description:'''
'''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.
This is a bitmask that controls the XP decay feature.
 
See also g_XPDecayRate.


'''Type:''' bitmask
'''Type:''' bitmask
Line 618: Line 677:
'''Parameters:'''
'''Parameters:'''


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


2 Kick clients that are not sending the identification to the server
2 Do not decay a player's XP when they are disconnected from the server


4 Enforce bans using the identification
4 Do not decay a player's XP for the class they are currently playing as (e.g. Medic).


8 Report all actions taken based on client identification to the adminchat
8 Do not decay a player's XP while they are spectating


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.
16 Do not decay a player's XP during warmup/intermission


'''Default:''' 0
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.


== g_adminProtection ==
64 Do not decay a player's Battle Sense XP when he/she is playing.


'''Description:'''
128 Do not decay a player's Light Weapons XP when he/she is playing.


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


The trust needs to be established only once. After that, the client and the server can negotiate the confirmation silently.
You can use a modifier with this value. Here are some examples:


'''Type:''' bitmask
set g_xpDecayRate "5000/o" - Decay 5000xp per skill per month


'''Parameters:'''
set g_xpDecayRate "1000/w" - Decay 1000xp per skill per week


1 Log succesfull authentications to the cheat log
set g_xpDecayRate "500/d" - Decay 500xp per skill per day


2 Log admin spoofing attempts to the cheat log
set g_xpDecayRate "40/h" - Decay 40xp per skill per hour


4 Report admins waiting for confirmation on their level to the admin chat
set g_xpDecayRate "2/m" - Decay 2xp per skill per minute


'''Default:''' 7
'''Type:''' float


'''Minimum required version:''' 0.5.0
'''Default:''' 0.0


== g_protectMinLevel ==
== g_XPDecayFloor ==


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


'''Type:''' integer
'''Default:''' 0.0


'''Default:''' -1


'''Minimum required version:''' 0.5.0
= Flood Protection =


== g_clientBinaries ==
== g_floodprotect  ==


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


'''List of recognized binaries:'''
'''Type:''' [0|1]
*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
'''Default:&nbsp;'''1


'''Parameters:'''
== g_floodthreshold  ==


1 Don't allow players with unknown client executables.<br>
'''Description:'''
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
The number of messages per second before ignoring the client's messages. Only in effect when g_floodprotect is turned on.


'''Minimum required version:''' 0.5.2
'''Type:''' Integer<br>


'''Changelog:'''
'''Default:''' 6


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


== g_muteRename ==
'''Description:'''<br>


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


If this cvar is set to 1 the muted player won't be allowed to change his name while he is muted.
'''Type:''' integer<br>


'''Type:''' integer
'''Default:''' 1000


'''Parameters:'''
== g_voiceChatsAllowed  ==


0 Disabled. Allow players to change his/her name while he/she is muted.<br>
'''Description:'''<br>


1 Don't allow player to change his/her name while he/she is muted.<br>
The number of voicechats allowed in minute.<br>


'''Default:''' 0
'''Type:''' integer<br>
 
'''Minimium required version:''' 0.8.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:&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>
 
'''Default:''' 6
 
== g_floodWait  ==
 
'''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
'''Default:''' 4
Line 852: Line 871:


= Class and Weapon Restrictions =
= 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  ==
== team_maxPanzers  ==


'''Description:'''<br>
'''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.&nbsp;
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.&nbsp;
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
You can also use a number such as "20%-" for this setting, in which case partial values will be rounded down
Line 869: Line 933:
:set team_maxPanzers "2"  
:set team_maxPanzers "2"  


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


'''Example 2:'''
'''Example 2:'''
Line 883: Line 947:
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.
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''
Set this to -1 to disable limits


'''Type:''' integer<br>'''Default:''' -1
'''Type:''' integer
 
'''Default:''' -1


== team_maxMortars  ==
== team_maxMortars  ==
Line 988: Line 1,054:
== team_maxGrenLaunchers  ==
== team_maxGrenLaunchers  ==


'''Description:'''<br>
'''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.&nbsp;
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  
You can also use a number such as "20%-" for this setting, in which case partial values will be rounded down  
Line 996: Line 1,062:
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!  
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:&nbsp;'''set team_maxGrenLaunchers "2"
'''Example 1:'''


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to 2 grenade launchers, regardless of how many players are on the team
:set team_maxGrenLaunchers "2"


'''Example:&nbsp;'''set team_maxGrenLaunchers "10%"
This will limit each team to 2 grenade launchers, regardless of how many players are in the team


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 10% of their players playing with grenade launchers, and a team with 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 on 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:'''


'''Example:&nbsp;'''set team_maxGrenLaunchers "10%-"  
:set team_maxGrenLaunchers "10%-"  


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 10% of their players as 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 on the team.  
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''
Set this to -1 to disable limits


'''Type:''' integer<br>'''Default:''' -1
'''Type:''' integer<br>'''Default:''' -1
Line 1,016: Line 1,088:
'''Description:'''
'''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.<br>
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
You can use a number such as "20%-" for this setting, in which case partial values will be rounded down


'''Example:&nbsp;'''set team_maxMedics "5"
'''Example 1:'''


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


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


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 15% of their players as medics, and a team with few players (for example, 3) will be able to have 1 medic. They will be able to have their second medic when they have 7 players on the team.
'''Example 2:'''


'''Example:&nbsp;'''set team_maxMedics "15%-"
:set team_maxMedics "15%"


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 15% of their players as medics, and a team will not be able to have medics until there are 7 players in the team. They will be able to have their second medic when there are 14 players on the team.
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.


''Set this to -1 to disable limits.''
'''Example 3:'''


'''Type:''' string<br>
: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
'''Default:''' -1
Line 1,042: Line 1,120:
'''Description:'''  
'''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&nbsp;% symbol to limit based on the number of players on the team. When using percentage values, any partial values are rounded up.<br>
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.


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


'''Example:&nbsp;'''set team_maxEngineers "5"  
'''Example 1:'''
 
:set team_maxEngineers "5"  


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to 5 medics, regardless of how many players are on the team  
This will limit each team to 5 engineers, regardless of how many players are in the team  


'''Example:''' set team_maxEngineers "15%"
'''Example 2:'''


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 15% of their players as medics, and a team with few players (for example, 3) will be able to have 1 medic. They will be able to have their second medic when they have 7 players on the team.
:set team_maxEngineers "15%"


'''Example:&nbsp;'''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.


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 15% of their players as medics, and a team will not be able to have medics until there are 7 players in the team. They will be able to have their second medic when there are 14 players on the team.
'''Example 3:'''


''Set this to -1 to disable limits.''
:set team_maxEngineers "15%-"


'''Type:''' string<br>
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
'''Default:''' -1
Line 1,068: Line 1,152:
'''Description:'''  
'''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&nbsp;% symbol to limit based on the number of players on the team. When using percentage values, any partial values are rounded up.<br>
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  
You can use a number such as "20%-" for this setting, in which case partial values will be rounded down  


'''Example:&nbsp;'''set team_maxFieldOps "5"  
'''Example 1:'''
 
:set team_maxFieldOps "5"  


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to 5 medics, regardless of how many players are on the team  
This will limit each team to 5 field opses, regardless of how many players are in the team  


'''Example:''' set team_maxFieldOps "15%"
'''Example 2:'''


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 15% of their players as medics, and a team with few players (for example, 3) will be able to have 1 medic. They will be able to have their second medic when they have 7 players on the team.
:set team_maxFieldOps "15%"


'''Example:&nbsp;'''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.


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 15% of their players as medics, and a team will not be able to have medics until there are 7 players in the team. They will be able to have their second medic when there are 14 players on the team.
'''Example 3:'''


''Set this to -1 to disable limits.''
:set team_maxFieldOps "15%-"


'''Type:''' string<br>
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
'''Default:''' -1
Line 1,094: Line 1,184:
'''Description:'''  
'''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&nbsp;% symbol to limit based on the number of players on the team. When using percentage values, any partial values are rounded up.<br>
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  
You can use a number such as "20%-" for this setting, in which case partial values will be rounded down  


'''Example:&nbsp;'''set team_maxCovertOps "5"
'''Example 1:'''


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to 5 medics, regardless of how many players are on the team
:set team_maxCovertOps "5"


'''Example:''' set team_maxCovertOps "15%"
This will limit each team to 5 covert opses, regardless of how many players are in the team


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 15% of their players as medics, and a team with few players (for example, 3) will be able to have 1 medic. They will be able to have their second medic when they have 7 players on the team.
'''Example 2:'''


'''Example:&nbsp;'''set team_maxCovertOps "15%-"  
:set team_maxCovertOps "15%"  


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This will limit each team to having only 15% of their players as medics, and a team will not be able to have medics until there are 7 players in the team. They will be able to have their second medic when there are 14 players on the team.  
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.  


''Set this to -1 to disable limits.''  
'''Example 3:'''


'''Type:''' string<br>
:set team_maxCovertOps "15%-"


'''Default:''' -1
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.


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


'''Description:'''
'''Type:''' string


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


'''Type:''' integer<br>
== g_minAirstrikeTime ==
 
'''Default:''' 0
 
== g_minHits ==
 
'''Description:'''<br>
 
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.<br>
 
'''Type:''' integer<br>
 
'''Default:''' 6
 
== g_minAirstrikeTime ==


'''Description:'''<br>
'''Description:'''<br>
Line 1,196: Line 1,272:
'''Default:''' 0
'''Default:''' 0


= Gametypes =
= Player Inactivity =


== Campaign ==
== g_inactivity ==


== Objective ==
'''Description:'''


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


== Map Voting  ==
'''Type:''' integer


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


== g_spectatorInactivity==


;;Miscellaneous notes about mapvoting:
'''Description:'''
:


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:
The number of seconds of player inactivity as spectator before the player is kicked/dropped from server.
<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>
'''Type:''' integer


=== g_mapVoteFlags  ===
'''Default:''' 0


'''Description:''' This cvar controls the behaviour of the map voting.
== g_inactivityOptions ==


'''Type:''' bitmask<br>
'''Description:'''


'''Parameters:'''
Controls additional inactivity options.


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>
'''Type:''' bitmask


'''Default:''' 0
'''Parameters:'''


=== g_maxMapsVotedFor  ===
1 Don't drop shoutcasters


'''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>
2 Don't drop spectators when in following mode


'''Type:''' integer<br>
4 ETmain inactivity behavior (don't wait for a full server)


'''Default:''' 6
8 Shrubbot flag '0' admins will be moved to spectators due to team inactivity


=== g_minMapAge  ===
'''Default:''' 3


'''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>
= Gametypes =


'''Type:''' integer<br>
== g_gametype ==


'''Default:''' 3
'''Description:'''


=== g_resetXPMapCount  ===
Please see Map Voting.


'''Description:'''<br>
'''Type:''' [2|3|4|5|6|7]


How many maps occur before XP is reset. If g_XPSave flag 4 is set, g_resetXPMapCount is ignored. Similarly, if g_resetXPMapCount is set to 0, it is the same as setting g_XPSave flag 4 <br>''Only valid when g_gametype is 6 (see Map Voting)''<br>
'''Parameters:'''


'''Type:''' integer<br>
2 Objective


'''Default:''' 0
3 Stopwatch


=== g_includedMaps  ===
4 Campaign


'''Description:'''
5 Last Man Standing


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.
6 Map Voting
Only valid when map voting is enabled.


'''Type:''' string
7 Team Death Match


'''Default:''' ""
'''Default:''' 4


'''Minimum required version:''' 0.6.2
== Campaign ==


=== g_excludedMaps  ===
== Objective ==


'''Description:'''<br>
== Last Man Standing ==


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>
== Map Voting ==


'''Type:''' string<br>
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


'''Default:''' ""


'''Example:''' To exclude railgun and battery maps from map voting use below command:<br>
;;Miscellaneous notes about mapvoting:
set g_excludedMaps ":railgun:battery:"
:


== Team Death Match (TDM) ==
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


=== g_TDMType ===
<br>


'''Description:'''
=== g_mapVoteFlags  ===


The type of the played Team Death Match.
'''Description:''' This cvar controls the behaviour of the map voting.


'''Type:''' [ 1 | 2 | 3 ]
'''Type:''' bitmask<br>


'''Parameters:'''
'''Parameters:'''  


1 Map ends only when timelimit hits
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>


2 Map ends when either the target score is reached or the timelimit hits
'''Default:''' 0


3 Map ends only when the target score is reached
=== g_maxMapsVotedFor  ===


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


=== g_TDMOptions ===
'''Type:''' integer<br>


'''Description:'''
'''Default:''' 6


Possible options for the played Team Death Match.
=== g_minMapAge  ===


'''Type:''' bitmask
'''Description:'''<br>


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


1 Map voting is enabled during the intermission (i.e. The players vote for the next map to play during the intermission.)
'''Type:''' integer<br>


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


4 Teams get negative points when they do selfkills or teamkills
=== g_includedMaps  ===


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


'''Default:''' 5
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.


=== g_TDMScore===
'''Type:''' string


'''Description:'''
'''Default:''' ""


This is the target score the teams attempt to make to win the game in TDM game types 2 and 3.
'''Minimum required version:''' 0.6.2


'''Type:''' integer
=== g_excludedMaps  ===


'''Default:''' 100
'''Description:'''<br>


=== g_TDMObjBonus===
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>


'''Description:'''
'''Type:''' string<br>


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.
'''Default:''' ""


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


'''Default:''' 20
== Team Death Match (TDM) ==


= Mapconfigs and Mapscripts =
=== g_TDMType ===
 
== g_mapConfigs ==


'''Description:'''
'''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'.
The type of the played Team Death Match.


Set this to "" to disable it.
'''Type:''' [ 1 | 2 | 3 ]


Set this to "." to look for the cfg file in the current directory (fs_homepath).
'''Parameters:'''


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:
1 Map ends only when timelimit hits


[players 0-10]<br>
2 Map ends when either the target score is reached or the timelimit hits
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>
3 Map ends only when the target score is reached


'''Type:''' string
'''Default:''' 0


'''Default:''' ""
=== g_TDMOptions ===


== g_mapScriptDirectory ==
'''Description:'''


'''Description:'''
Possible options for the played Team Death Match.


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.
'''Type:''' bitmask


'''Note:'''  
'''Parameters:'''


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.
1 Map voting is enabled during the intermission (i.e. The players vote for the next map to play during the intermission.)


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


'''Default:''' ""
4 Teams get negative points when they do selfkills or teamkills


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


'''Description:'''  
'''Default:''' 5


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


Such information includes:  
'''Description:'''


*will not display in the VOTE -&gt; MAP list
This is the target score the teams attempt to make to win the game in TDM game types 2 and 3.
*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.
'''Type:''' integer


Setting this to "" disables it.
'''Default:''' 100


'''Type:''' string
=== g_TDMObjBonus===


'''Default:''' ""
'''Description:'''


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


'''Description'''
'''Type:''' integer


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
'''Default:''' 20
in the spectators.


'''Type:''' bitmask
= Mapconfigs and Mapscripts =


'''Parameters:'''
== g_mapConfigs ==


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


2 No player counting during warmup.
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'.


4 Count spectators into players. Without this flag, only players in the playing teams are counted.
Set this to "" to disable it.


8 Bots are not included into the player count.
Set this to "." to look for the cfg file in the current directory (fs_homepath).


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


= Censoring =
[players 0-10]<br>
 
set team_maxPanzers 0<br>
== g_censor==
[/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>
'''Description:'''
[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>


A comma delimited string of words that will be censored from the chat.
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
'''Type:''' string
Line 1,444: Line 1,508:
'''Default:''' ""
'''Default:''' ""


== g_censorNames==
== g_mapScriptDirectory ==


'''Description:'''
'''Description:'''


A comma delimited string of words that will be censored from the player names.
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
'''Type:''' string
Line 1,454: Line 1,522:
'''Default:''' ""
'''Default:''' ""


== g_censorPenalty==
== g_campaignFile  ==


'''Description:'''
'''Description:'''  


This controls the censoring behaviour.
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.  


'''Type:''' bitmask
Such information includes:  


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


1 Kill the player
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.


2 Kick players with names containing words in g_censorNames
Setting this to "" disables it.


4 Kill, but don't gib
'''Type:''' string


8 Auto-mute for g_censorMuteTime [60] seconds
'''Default:''' ""


16 Lose the amount of xp specified in g_censorXP
== g_playerCounting ==


32 Burn
'''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.


'''Default:''' 0
'''Type:''' bitmask


'''Note:'''
'''Parameters:'''


If you use both 1 and 4, it will gib (like shrub did).
1 Enable filtering. This will add the 2 latest values together and divide them by 2.


== g_censorNeil==
2 No player counting during warmup.


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


Use Neil Toronto's censor filter. It'll catch some symbol and number replacements,
8 Bots are not included into the player count.
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:''' 1


'''Default:''' 0
= Censoring =


== g_censorNeilNames==
== g_censor==


'''Description:'''
'''Description:'''


Use Neil Toronto's censor filter for player names.  See g_censorNeil description for
A comma delimited string of words that will be censored from the chat.
details.


'''Type:''' [0|1]
'''Type:''' string


'''Default:''' 0
'''Default:''' ""


== g_censorMuteTime==
== g_censorNames==


'''Description:'''
'''Description:'''


The number of seconds to auto-mute as a censor penalty. Only works if bitflag 8 is added to g_censorPenalty.
A comma delimited string of words that will be censored from the player names.


'''Type:''' integer
'''Type:''' string


'''Default:''' 60
'''Default:''' ""


== g_censorXP==
== g_censorPenalty==


'''Description:'''
'''Description:'''


The amount of XP to lose as a censor penalty. Only works if bitflag 16 is added to g_censorPenalty.
This controls the censoring behaviour.


'''Type:''' integer
'''Type:''' bitmask


'''Default:''' 5
'''Parameters:'''


= Voting =
1 Kill the player


== g_voting ==
2 Kick players with names containing words in g_censorNames


'''Description:'''
4 Kill, but don't gib


Control's voting behaviour.
8 Auto-mute for g_censorMuteTime [60] seconds


'''Type:''' bitmask
16 Lose the amount of xp specified in g_censorXP


'''Parameters:'''
32 Burn


1 Votes will pass on the number of votes cast rather than total eligible voters.
'''Default:''' 0


2 Votes that pass do not count against the vote_limit for the caller.
'''Note:'''


4 " (called by NAME)" is appended to the vote description where NAME is the name of the player that called the vote.
If you use both 1 and 4, it will gib (like shrub did).


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.
== g_censorNeil==
 
'''Default:''' 0
 
== vote_limit==


'''Description:'''
'''Description:'''


This value defines how many votes one player can invoke during one map.
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:''' integer
'''Type:''' [0|1]


'''Default:''' 5
'''Default:''' 0


== vote_percent==
== g_censorNeilNames==


'''Description:'''
'''Description:'''


The required percentage of yes votes for the vote to pass.
Use Neil Toronto's censor filter for player names.  See g_censorNeil description for
details.


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 50
'''Default:''' 0


== vote_allow_comp==
== g_censorMuteTime==


'''Description:'''
'''Description:'''


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


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 1
'''Default:''' 60


== vote_allow_gametype==
== g_censorXP==


'''Description:'''
'''Description:'''


Allows voting for gametype.
The amount of XP to lose as a censor penalty. Only works if bitflag 16 is added to g_censorPenalty.
 
'''Type:''' integer


'''Type:''' [0|1]
'''Default:''' 5


'''Default:''' 1
= Voting =


== vote_allow_kick==
== g_voting ==


'''Description:'''
'''Description:'''


Allows voting for kicking a player.
Control's voting behaviour.


'''Type:''' [0|1]
'''Type:''' bitmask


'''Default:''' 1
'''Parameters:'''


== vote_allow_map==
1 Votes will pass on the number of votes cast rather than total eligible voters.


'''Description:'''
2 Votes that pass do not count against the vote_limit for the caller.


Allows voting for map to be played.
4 " (called by NAME)" is appended to the vote description where NAME is the name of the player that called the vote.


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


== vote_allow_matchreset==
== vote_limit==


'''Description:'''
'''Description:'''


Allows voting for restarting the match.
This value defines how many votes one player can invoke during one map.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 1
'''Default:''' 5


== vote_allow_mutespecs==
== vote_percent==


'''Description:'''
'''Description:'''


Allows voting for muting spectators.
The required percentage of yes votes for the vote to pass.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 1
'''Default:''' 50


== vote_allow_nextmap==
== vote_allow_comp==


'''Description:'''
'''Description:'''


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


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,638: Line 1,711:
'''Default:''' 1
'''Default:''' 1


== vote_allow_pub==
== vote_allow_gametype==


'''Description:'''
'''Description:'''


Allows voting for public game settings.
Allows voting for gametype.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,648: Line 1,721:
'''Default:''' 1
'''Default:''' 1


== vote_allow_referee==
== vote_allow_kick==


'''Description:'''
'''Description:'''


Allows voting for making a player a referee.
Allows voting for kicking a player.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,658: Line 1,731:
'''Default:''' 1
'''Default:''' 1


== vote_allow_shuffleteamsxp==
== vote_allow_map==


'''Description:'''
'''Description:'''


Allows voting for shuffling teams based on XP.
Allows voting for map to be played.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,668: Line 1,741:
'''Default:''' 1
'''Default:''' 1


== vote_allow_swapteams==
== vote_allow_matchreset==


'''Description:'''
'''Description:'''


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


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,678: Line 1,751:
'''Default:''' 1
'''Default:''' 1


== vote_allow_friendlyfire==
== vote_allow_mutespecs==


'''Description:'''
'''Description:'''


Allows voting for enabling/disabling friendly fire.
Allows voting for muting spectators.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,688: Line 1,761:
'''Default:''' 1
'''Default:''' 1


== vote_allow_timelimit==
== vote_allow_nextmap==


'''Description:'''
'''Description:'''


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


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,698: Line 1,771:
'''Default:''' 1
'''Default:''' 1


== vote_allow_warmupdamage==
== vote_allow_pub==


'''Description:'''
'''Description:'''


Allows voting for enabling/disabling/enemies only warmup damage.
Allows voting for public game settings.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,708: Line 1,781:
'''Default:''' 1
'''Default:''' 1


== vote_allow_antilag==
== vote_allow_referee==


'''Description:'''
'''Description:'''


Allows voting for enabling/disabling antilag.
Allows voting for making a player a referee.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,718: Line 1,791:
'''Default:''' 1
'''Default:''' 1


== vote_allow_balancedteams==
== vote_allow_shuffleteamsxp==


'''Description:'''
'''Description:'''


Allows voting for enabling/disabling balanced teams enforcing.
Allows voting for shuffling teams based on XP.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,728: Line 1,801:
'''Default:''' 1
'''Default:''' 1


== vote_allow_muting==
== vote_allow_swapteams==


'''Description:'''
'''Description:'''


Allows voting for muting/unmuting a player.
Allows voting for swapping the teams. Allied players go to the axis team and axis players go to the allied team.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,738: Line 1,811:
'''Default:''' 1
'''Default:''' 1


== vote_allow_surrender==
== vote_allow_friendlyfire==


'''Description:'''
'''Description:'''


Allows voting for surrendering the played map.
Allows voting for enabling/disabling friendly fire.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,748: Line 1,821:
'''Default:''' 1
'''Default:''' 1


== vote_allow_restartcampaign==
== vote_allow_timelimit==


'''Description:'''
'''Description:'''


Allows voting for restarting the campaign.
Allows voting for changing the map time.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,758: Line 1,831:
'''Default:''' 1
'''Default:''' 1


== vote_allow_nextcampaign==
== vote_allow_warmupdamage==


'''Description:'''
'''Description:'''


Allows voting for changing the campaign to the next one in the campaign rotation.
Allows voting for enabling/disabling/enemies only warmup damage.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,768: Line 1,841:
'''Default:''' 1
'''Default:''' 1


== vote_allow_poll==
== vote_allow_antilag==


'''Description:'''
'''Description:'''


Allows making freely written polls using the vote system.
Allows voting for enabling/disabling antilag.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,778: Line 1,851:
'''Default:''' 1
'''Default:''' 1


== vote_allow_maprestart==
== vote_allow_balancedteams==


'''Description:'''
'''Description:'''


Allows voting for restarting the played map.
Allows voting for enabling/disabling balanced teams enforcing.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,788: Line 1,861:
'''Default:''' 1
'''Default:''' 1


== vote_allow_shufflenorestart==
== vote_allow_muting==


'''Description:'''
'''Description:'''


Allows voting for shuffling teams without restarting the map.
Allows voting for muting/unmuting a player.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,798: Line 1,871:
'''Default:''' 1
'''Default:''' 1


== vote_allow_cointoss==
== vote_allow_surrender==


'''Description:'''
'''Description:'''


Allows voting for doing cointoss.
Allows voting for surrendering the played map.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,808: Line 1,881:
'''Default:''' 1
'''Default:''' 1


== vote_allow_putspec==
== vote_allow_restartcampaign==


'''Description:'''
'''Description:'''


Allows voting for moving a player to the spectators.
Allows voting for restarting the campaign.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 1,818: Line 1,891:
'''Default:''' 1
'''Default:''' 1


== vote_block_maprestart==
== vote_allow_nextcampaign==


'''Description:'''
'''Description:'''


Defines how many seconds from the beginning of the map is the voting for restarting the map allowed.
Allows voting for changing the campaign to the next one in the campaign rotation.


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 300
'''Default:''' 1


== vote_block_matchreset==
== vote_allow_poll==


'''Description:'''
'''Description:'''


Defines how many seconds from the beginning of the map is the voting for restarting the match allowed.
Allows making freely written polls using the vote system.


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 300
'''Default:''' 1


== vote_block_shuffleteamsxp==
== vote_allow_maprestart==


'''Description:'''
'''Description:'''


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


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 300
'''Default:''' 1
 
== vote_block_shufflenorestart==


== vote_allow_shufflenorestart==


'''Description:'''
'''Description:'''


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


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 300
'''Default:''' 1


== vote_block_nextmap==
== vote_allow_cointoss==


'''Description:'''
'''Description:'''


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


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 300
'''Default:''' 1


== vote_block_swapteams==
== vote_allow_putspec==


'''Description:'''
'''Description:'''


Defines how many seconds from the beginning of the map is the voting for swapping the teams allowed.
Allows voting for moving a player to the spectators.


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 300
'''Default:''' 1


== vote_block_surrender==
== vote_block_maprestart==


'''Description:'''
'''Description:'''


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


'''Type:''' integer
'''Type:''' integer
Line 1,889: Line 1,961:
'''Default:''' 300
'''Default:''' 300


== vote_block_map==
== vote_block_matchreset==


'''Description:'''
'''Description:'''


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


'''Type:''' integer
'''Type:''' integer
Line 1,899: Line 1,971:
'''Default:''' 300
'''Default:''' 300


== vote_block_timelimit==
== vote_block_shuffleteamsxp==


'''Description:'''
'''Description:'''


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


'''Type:''' integer
'''Type:''' integer
Line 1,909: Line 1,981:
'''Default:''' 300
'''Default:''' 300


== vote_block_poll==
== vote_block_shufflenorestart==
 


'''Description:'''
'''Description:'''


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


'''Type:''' integer
'''Type:''' integer
Line 1,919: Line 1,992:
'''Default:''' 300
'''Default:''' 300


== vote_block_nextcampaign==
== vote_block_nextmap==


'''Description:'''
'''Description:'''


Defines how many seconds from the beginning of the map is the voting for next campaign allowed.
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
'''Type:''' integer
Line 1,929: Line 2,002:
'''Default:''' 300
'''Default:''' 300


== vote_block_restartcampaign==
== vote_block_swapteams==


'''Description:'''
'''Description:'''


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


'''Type:''' integer
'''Type:''' integer
Line 1,939: Line 2,012:
'''Default:''' 300
'''Default:''' 300


== g_noVoteTime==
== vote_block_surrender==


'''Description:'''
'''Description:'''


Defines how many seconds must pass between two votes.
Defines how many seconds from the beginning of the map is the voting for surrendering the map allowed.


'''Type:''' integer
'''Type:''' integer


'''Default:''' 0
'''Default:''' 300


== g_voteResultsMinLevel==
== vote_block_map==


'''Description:'''
'''Description:'''


Defines the minimum admin level for the players to see the results of the votes.
Defines how many seconds from the beginning of the map is the voting for played map allowed.


'''Type:''' integer
'''Type:''' integer


'''Default:''' -1
'''Default:''' 300


== g_votedMuteLength==
== vote_block_timelimit==


'''Description:'''
'''Description:'''


Defines the length in seconds of the mute issued by a passed mute vote. You can use modifiers with this value.
Defines how many seconds from the beginning of the map is the voting for changing the map time allowed.


'''Type:''' integer
'''Type:''' integer


'''Default:''' 3h
'''Default:''' 300


= Weapons, Classes and Skills =
== vote_block_poll==
 
== g_poison ==


'''Description:'''
'''Description:'''


Gives medics the ability to poison enemies by sticking with their medic
Defines how many seconds from the beginning of the map is the voting for polls allowed.
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
'''Type:''' integer


'''Default:''' 0
'''Default:''' 300


== g_poisonFlags ==
== vote_block_nextcampaign==


'''Description:'''
'''Description:'''


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


'''Type:''' bitmask
'''Type:''' integer


'''Parameters:'''
'''Default:''' 300


1 Poisoned player's screen shakes.
== vote_block_restartcampaign==


2 Other players see the poisoned player's head shaking.
'''Description:'''


4 Poisoned player appears to bend over (hurl) every 2 seconds. (poisoned player does not see this happen.)
Defines how many seconds from the beginning of the map is the voting for restarting the campaign allowed.


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.
'''Type:''' integer


16 Poisoned player is disoriented (view turned upside down).
'''Default:''' 300


'''Default:''' 7
== g_noVoteTime==
 
== g_medics ==


'''Description:'''
'''Description:'''


Controls various aspects of the medic, to nerf or otherwise change their behavior.
Defines how many seconds must pass between two votes.


'''Type:''' bitmask
'''Type:''' integer


'''Parameters:'''
'''Default:''' 0


1 Medics can't pick up their own health packs to cure themselves of poison needle effects.
== g_voteResultsMinLevel==


2 Medics can't pick up their own health packs at all.
'''Description:'''


4 A level 4 medic will always be revived to full health (no matter what the level of the reviving medic is).
Defines the minimum admin level for the players to see the results of the votes.


8 Value is not in use.
'''Type:''' integer


16 Medics do not spawn with akimbo pistols, regardless of their light weapons skill.
'''Default:''' -1


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


64 Medics can use syringes to heal living teammates as an alternative to the tk/revive cycle.
'''Description:'''


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.
Defines the length in seconds of the mute issued by a passed mute vote. You can use modifiers with this value.


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)
'''Type:''' integer


512 Adrenaline use takes only half of the chargebar.
'''Default:''' 3h


'''Default:''' 0
= Weapons, Classes and Skills =


== g_adrenDmgReduction ==
== g_poison ==


'''Description:'''
'''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
Gives medics the ability to poison enemies by sticking with their medic
syringe.  Enemies will be damaged at g_poison/second when g_poison is
set to a value more than 0.  Setting to 0 will disable poison needles.


'''Default:''' 50
'''Type:''' integer
 
'''Default:''' 0


== g_medicHealthRegen==
== g_poisonFlags ==


'''Description:'''
'''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).
Controls the effects of g_poison.


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


'''Parameters:'''
'''Parameters:'''


0 3/2
1 Poisoned player's screen shakes.


1 2/2
2 Other players see the poisoned player's head shaking.


2 2/1
4 Poisoned player appears to bend over (hurl) every 2 seconds. (poisoned player does not see this happen.)


3 2/0
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.


4 1/1
16 Poisoned player is disoriented (view turned upside down).


5 1/0
'''Default:''' 7


6 0/0
== g_medics ==


7 0/1
'''Description:'''


8 0/2
Controls various aspects of the medic, to nerf or otherwise change their behavior.


'''Default:''' 0
'''Type:''' bitmask


== g_throwableKnives ==
'''Parameters:'''


'''Description:'''
1 Medics can't pick up their own health packs to cure themselves of poison needle effects.


Enable knife throwing. The amount of throwable knives is g_maxKnives - 1. Any non zero value will enable knife throwing.
2 Medics can't pick up their own health packs at all.


'''Type:''' [0|1]
4 A level 4 medic will always be revived to full health (no matter what the level of the reviving medic is).


'''Default:''' 0
8 Value is not in use.


== g_maxKnives ==
16 Medics do not spawn with akimbo pistols, regardless of their light weapons skill.


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


Maximum number of knives a player can posses. Take note that if g_throvableKnives is enabled, the last knife cannot be thrown.
64 Medics can use syringes to heal living teammates as an alternative to the tk/revive cycle.


'''Type:''' integer
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.


'''Default:''' 5
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)


== g_knifeChargeTime ==
512 Adrenaline use takes only half of the chargebar.


'''Description:'''
'''Default:''' 0


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


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


When multiple engineers help build a constructible, each gets his share of XP
'''Type:''' Integer
once the constructible is build.  The share of gained XP is proportional to
how much the engineer built.


'''Type:''' [0|1]
'''Default:''' 50


'''Default:''' 0
== g_medicHealthRegen==
 
== g_asblock ==


'''Description:'''
'''Description:'''


Airstrike blocking.
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:''' bitmask
'''Type:''' [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 ]


'''Parameters:'''
'''Parameters:'''


1 Make an announcement whenever an airstrike is blocked.
0 3/2


2 A player may easily block an airstrike by crouching, standing, or proning over the enemy's canister to block the airstrike.
1 2/2


4 Reserved.
2 2/1


8 Lvl 3 FieldOPs and higher cannot have the airstrikes blocked by players.
3 2/0


16 Disables teammates blocking airstrikes.
4 1/1


32 Give 2 Battle Sense XP to player that blocks the air strike. No XP given for blocking teammates or your own air strike.
5 1/0


'''Default:''' 0
6 0/0


== g_panzersSpeed ==
7 0/1


'''Description:'''
8 0/2


Speed of the panzers. Normal panzer speed is 2500.
'''Default:''' 0


'''Type:''' integer
== g_throwableKnives ==
 
'''Default:''' 2500
 
== g_panzersGravity ==


'''Description:'''
'''Description:'''


If set to 1, panzer trajectory will be affected by gravity.
Enable knife throwing. The amount of throwable knives is g_maxKnives - 1. Any non zero value will enable knife throwing.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 2,162: Line 2,219:
'''Default:''' 0
'''Default:''' 0


== g_dyno==
== g_maxKnives ==


'''Description:'''
'''Description:'''


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


'''Type:''' bitmaks
'''Type:''' integer


'''Parameters:'''
'''Default:''' 5


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


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


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.
How long it takes in milliseconds for the "knife" to charge to the maximum throw speed/force.


8 Dynamite cannot be disarmed by your team (inlcuding yourself), so only the other team can defuse it.
'''Type:''' integer


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


'''Default:''' 0
== g_constructibleXPSharing==
 
== g_canisterKick ==


'''Description:'''
'''Description:'''


Canister and grenade kicking.
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.


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:''' [0|1]
 
'''Type:''' integer


'''Default:''' 0
'''Default:''' 0


== g_canisterKickOwner ==
== g_asblock ==


'''Description:'''
'''Description:'''


Kicked Canister Ownership.
Airstrike blocking.


'''Type:''' [0|1]
'''Type:''' bitmask


'''Parameters:'''
'''Parameters:'''


0 Kicker does not take ownership of the canister.
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.


1 Kicker takes ownership of the canister.
4 Reserved.


'''Default:''' 0
8 Lvl 3 FieldOPs and higher cannot have the airstrikes blocked by players.


== g_reflectFriendlyFire ==
16 Disables teammates blocking airstrikes.


'''Description:'''
32 Give 2 Battle Sense XP to player that blocks the air strike. No XP given for blocking teammates or your own air strike.


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.
'''Default:''' 0


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


A value of 0.5 would reflect half damage.
'''Description:'''


Set to 0 to disable reflected friendly fire.
Speed of the panzers. Normal panzer speed is 2500.


'''Type:''' float
'''Type:''' integer


'''Default:''' 0.0
'''Default:''' 2500


== g_reflectFFWeapons==
== g_panzersGravity ==


'''Description:'''
'''Description:'''


Selects which category of weapon will reflect when g_reflectFriendlyFire is non-zero.
If set to 1, panzer trajectory will be affected by gravity.


'''Type:''' bitmask
'''Type:''' [0|1]


'''Parameters:'''
'''Default:''' 0


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


2 Enable reflected damage for Grenades and grenade launchers
'''Description:'''


4 Enable reflected damage for Knives (includes thrown knives)
Dynamite Behaviour.


8 Enable reflected damage for Panzers
'''Type:''' bitmaks


16 Enable reflected damage for Flamethrowers
'''Parameters:'''


32 Enable reflected damage for Mortars
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.


64 Enable reflected damage for Satchel Charges
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.


128 Enable reflected damage for Artillery and Air Strikes
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.


256 Enable reflected damage for Dynamite and Construction Damage
8 Dynamite cannot be disarmed by your team (inlcuding yourself), so only the other team can defuse it.


512 Enable reflected damage for Landmines
16 Enable dynamite ID. You can see the owner of a dynamite when you point at it.


'''Default:''' 31
'''Default:''' 0


'''Note:'''
== g_canisterKick ==


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


== g_friendlyFire  ==
Canister and grenade kicking.


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


To enable / disable friendly fire on server.&nbsp;
'''Type:''' integer


'''Type''': [0|1]
'''Default:''' 0


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


'''Description:'''
'''Description:'''


Allows greater control over friendly fire events.
Kicked Canister Ownership.


'''Type:''' bitmask
'''Type:''' [0|1]


'''Parameters:'''
'''Parameters:'''


1 Landmines ALWAYS damage teammates regardless of g_friendlyfire setting
0 Kicker does not take ownership of the canister.


2 Allow 'grenade boosting' when friendly fire is off
1 Kicker takes ownership of the canister.
 
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
'''Default:''' 0
'''Changelog:'''
Flag 32 was added in version 0.5.1.


== g_staminaRecharge ==
== g_staminaRecharge ==
Line 2,392: Line 2,435:
2048 Knives will always gib a body (not a player, use g_dmgKnife instead if you want that)
2048 Knives will always gib a body (not a player, use g_dmgKnife instead if you want that)


4096 Extra ammo is included with dropped weapons.
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.
8192 "Ammo"/"No ammo" icon is shown for dropped weapons.
Line 2,671: Line 2,714:
'''Minimum required version:''' 0.7.0
'''Minimum required version:''' 0.7.0


= Weapon Damage and Radius Settings =
= Friendly Fire =


== g_dmgKnife ==
== g_friendlyFire  ==


'''Description:'''
'''Description:'''  


Amount of damage done by the knife.
To enable / disable friendly fire on server.&nbsp;


'''Type:''' integer
'''Type''': [0|1]


'''Default:''' 10
'''Default''': 0


== g_dmgSten ==
== g_friendlyFireOpts ==


'''Description:'''
'''Description:'''


Amount of damage done by the sten.
Allows greater control over friendly fire events.


'''Type:''' integer
'''Type:''' bitmask


'''Default:''' 14
'''Parameters:'''


== g_dmgFG42 ==
1 Landmines ALWAYS damage teammates regardless of g_friendlyfire setting


'''Description:'''
2 Allow 'grenade boosting' when friendly fire is off


Amount of damage done by the FG-42.
4 Non-engineer players do not trigger landmines on their own team


'''Type:''' integer
8 Players do not trigger trip mines on their own team


'''Default:''' 15
16 Tripmines ALWAYS damage teammates regardless of g_friendlyfire setting


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


'''Description:'''
'''Default:''' 0


Amount of damage done by the pistol weapons.
'''Changelog:'''


'''Type:''' integer
Flag 32 was added in version 0.5.1.


'''Default:''' 18


== g_dmgSMG ==
== g_reflectFriendlyFire ==


'''Description:'''
'''Description:'''


Amount of damage done by the SMG weapons (Thompson and MP-40).
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.


'''Type:''' integer
A value of 1.0 would reflect full damage.


'''Default:''' 18
A value of 0.5 would reflect half damage.


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


'''Description:'''
'''Type:''' float


Amount of damage done by the MG42.
'''Default:''' 0.0


'''Type:''' integer
== g_reflectFFWeapons ==


'''Default:''' 18
'''Description:'''


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


'''Description:'''
'''Type:''' bitmask


Amount of damage done by an emplaced MG.
'''Parameters:'''


'''Type:''' integer
1 Enable reflected damage for Firearms (all types of guns)


'''Default:''' 20
2 Enable reflected damage for Grenades and grenade launchers


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


'''Description:'''
8 Enable reflected damage for Panzers
 
16 Enable reflected damage for Flamethrowers


Amount of damage done by the FG-42 when scoped.
32 Enable reflected damage for Mortars


'''Type:''' integer
64 Enable reflected damage for Satchel Charges


'''Default:''' 30
128 Enable reflected damage for Artillery and Air Strikes


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


'''Description:'''
512 Enable reflected damage for Landmines


Amount of damage done by unscoped rifles (K43 and Garand).
'''Default:''' 31


'''Type:''' integer
'''Note:'''


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


== g_dmgSniper ==
== g_teamDamageRestriction ==


'''Description:'''
'''Description:'''


Amount of damage done by a scoped Garand or K43.
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
'''Type:''' integer


'''Default:''' 50
'''Default:''' 0


== g_dmgFlamer ==
== g_minHits ==


'''Description:'''
'''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.
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
'''Type:''' integer


'''Default:''' 5
'''Default:''' 6
 
= Hitboxes, Physics & Anti Lag Settings =


== g_dmgGrenade==
== g_antilagDelay ==


'''Description:'''
'''Description:'''


Amount of damage done by a grenade.
Manually delay the antilag of every player on the server. Might give very weird behaviour, so use at own risk.


'''Type:''' integer
'''Type:''' integer


'''Default:''' 250
'''Default:''' 0


== g_dmgGrenadeRadius ==
== g_fixedphysics==


'''Description:'''
'''Description:'''


Blast radius of a grenade.
Creates a smoother movement when enabled.


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 250
'''Default:''' 0


== g_dmgGLauncher ==
== g_fixedphysicsfps ==


'''Description:'''
'''Description:'''


Amount of damage done by an engineer's grenade-launcher grenades.
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
'''Type:''' integer


'''Default:''' 250
'''Default:''' 125
 
'''Note:'''
 
This doesn't actually change the framerates in clients, so the clients can keep their own framerates.


== g_dmgGLauncherRadius ==
== g_antiwarp==


'''Description:'''
'''Description:'''


Blas radius of an engineer's grenade-launcher grenades.
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:''' integer
'''Type:''' [0|1]


'''Default:''' 250
'''Default:''' 1


== g_dmgTMine==
== g_realBody ==


'''Description:'''
'''Description'''


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


'''Type:''' integer
'''Parameters:'''


'''Default:''' 260
0 Hitboxes used up to 0.5.0


== g_dmgLandmine ==
1 Use smaller hitboxes


'''Description:'''
'''Default:''' 0


Amount of damage done by a landmine.
'''Minimum required version:''' 0.5.1


'''Type:''' integer
'''Note'''


'''Default:''' 250
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_dmgLandmineRadius ==
== g_skipCorrection ==


'''Description:'''
'''Description:'''


Blast radius of a landmine.
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:''' integer
'''Type:''' [0|1]


'''Default:''' 250
'''Default:''' 0


== g_dmgSatchel ==
== g_maxWarp ==


'''Description:'''
'''Description:'''


Amount of damage done by a satchel.
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
'''Type:''' integer


'''Default:''' 250
'''Default:''' 4
 
= Fun Wars and Crazy Settings =


== g_dmgSatchelRadius==
== g_panzerwar==


'''Description:'''
'''Description:'''


Blast radius of a satchel.
Enables/Disables Panzerwar. 1 is enabled, 0 is disabled.


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 250
'''Default:''' 0


== g_dmgPanzer ==
== g_sniperwar ==


'''Description:'''
'''Description:'''


Amount of damage done by a panzerfaust rocket.
Enables/Disables Sniperwar. 1 is enabled, 0 is disabled.


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 400
'''Default:''' 0


== g_dmgPanzerRadius ==
== g_riflewar ==


'''Description:'''
'''Description:'''


Blast radius of a panzerfaust rocket.
Enables/Disables Riflewar. 1 is enabled, 0 is disabled.


'''Type:''' integer
'''Type:''' [0|1]


'''Default:''' 300
'''Default:''' 0


== g_dmgMortar==
== g_min_crazyspeed ==


'''Description:'''
'''Description:'''


Amount of damage done by a mortar round.
Set minimum speed for !crazyspeed command.
 
'''Type:''' Integer


'''Type:''' integer
'''Default:''' 200


'''Default:''' 400
'''Minimum required version:''' 0.7.0


== g_dmgMortarRadius==
== g_max_crazyspeed ==


'''Description:'''
'''Description:'''


Blast radius of a mortar round.
Set maximum speed for !crazyspeed command.
 
'''Type:''' Integer


'''Type:''' integer
'''Default:''' 540


'''Default:''' 400
'''Minimum required version:''' 0.7.0


== g_dmgDynamite ==
== g_min_crazygravity ==


'''Description:'''
'''Description:'''


Amount of damage done by a dynamite.
Set minimum speed for !crazygravity command.
 
'''Type:''' Integer


'''Type:''' integer
'''Default:''' 10


'''Default:''' 400
'''Minimum required version:''' 0.7.0


== g_dmgDynamiteRadius ==
== g_max_crazygravity ==


'''Description:'''
'''Description:'''


Blast radius of a dynamite.
Set max speed for !crazygravity command.


'''Type:''' integer
'''Type:''' Integer


'''Default:''' 400
'''Default:''' 1200
 
'''Minimum required version:''' 0.7.0
 
= Watermark =


== g_dmgAir ==
== g_watermark==


'''Description:'''
'''Description:'''


Amount of damage done PER BOMB by an airstrike.
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:''' integer
'''Type:''' string


'''Default:''' 400
'''Default:''' ""


== g_dmgAirRadius==
== g_watermarkFadeAfter ==


'''Description:'''
'''Description:'''


Blast radius PER BOMB of an airstrike.
When g_watermark is set, the watermark will fade out after [integer] number of seconds.


'''Type:''' integer
'''Type:''' integer


'''Default:''' 400
'''Default:''' 0


== g_dmgArty ==
== g_watermarkFadeTime ==


'''Description:'''
'''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)
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
'''Type:''' integer


'''Default:''' 400
'''Default:''' 0
 
= Hitsounds =


== g_dmgArtyRadius ==
== g_hitsounds ==


'''Description:'''
'''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.
Server side hitsound options.


'''Type:''' integer
'''Type:''' bitmask


'''Default:''' 400
'''Parameters:'''


== g_dmgDemolition ==
1 Enable hitsounds


'''Description:'''
2 Disable hitsounds when shooting wounded players


Amount of damage done by Improvised Demolition.
4 Disable the headshot sound when shooting wounded player in the head. (default hitsound will be used in it's place)


'''Type:''' integer
8 Enable warning sound from hitting team mates


'''Default:''' 1100
16 Disable hitsounds from poison damage


== g_dmgDemolitionRadius ==
32 Disable hitsounds from explosive weapons


'''Description:'''
'''Default:''' 1


Blast radius of Improvised Demolition.
'''Note:'''


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


'''Default:''' 250
== g_defaultHitSounds ==


== g_dmg ==
'''Description:'''
'''Description:'''


Enables experimental advanced combat options.
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:''' bitmask
'''Type:''' [0|1|2|3]


'''Parameters:'''
'''Parameters:'''


0 Use traditional ET settings for combat.
0 No selection, will default to silEnT in the client end.


1 Use Advanced Hit Locations: Differentiates between Head, Body, Arm, and Leg shot when computing damage.
1 Defaults silEnT hitsounds.


2 Applies a more realistic damage vs. range equation for short-ranged weapons. This will reduce the effectiveness of these weapons at longer ranges.
2 Defaults ETPro hitsounds.


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.
3 Defaults ETPub hitsounds.


8 Use bullet fall-off approximations when computing shot trajectory.
'''Default:''' 1


16 Improve accuracy of non-scoped single-shot rifles.
'''Minimum required version:''' 0.6.0


32 Use alternate bullet-spread characteristics for automatic or rapid-fire weapons.
= Intermission =


64 Damage from players who are spectators or have disconnected is ignored, and XP is not awarded.
== g_intermissionTime ==
 
'''Default:''' 0
 
== g_dmgHeadShotMin==


'''Description:'''
'''Description:'''


This represents the minimum damage done by a headshot regardless of the weapon used to make the shot.
Set the length of time the end of game screens displays before loading the next map.
 
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
'''Type:''' integer


'''Default:''' 50
'''Default:''' 60


== g_dmgHeadShotRatio ==
== g_intermissionReadyPercent ==


'''Description:'''
'''Description:'''


This specifies the multiplier used for headshots that do damage ABOVE g_dmgHeadShotMin.
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


'''Type:''' float
'''Default:''' 100


'''Default:''' 2.0
= Miscellaneous =


== g_knifeThrowDamage ==
== g_proneDelay ==


'''Description:'''
'''Description:'''


The amount of damage a thrown knife will cause to enemy.
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]


'''Type:''' integer
'''Parameters:'''


'''Default:''' 50
'''Default:''' 0


== g_dmgPPSh==
== g_realPlayTime ==


'''Description:'''
'''Description:'''


The amount of damage done by a PPSh.
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]


'''Type:''' integer
'''Parameters:'''


'''Default:''' 19
'''Default:''' 1


= Hitboxes, Physics & Anti Lag Settings =
'''Minimum required version:''' 0.6.0


== g_antilagDelay ==
== g_extraStatistics ==


'''Description:'''
'''Description:'''


Manually delay the antilag of every player on the server. Might give very weird behaviour, so use at own risk.
Additional statistics over the end game awards.


'''Type:''' integer
'''Type:''' bitmask


'''Default:''' 0
'''Parameters:'''


== g_fixedphysics==
1 Player with most mine kills


'''Description:'''
2 Player with most mine damage inflicted
 
4 Player with most knife kills
 
8 Player with most gibs


Creates a smoother movement when enabled.
16 Player with most artillery kills


'''Type:''' [0|1]
32 Player with most airstrike kills


'''Default:''' 0
'''Default:''' 0


== g_fixedphysicsfps ==
== g_packDistance ==


'''Description:'''
'''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.
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
'''Type:''' integer


'''Default:''' 125
'''Default:''' 0


'''Note:'''
== g_dropHealth ==


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


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


'''Description:'''
'''Type:''' integer


Enable ETPro-style antiwarp. This gives non-lagging players a much better game but for laggers it will be a bit more uncomfortable. This CVAR overrides both g_maxWarp AND g_skipCorrection in order to keep things consistent.
'''Default:''' 0


'''Type:''' [0|1]
== g_dropAmmo ==


'''Default:''' 1
'''Description:'''


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


'''Description'''
'''Type:''' integer


Enable ETPro headboxes.
'''Default:''' 0


'''Type:''' [0|1]
== g_tossDistance==


'''Parameters:'''
'''Description:'''


0 Regular headbox positions.
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.


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


'''Default:''' 1
'''Default:''' 0


'''Note:'''
== g_misc==


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


'''Change log:'''
Miscellaneous options.


:* 0.5.1 - The option was removed. The ETPro headboxes are always used.
'''Parameters'''


== g_realBody ==
Type: '''bitmask'''


'''Description'''
1 Enable double jump.


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.
2 Enable binoc master competition. Requires g_weapons 64 to be set.


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


0 Hitboxes used up to 0.5.0
8 Disable self damage.


1 Use smaller hitboxes
16 Players can not jump if stamina is too low.


'''Default:''' 0
32 Enable Jaymod style doublejump.


'''Minimum required version:''' 0.5.1
64 Disable Falling Damage.


'''Note'''
128 Announce revives.


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.
256 Setting this flag disables the "First Blood" announcement.


== g_skipCorrection ==
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


'''Description:'''
1024 Enable the enemy team objective carry indicator.


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.
'''Default:''' 0


This replaces g_smoothClients from etmain.
'''Changelog:'''
* Flag 1024 was added in version 0.8.2.


'''Type:''' [0|1]
== g_moverScale ==


'''Default:''' 0
'''Description:'''


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


'''Description:'''
'''Type:''' float


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.
'''Default:''' 1.0


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


'''Type:''' integer
Controls the behavior of the /kill command. See also g_fear and g_maxSelfkills.


'''Default:''' 4
'''Type:''' bitmask


= Miscallenous =
'''Parameters:'''


== g_proneDelay ==
1 Player spawns with half charge bar after /kill


'''Description:'''
2 Player spawns with 0 charge bar after /kill


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


'''Type:''' [0|1]
8 Disable /kill when player is frozen


'''Parameters:'''
16 Disable /kill when player is poisoned


'''Default:''' 0
'''Default:''' 0


== g_realPlayTime ==
== g_maxSelfkills ==


'''Description:'''
'''Description:'''


Show additional real play time of the payer (without spec time) in the debriefing screen at the end of the map.
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.
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]
'''Type:''' integer


'''Parameters:'''
'''Default:''' -1


'''Default:''' 1
== g_ammoCabinetTime ==


'''Minimum required version:''' 0.6.0
'''Description:'''


== g_extraStatistics ==
The time between ammo cabinet regenerations in milliseconds.


'''Description:'''
'''Type:''' integer
 
'''Default:''' 60000


Additional statistics over the end game awards.
== g_healthCabinetTime ==


'''Type:''' bitmask
'''Description:'''


'''Parameters:'''
The time between health cabinet regenerations in milliseconds.


1 Player with most mine kills
'''Type:''' integer


2 Player with most mine damage inflicted
'''Default:''' 10000


4 Player with most knife kills
== g_spectator==


8 Player with most gibs
'''Description:'''


16 Player with most artillery kills
Controls spectator behaviour.


32 Player with most airstrike kills
'''Type:''' bitmask


'''Default:''' 0
'''Parameters:'''


== g_packDistance ==
1 When in freelook mode, you can 'fire' at a player to follow. If you miss a player, nothing happens.


'''Description:'''
2 When in freelook mode with the 1 flag set, if you shoot and miss you start following the next available player.


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.
4 When the player you're following goes into limbo, don't move to the next available player.


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


== g_dropHealth ==
== g_truePing ==


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


'''Default:''' 0
'''Default:''' 0


== g_dropAmmo ==
== g_dropObj ==


'''Description:'''
'''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.
Sets the number of times a player can drop/toss the objective (e.g. parts on radar) per life.


'''Type:''' integer
The parts are dropped by pressing the +activate key (usually bound to F) when there's nothing else around to be activated.


'''Default:''' 0
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.


== g_tossDistance==
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.
 
'''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
'''Type:''' integer
Line 3,272: Line 3,344:
'''Default:''' 0
'''Default:''' 0


== g_intermissionTime ==
== g_doubleJumpHeight ==


'''Description:'''
'''Description:'''


Set the length of time the end of game screens displays before loading the next map.
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:''' integer
'''Type:''' float


'''Default:''' 60
'''Default:''' 1.4


== g_intermissionReadyPercent ==
== g_serverInfo==


'''Description:'''
'''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.
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:''' integer
'''Type:''' bitmask


'''Default:''' 100
'''Parameters:'''


== g_misc==
1 Display player team information using the 'P' cvar in the server info string. (etpro and etmain 2.60 behaviour)
'''Description'''


Miscallenous options.
2 Display player team information using the 'Players_Axis' and 'Players_Allies' cvars in the server info string. (etmain < 2.60 behaviour)


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


Type: '''bitmask'''
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.


1 Enable double jump.
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.


2 Enable binoc master competition. Requires g_weapons 64 to be set.
32 Send KR (KillRating) instead of XP in SERVERINFO string. This is overriden by flag 64.


4 When a player is killed he can see the HP the killer has left.
64 Send PR (PlayerRating) instead of XP/KR in SERVERINFO string. Overrides flag 32.


8 Disable self damage.
'''Default:''' 1


16 Players can not jump if stamina is too low.
'''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.


32 Enable Jaymod style doublejump.
== g_fear ==


64 Disable Falling Damage.
'''Description:'''


128 Announce revives.
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.


256 Setting this flag disables the "First Blood" announcement.
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.


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
In-game statistics will reflect that the death was caused by the weapon that did the last recorded damage to the player.


1024 Enable the enemy team objective carry indicator.
Set this to 0 to disable this behaviour.


'''Default:''' 0
'''Type:''' integer


'''Changelog:'''
'''Default:''' 2000
* Flag 1024 was added in version 0.8.2.


== g_moverScale ==
== g_maxNameChanges ==


'''Description:'''
'''Description:'''


Multiply the speed of movers (e.g. tanks) by float.
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:''' float
'''Type:''' integer


'''Default:''' 1.0
'''Default:''' 3


== g_slashKill==
== g_disableComplaints ==


'''Description:'''
'''Description:'''


Controls the behavior of the /kill command. See also g_fear and g_maxSelfkills.
Disable teamkill complaints for some weapons.


'''Type:''' bitmask
'''Type:''' bitmask
Line 3,348: Line 3,420:
'''Parameters:'''
'''Parameters:'''


1 Player spawns with half charge bar after /kill
1 Landmines


2 Player spawns with 0 charge bar after /kill
2 Artillery and airstrikes


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)
4 Mortar


8 Disable /kill when player is frozen
8 Dynamite


16 Disable /kill when player is poisoned
16 Tripmines
 
32 Completely


'''Default:''' 0
'''Default:''' 0


== g_maxSelfkills ==
== g_countryFlags ==


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


'''Default:''' -1
'''Default:''' 1


== g_ammoCabinetTime ==
== g_incognitoCountryFlag ==


'''Description:'''
'''Description:'''


The time between ammo cabinet regenerations in milliseconds.
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:''' integer
'''Type:''' [-1|255]


'''Default:''' 60000
'''Default:''' -1


== g_healthCabinetTime ==
== g_noSkillUpgrades==


'''Description:'''
'''Description:'''


The time between health cabinet regenerations in milliseconds.
When set to 1, disables player skill upgrades.


'''Type:''' integer
'''Type:''' [0|1|2]


'''Default:''' 10000
0 No skill locking.


== g_spectator==
1 Lock skills.


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


Controls spectator behaviour.
'''Default:''' 0


'''Type:''' bitmask
'''Change Log:'''


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


1 When in freelook mode, you can 'fire' at a player to follow. If you miss a player, nothing happens.
== g_flushItems ==


2 When in freelook mode with the 1 flag set, if you shoot and miss you start following the next available player.
'''Description:'''


4 When the player you're following goes into limbo, don't move to the next available player.
Evens the dropped items out with the surface.


8 When the player you're following goes into limbo, go to freelook instead of following the next available player. (4 has precedence)
'''Type:''' [0|1]


'''Default:''' 0
'''Default:''' 1


== g_truePing ==
== g_maxConnsPerIP ==


'''Description:'''
'''Description:'''


Allows players to see the true amount of time it takes until their actions are processed on the server. Pings will show around 50 ms higher than normal, but it's more accurate. Shows in the scoreboard.
Maximum number of connections allowed from one particular IP. This prevents the fake clients Denial of Service attack.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 0
'''Default:''' 4


== g_dropObj ==
== shoutcastPassword ==


'''Description:'''
'''Description:'''


Sets the number of times a player can drop/toss the objective (e.g. parts on radar) per life.
Enables shoutcaster status on the server.


The parts are dropped by pressing the +activate key (usually bound to F) when there's nothing else around to be activated.
'''Type:''' string


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.
'''Default:''' "none"


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


'''Type:''' integer
'''Description:'''


'''Default:''' 0
Controls additional head shot options.


== g_doubleJumpHeight ==
'''Type:''' bitmask


'''Description:'''
'''Parameters:'''


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.
1 Headshots only


'''Type:''' float
2 Instagib damage (controlled by g_instagibDamage)


'''Default:''' 1.4
'''Default:''' 0


== g_serverInfo==
== g_instagibDamage ==


'''Description:'''
'''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.
Damage used for instagib mode (e.g. set this to 160 so that a player can still be revived after being shot.).


'''Type:''' bitmask
'''Type:''' integer


'''Parameters:'''
'''Default:''' 400


1 Display player team information using the 'P' cvar in the server info string. (etpro and etmain 2.60 behaviour)
== g_ettvFlags ==


2 Display player team information using the 'Players_Axis' and 'Players_Allies' cvars in the server info string. (etmain < 2.60 behaviour)
'''Description:'''


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.
Controls additional ETTV options.


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.
'''Type:''' bitmask


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


32 Send KR (KillRating) instead of XP in SERVERINFO string.  This is overriden by flag 64.
1 Prevent ettv slaves from being callvote kicked


64 Send PR (PlayerRating) instead of XP/KR in SERVERINFO string. Overrides flag 32.
2 Grant shoutcaster status to ettv slaves


'''Default:''' 1
'''Default:''' 3


'''Note:'''
== g_mode==


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


== g_fear ==
Controls some additional modes for fun or for testing.


'''Description:'''
'''Type:''' bitmask


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


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.
1 Players will spawn instantly


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


Set this to 0 to disable this behaviour.
4 No damage on players


'''Type:''' integer
8 Players can pick up any weapon on the ground (Removing this bitflag will force all players to respawn!)


'''Default:''' 2000
'''Default:''' 0


== g_inactivity ==
== g_playDead ==


'''Description:'''
'''Description:'''


The number of seconds of player inactivity before the player is made a spectator.
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:''' integer
'''Type:''' [0|1]


'''Default:''' 0
'''Default:''' 0


== g_spectatorInactivity==
== g_shove ==


'''Description:'''
'''Description:'''


The number of seconds of player inactivity as spectator before the player is kicked/dropped from server.
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
'''Type:''' integer


'''Default:''' 0
'''Default:''' 80


== g_gametype ==
== g_shoveNoZ==


'''Description:'''
'''Description:'''


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


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


'''Parameters:'''
'''Default:''' 1


2 Objective
== g_dragCorpse ==


3 Stopwatch
'''Description:'''


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


5 Last Man Standing
'''Type:''' [0|1]


6 Map Voting
'''Default:''' 0


7 Team Death Match
== g_classChange ==


'''Default:''' 4
'''Description:'''


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


'''Description:'''
'''Type:''' [0|1]


Options for PunkBuster GUID and IP spoof detections and behaviour.
'''Default:''' 0


'''Type:''' bitmask
== g_forceLimboHealth ==


'''Parameters:'''
'''Description:'''


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


2 Kick for IPspoofing.
'''Type:''' [0|1]


4 Display a global warning when someone is GUIDspoofing. (When flag 1 is set, this will not work)
'''Default:''' 1


8 Display a global warning when someone is IPspoofing. (When flag 2 is set, this will not work)
== g_goomba==


16 Don't use the stored GUID. (This option is a higher security risk.)
'''Description:'''


32 Don't use the stored IP. (This option is a higher security risk.)
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.


'''Default:''' 3
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.


'''Note:'''
See also g_goombaFlags


Do NOT change this CVAR unless you encounter problems!
Set this to 0 to disable it
 
'''Change Log:'''
 
This cvar was removed in version 0.5.1 and spoofing is checked unconditionally in 0.5.1 and later versions.
 
== 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
'''Type:''' integer


'''Default:''' 3
'''Default:''' 0


== g_disableComplaints ==
== g_goombaFlags ==


'''Description:'''
'''Description:'''


Disable teamkill complaints for some weapons.
Controls the way g_goomba is handled.


'''Type:''' bitmask
'''Type:''' bitmask
Line 3,588: Line 3,657:
'''Parameters:'''
'''Parameters:'''


1 Landmines
1 Cannot do goomba damage to teammates.


2 Artillery and airstrikes
2 Short falls (hopping) on another player does no damage.


4 Mortar
4 Short falls (hopping) does no damage to teammates. (not necessary if 1 or 2 flag is set)


8 Dynamite
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 Tripmines
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 Completely
32 Falling corpses won't cause damage.


'''Default:''' 0
'''Default:''' 0


== g_watermark==
'''Note:'''


'''Description:'''
Set this to 31 to have g_goomba work like shrubet.


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".
== g_spawnInvul ==
 
'''Type:''' string
 
'''Default:''' ""
 
== g_watermarkFadeAfter ==


'''Description:'''
'''Description:'''


When g_watermark is set, the watermark will fade out after [integer] number of seconds.
The number of seconds players will be invincible after they spawn.


'''Type:''' integer
'''Type:''' integer


'''Default:''' 0
'''Default:''' 3


== g_watermarkFadeTime ==
== g_spawnInvulFair ==


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


'''Default:''' 0
'''Default:''' 1


== g_panzerwar==
== g_spinCorpse==


'''Description:'''
'''Description:'''


Enables/Disables Panzerwar. 1 is enabled, 0 is disabled.
Allow players to use +left and +right binds to spin their corpse when dead or playing dead.


'''Type:''' [0|1]
'''Type:''' [0|1]
Line 3,642: Line 3,705:
'''Default:''' 0
'''Default:''' 0


== g_sniperwar ==
== g_teamChangeKills ==


'''Description:'''
'''Description:'''


Enables/Disables Sniperwar. 1 is enabled, 0 is disabled.
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]
'''Type:''' [0|1]


'''Default:''' 0
'''Default:''' 1


== g_riflewar ==
== g_maxIgnoresPerMap ==


'''Description:'''
'''Description:'''


Enables/Disables Riflewar. 1 is enabled, 0 is disabled.
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:''' [0|1]
'''Type:''' Integer


'''Default:''' 0
'''Default:''' 2
 
'''Minimum required version:''' 0.7.0
 
= Logs =


== g_countryFlags ==
== g_logOptions==


'''Description:'''
'''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).
This is meant to match the shrubmod g_logOptions cvar, but so far the only implemented flags are:


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!
'''Type:''' bitmask


Read the database license at http://geolite.maxmind.com/download/geoip/database/LICENSE.txt
'''Parameters:'''
Download the latest database at http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz


'''Type:''' [0|1]
1 Server outputs obituaries to chat.


'''Default:''' 1
2 Adrenaline countdown displayed.


== g_noSkillUpgrades==
4 Disable display of tap-out confirmation box.


'''Description:'''
8 Display connection attempts by banned players.


When set to 1, disables player skill upgrades.
16 Display gib reports ("&lt;victim&gt; was gibbed by &lt;attacker&gt;").


'''Type:''' [0|1|2]
32 Omit "item" lines from log file.


0 No skill locking.
64 Report gibs.


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


2 Lock skills and hide all HUD elemnts that would show the skill levels.
256 Log all private messages (/m commands).  This setting won't have any effect unless g_tyranny is enabled.


'''Default:''' 0
512 Logs the real time into logs, instead of the normal uptime of the server.


'''Change Log:'''
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.


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


== g_flushItems ==
4096 Log client cvar values.


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


Evens the dropped items out with the surface.
16384 Admin log will use new format that is more readable.
 
'''Default:''' 0
 
'''Change log:'''


'''Type:''' [0|1]
0.6.3 - Flags 4096 and 8192 were added.


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


== g_maxConnsPerIP ==
== g_logAdmin==


'''Description:'''
'''Description:'''


Maximum number of connections allowed from one particular IP. This prevents the fake clients Denial of Service attack.
The name of the file that all shrubbot commands will be logged to. For example, g_logAdmin "admin.log".


'''Type:''' integer
'''Type:''' string


'''Default:''' 4
'''Default:''' ""


== shoutcastPassword ==
== g_cheatLog ==


'''Description:'''
'''Description:'''


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


'''Type:''' string
'''Type:''' string


'''Default:''' "none"
'''Default:''' ""
 
= Omni-Bots =


== g_headshot==
== omnibot_enable ==


'''Description:'''
'''Description:'''


Controls additional head shot options.
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:''' bitmask
'''Type:''' [0|1]


'''Parameters:'''
'''Default:''' 1


1 Headshots only
== omnibot_path ==


2 Instagib damage (controlled by g_instagibDamage)
'''Description:'''


'''Default:''' 0
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.


== g_instagibDamage ==
'''Type:''' string


'''Description:'''
'''Default:''' ""


Damage used for instagib mode (e.g. set this to 160 so that a player can still be revived after being shot.).
== 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
'''Type:''' integer


'''Default:''' 400
'''Default:''' -1


== g_inactivityOptions ==
== omnibot_flags==


'''Description:'''
'''Description:'''


Controls additional inactivity options.
Customizes bot management/behavior.


'''Type:''' bitmask
'''Type:''' bitmask
Line 3,763: Line 3,839:
'''Parameters:'''
'''Parameters:'''


1 Don't drop shoutcasters
1 Disables XPSave for bots


2 Don't drop spectators when in following mode
2 Bots cannot mount tanks


4 ETmain inactivity behavior (don't wait for a full server)
4 Bots cannot mount emplaced guns


8 Shrubbot flag '0' admins will be moved to spectators due to team inactivity
8 Don't track bot count in omnibot_playing cvar


'''Default:''' 3
16 Bots will target ungibbed enemies


== g_ettvFlags ==
32 Bots will trigger team and spotted mines


'''Description:'''
64 Bots can use g_shove


Controls additional ETTV options.
65536 Bots are granted shrubbot command immunity (the same as shrubbot flag !)


'''Type:''' bitmask
131072 Bots cannot be !kicked or !banned


'''Parameters:'''
262144 Disable shrubbot greeting for bots


1 Prevent ettv slaves from being callvote kicked
'''Default:''' 0


2 Grant shoutcaster status to ettv slaves
= Lua =


'''Default:''' 3
== lua_modules==
 
== g_mode==


'''Description:'''
'''Description:'''


Controls some additional modes for fun or for testing.
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:''' bitmask
'''Type:''' string


'''Parameters:'''
'''Default:''' ""


1 Players will spawn instantly
== lua_allowedModules==


2 Each class receives adrenaline
'''Description:'''


4 No damage on players
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).


8 Players can pick up any weapon on the ground (Removing this bitflag will force all players to respawn!)
'''Type:''' string


'''Default:''' 0
'''Default:''' ""


== g_hitsounds ==
= Weapon Damage and Radius Settings =


== g_dmg ==
'''Description:'''
'''Description:'''


Server side hitsound options.
Enables experimental advanced combat options.


'''Type:''' bitmask
'''Type:''' bitmask
Line 3,819: Line 3,894:
'''Parameters:'''
'''Parameters:'''


1 Enable hitsounds
0 Use traditional ET settings for combat.


2 Disable hitsounds when shooting wounded players
1 Use Advanced Hit Locations: Differentiates between Head, Body, Arm, and Leg shot when computing damage.


4 Disable the headshot sound when shooting wounded player in the head. (default hitsound will be used in it's place)
2 Applies a more realistic damage vs. range equation for short-ranged weapons. This will reduce the effectiveness of these weapons at longer ranges.


8 Enable warning sound from hitting team mates
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.


16 Disable hitsounds from poison damage
8 Use bullet fall-off approximations when computing shot trajectory.


32 Disable hitsounds from explosive weapons
16 Improve accuracy of non-scoped single-shot rifles.


'''Default:''' 1
32 Use alternate bullet-spread characteristics for automatic or rapid-fire weapons.


'''Note:'''
64 Damage from players who are spectators or have disconnected is ignored, and XP is not awarded.


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


== g_playDead ==
== g_dmgHeadShotMin==


'''Description:'''
'''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).
This represents the minimum damage done by a headshot regardless of the weapon used to make the shot.


'''Type:''' [0|1]
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:''' 0
'''Default:''' 50


== g_shove ==
== g_dmgHeadShotRatio ==


'''Description:'''
'''Description:'''


Allows players to push other players with the "use" key.  The integer adjusts the amount of force players shove with. 80 seems fair.
This specifies the multiplier used for headshots that do damage ABOVE g_dmgHeadShotMin.
 
'''Type:''' float


'''Type:''' integer
'''Default:''' 2.0


'''Default:''' 80


== g_shoveNoZ==
== g_dmgKnife ==


'''Description:'''
'''Description:'''


Set this to 1 if you want to disable shove in the up/down direction (a.k.a "boosting").
Amount of damage done by the knife.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 1
'''Default:''' 10


== g_dragCorpse ==
== g_dmgSten ==


'''Description:'''
'''Description:'''


Allows players do drag wounded players with the use key when moving backward slowly.  Works best when crouching or prone.
Amount of damage done by the sten.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 0
'''Default:''' 14


== g_classChange ==
== g_dmgFG42 ==


'''Description:'''
'''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.
Amount of damage done by the FG-42.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 0
'''Default:''' 15


== g_forceLimboHealth ==
== g_dmgPistol==


'''Description:'''
'''Description:'''


If set to 0 it takes about 3 shots to gib a wounded player, if set to 1 it takes about 5.
Amount of damage done by the pistol weapons.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 1
'''Default:''' 18


== g_goomba==
== g_dmgSMG ==


'''Description:'''
'''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.
Amount of damage done by the SMG weapons (Thompson and MP-40).
 
'''Type:''' integer
 
'''Default:''' 18


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


See also g_goombaFlags
'''Description:'''


Set this to 0 to disable it
Amount of damage done by the MG42.


'''Type:''' integer
'''Type:''' integer


'''Default:''' 0
'''Default:''' 18


== g_goombaFlags ==
== g_dmgMG ==


'''Description:'''
'''Description:'''


Controls the way g_goomba is handled.
Amount of damage done by an emplaced MG.


'''Type:''' bitmask
'''Type:''' integer


'''Parameters:'''
'''Default:''' 20


1 Cannot do goomba damage to teammates.
== g_dmgFG42Scope==


2 Short falls (hopping) on another player does no damage.
'''Description:'''


4 Short falls (hopping) does no damage to teammates. (not necessary if 1 or 2 flag is set)
Amount of damage done by the FG-42 when scoped.


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).
'''Type:''' integer


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.
'''Default:''' 30


32 Falling corpses won't cause damage.
== g_dmgInfRifle ==


'''Default:''' 0
'''Description:'''


'''Note:'''
Amount of damage done by unscoped rifles (K43 and Garand).
 
'''Type:''' integer


Set this to 31 to have g_goomba work like shrubet.
'''Default:''' 34


== g_spawnInvul ==
== g_dmgSniper ==


'''Description:'''
'''Description:'''


The number of seconds players will be invincible after they spawn.
Amount of damage done by a scoped Garand or K43.


'''Type:''' integer
'''Type:''' integer


'''Default:''' 3
'''Default:''' 50


== g_spawnInvulFair ==
== g_dmgFlamer ==


'''Description:'''
'''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)
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:''' [0|1]
'''Type:''' integer


'''Default:''' 1
'''Default:''' 5


== g_spinCorpse==
== g_dmgGrenade==


'''Description:'''
'''Description:'''


Allow players to use +left and +right binds to spin their corpse when dead or playing dead.
Amount of damage done by a grenade.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 0
'''Default:''' 250


== g_teamChangeKills ==
== g_dmgGrenadeRadius ==


'''Description:'''
'''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.
Blast radius of a grenade.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 1
'''Default:''' 250


== g_maxIgnoresPerMap ==
== g_dmgGLauncher ==


'''Description:'''
'''Description:'''


he 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 then 255 will always allow ignoring. Any value below 1 will disable ignoring completely.
Amount of damage done by an engineer's grenade-launcher grenades.


'''Type:''' Integer
'''Type:''' integer


'''Default:''' 2
'''Default:''' 250


'''Minimum required version:''' 0.7.0
== g_dmgGLauncherRadius ==
 
== g_min_crazyspeed ==


'''Description:'''
'''Description:'''


Set minimum speed for !crazyspeed command.
Blas radius of an engineer's grenade-launcher grenades.


'''Type:''' Integer
'''Type:''' integer


'''Default:''' 200
'''Default:''' 250


'''Minimum required version:''' 0.7.0
== g_dmgTMine==
 
== g_max_crazyspeed ==


'''Description:'''
'''Description:'''


Set maximum speed for !crazyspeed command.
Amount of damage done by a tripmine.


'''Type:''' Integer
'''Type:''' integer


'''Default:''' 540
'''Default:''' 260


'''Minimum required version:''' 0.7.0
== g_dmgLandmine ==
 
== g_min_crazygravity ==


'''Description:'''
'''Description:'''


Set minimum speed for !crazygravity command.
Amount of damage done by a landmine.


'''Type:''' Integer
'''Type:''' integer


'''Default:''' 10
'''Default:''' 250


'''Minimum required version:''' 0.7.0
== g_dmgLandmineRadius ==
 
== g_max_crazygravity ==


'''Description:'''
'''Description:'''


Set max speed for !crazygravity command.
Blast radius of a landmine.


'''Type:''' Integer
'''Type:''' integer


'''Default:''' 1200
'''Default:''' 250


'''Minimum required version:''' 0.7.0
== g_dmgSatchel ==


= Logs =
'''Description:'''


== g_logOptions==
Amount of damage done by a satchel.


'''Description:'''
'''Type:''' integer


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


'''Type:''' bitmask
== g_dmgSatchelRadius==


'''Parameters:'''
'''Description:'''


1 Server outputs obituaries to chat.
Blast radius of a satchel.


2 Adrenaline countdown displayed.
'''Type:''' integer


4 Disable display of tap-out confirmation box.
'''Default:''' 250


8 Display connection attempts by banned players.
== g_dmgPanzer ==


16 Display gib reports ("&lt;victim&gt; was gibbed by &lt;attacker&gt;").
'''Description:'''


32 Omit "item" lines from log file.
Amount of damage done by a panzerfaust rocket.


64 Report gibs.
'''Type:''' integer


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


256 Log all private messages (/m commands).  This setting won't have any effect unless g_tyranny is enabled.
== g_dmgPanzerRadius ==


512 Logs the real time into logs, instead of the normal uptime of the server.
'''Description:'''


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.
Blast radius of a panzerfaust rocket.


2048 Print TK death message like a normal kill message, giving killing weapon, except it is preceeded by a red TEAMKILL: identifier. Only works if g_obituary is set to 3.
'''Type:''' integer


4096 Log client cvar values.
'''Default:''' 300


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


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


'''Default:''' 0
Amount of damage done by a mortar round.


'''Change log:'''
'''Type:''' integer


0.6.3 - Flags 4096 and 8192 were added.
'''Default:''' 400


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


'''Description:'''
'''Description:'''


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


'''Type:''' string
'''Type:''' integer


'''Default:''' ""
'''Default:''' 400


= Omni-Bots =
== g_dmgDynamite ==
 
== omnibot_enable ==


'''Description:'''
'''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.
Amount of damage done by a dynamite.


'''Type:''' [0|1]
'''Type:''' integer


'''Default:''' 1
'''Default:''' 400


== omnibot_path ==
== g_dmgDynamiteRadius ==


'''Description:'''
'''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.
Blast radius of a dynamite.


'''Type:''' string
'''Type:''' integer


'''Default:''' ""
'''Default:''' 400


== g_bot_maxXP ==
== g_dmgAir ==


'''Description:'''
'''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
Amount of damage done PER BOMB by an airstrike.


'''Type:''' integer
'''Type:''' integer


'''Default:''' -1
'''Default:''' 400


== omnibot_flags==
== g_dmgAirRadius==


'''Description:'''
'''Description:'''


Customizes bot management/behavior.
Blast radius PER BOMB of an airstrike.


'''Type:''' bitmask
'''Type:''' integer


'''Parameters:'''
'''Default:''' 400


1 Disables XPSave for bots
== g_dmgArty ==


2 Bots cannot mount tanks
'''Description:'''


4 Bots cannot mount emplaced guns
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)


8 Don't track bot count in omnibot_playing cvar
'''Type:''' integer


16 Bots will target ungibbed enemies
'''Default:''' 400


32 Bots will trigger team and spotted mines
== g_dmgArtyRadius ==


64 Bots can use g_shove
'''Description:'''


65536 Bots are granted shrubbot command immunity (the same as shrubbot flag !)
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.


131072 Bots cannot be !kicked or !banned
'''Type:''' integer


262144 Disable shrubbot greeting for bots
'''Default:''' 400


'''Default:''' 0
== g_dmgDemolition ==
 
= Lua =
 
== lua_modules==


'''Description:'''
'''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.
Amount of damage done by Improvised Demolition.


'''Type:''' string
'''Type:''' integer


'''Default:''' ""
'''Default:''' 1100


== lua_allowedModules==
== g_dmgDemolitionRadius ==


'''Description:'''
'''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).
Blast radius of Improvised Demolition.


'''Type:''' string
'''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:''' ""
'''Default:''' 19


= Debugging =
= Debugging =
Line 4,224: Line 4,312:


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