Server Manual 0.5.0
Updated for silEnT 0.5.0
Table of all server cvars
Server CVAR Reference
Announcements and Messages
g_privateMessages
Description
If set to 1, players can send private messages to one another with the m command.
Parameters
Type: [0|1]
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.
Parameters
Type: bitmask
Default: 0
g_multikillTime
Description
The time (in milliseconds) in which two kills should be made in order to count them as multikills.
Parameters
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.
Parameters
Type: [0|1]
Default: 1
g_dropMsg
Description
Message to add to the drop screen when a client is kicked or banned.
Parameters
Type: string
Default: ""
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.
Parameters
Type: [0|1|2|3]
Default: 3
User Database, XP Save, Shrubbot and Bans
g_dbDirectory
Description
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.
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
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.
All the required files will be created automatically to the folder when needed if there aren't any suitable files already present.
You can freely edit the human readable files by hand as long as their correct format remains and the server is notified of the changes using appropriate shrubbot commands. With the exceptions of serverstat.cfg and mapvoteinfo.cfg that will be overwritten by the server. If you want to hand edit the values of these files, the server be shutdown.
Parameters
Type: string
Default: "database"
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.
g_dbUserMaxAge
Description
The number of seconds that user is saved to the database since any data of this user was last saved to database.
The database cleaning is done during intermission so this should not cause any performance problems when actions are taken. However, by setting this value to 0 or not setting the value at all, will disable the feature.
For servers with high database sizes, this can improve performance since users that are not needed will be removed automatically.
You can use a modifiers with this value. Here are some examples:
set g_dbUserMaxAge "1o" - 1 month
set g_dbUserMaxAge "2w" - 2 weeks
set g_dbUserMaxAge "5d" - 5 days
set g_dbUserMaxAge "36h" - 36 hours
set g_dbUserMaxAge "120m" - 120 minutes
Parameters
Type: integer
Default: 0
g_XPSave
Description
Controls XP save behaviours.
Parameters
Type: bitmask
Default: 0
Note
Storing XP requires PunkBuster GUID. However, XP save is safe to use even if all players wouldn't have GUIDs
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
Parameters
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
Parameters
Type: integer
Default: 1w
g_XPSaveMinXP
Description
The increment of XP that is required for the time of the latest XP save to get updated. The silEnT mod separates the XP save and 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 connect 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 this value is only for one map and using high values may cause some players to not achieve enough XP to get their last stored XP time to get updated and also new XP to get saved. Also notice that this does not prevent SMG weapon statistics to get updated but it can prevent class XP and rating values to get updated into the database.
Parameters
Type: integer
Default: -1
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.
Parameters
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.
Parameters
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.
Parameters
Type: integer
0
1
2
Disabled: use normal ET XP awarding methods
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.
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.
Parameters
Type: integer
Default: 50
g_XPDecay
Description
This is a bitmask that controls the XP decay feature.
See also g_XPDecayRate.
Parameters
Type: bitmask
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
Parameters
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.
Parameters
Type: float
Default: 0.0
g_minCommandWaitTime
Description
Time you have to wait between using 2 shrubbot commands in milliseconds.
Parameters
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.
Parameters
Type: [0|1]
Default: 0
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
Parameters
Type: bitmask
Default: 0
g_maxWarnings
Description
The ammount of warnings that can be stored for 1 player.
Parameters
Type: integer
Default: 3
g_warningDecay
Description
The time in hours that a warning will be stored.
Parameters
Type: integer
Default: 24
g_autoTempBan
Description
When set, anyone kicked for the reasons you specify, will be temporarily banned for g_autoTempBanTime seconds.
Parameters
Type: bitmask
1
2
4
Tempban when reaching g_teamDamageRestriction
Tempban when someone is kicked by a shrubbot admin (using the !kick command). A normal shrubbot !kick kicks for 120 seconds
Tempban when someone is kicked by the advanced warning system. A normal kick by the warning system lasts 120 seconds
Default: 0
g_autoTempBanTime
Description
The number of seconds kicked for when g_autoTempBan is set.
Parameters
Type: integer
Default: 1800
g_minConnectLevel
Description
The minimum shrubbot adminlevel required for players to be able to connect.
Parameters
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.
Parameters
Type: [ 0 | 1 | 2 | 4 ]
Default: 0
g_punkBuster
Description
Starting from the version 0.3.0, the silEnT mod admins can use g_punkBuster server cvar. With this cvar, admins can either force clients to enable PunkBuster or deny players without GUIDs to enter the server. The values cannot be used in combination and they have no effect if the server is running PunkBuster.
The possibility to deny players without GUID to enter is important because the silEnT mod no longer enforces bans without GUIDs to all players without GUIDs. IP and client identification is still used with guidless bans. Also, an informative message is displayed to the player as what was the real reason he couldn't connect.
The possibility to enable the client PunkBuster is important for the servers without running the PunkBuster themselves. This allows the players to be stored in the database and save XP if they have PunkBuster GUID from playing some server with PunkBuster enabled. If the client doesn't have punkbuster installed, this flag has no effect and it doesn't deny the player from connecting to the server. Also, silEnT mod doesn't do anything else but enables the client PunkBuster. The GUID must be acquired in the normal way.
The values do not work well in combination because the player will get denied access to the server before his PunkBuster starts if the value 2 is set.
Parameters
Type: bitmask
Default: 0
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 making /cg_ident in the console. That is a hexadecimal string which changes its value between maps. The format and data used to create the client Identification may change between the versions of the silEnT mod. The server can be configured with the g_identOptions server cvar.
Parameters
Type: bitmask
1
2
Enable client PunkBuster
Do not allow players without GUIDs to enter the server
Default: 0
g_adminProtection
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. The trust must be issued by a human admin online for them to get access to their assigned level. Specific command, !confirm can be 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 safely do that. The admin protection is designed so tha only the important admins are protected. This mean that levels above the g_protectMinLevel will need to have 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 reduce server load with these admins.
Parameters
Type: bitmask
1
2
4
Log succesfull authentications to the cheat log
Log admin spoofing attempts to the cheat log
Report admins waiting for confirmation on their level to the admin chat
Default: 7
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.
Parameters
Type: integer
Default: -1
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.
Parameters
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.
Parameters
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.
Parameters
Type: integer
Default: 1000
g_voiceChatsAllowed
Description
The number of voicechats allowed in minute?? (Undocumented ETPub cvar).
Parameters
Type: integer
Default: 4
Player Statistics, Rating and Team Balance
g_playerRating_mapPad
Description
On an silEnT installation with little statistics history, !howfair will not print out very accurate data. g_playerRating_mapPad is a cvar that attempts to stabilize early !howfair results by adding a number of fake wins to each team. If you set it to 50, it starts with Axis = 50, Allies = 50 wins. This yields a map rating of 50% for both teams on that map. For every 2 real games played, 1 map pad value is ignored. So after 100 games, map pad is ignored (replaced with real games).
The higher map pad, the longer the values will stay near 50-50.
Parameters
Type: integer
Default: 50
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.
Parameters
Type: integer
Default: 8
g_stats
Description
This is a bitflag cvar used to control the way statistics are handled.
Parameters
Type: bitmask
Default: 0
Note
Set this to 3 to use the behaviour of etmain and shrubet.
g_shuffle_rating
Description
Sets the rating system used by shuffle.
Parameters
Type: [ 1 | 2 | 3 | 4 | 5 ]
1
2
When shooting a corpse to gib, do not count it as a hit.
When shooting a corpse to gib, do not count it as a shot.
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. Kill rating also takes into account the weapon used (less for arty, more for knife).
See also g_shuffle_rating.
Parameters
Type: bitmask
1
2
4
Use kill rating. A dummy flag since any non-zero value for g_killRating will enable it.
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.
Log files will include the GUIDs of the players involved in kills. This makes kill tracking a lot easier.
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.
Parameters
Type: bitmask
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
Set to 0 to disable this feature
Parameters
Type: integer
Default: 0
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
Parameters
Type: integer
Default: 30
Team and Match Restrictions
team_maxPanzers
team_maxMortars
team_maxFlamers
team_maxMG42s
team_maxGrenLaunchers
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:set team_maxFlamers "2" This will limit each team to 2 flamethrowers, regardless of how many players are on the team
Example:set team_maxFlamers "10%"This will limit each team to having only 10% of their players as flamethrowers, and a team with few players (for example, 5) will be able to have 1 flamethrower. They will be able to have their second flamethrower when they have 11 players on the team.
Example:set team_maxFlamers "10%-"This will limit each team to having only 10% of their players as flamethrowers, and a team will not be able to have any flamethrowers until there are 10 players in the team. They will be able to have their second flamethrower when there are 20 players on the team.
Set this to -1 to disable limits
Parameters
Type: integer
Default: -1
team_maxMedics
team_maxEngineers
team_maxFieldOps
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:set team_maxMedics "5" This will limit each team to 5 medics, regardless of how many players are on the team
Example:set team_maxMedics "15%"This will limit each team to having only 15% of their players as medics, and a team with few players (for example, 3) will be able to have 1 medic. They will be able to have their second medic when they have 7 players on the team.
Example:set team_maxMedics "15%-"This will limit each team to having only 15% of their players as medics, and a team will not be able to have medics until there are 7 players in the team. They will be able to have their second medic when there are 14 players on the team.
Set this to -1 to disable limits
Parameters
Type: string
Default: -1
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.
Parameters
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.
Parameters
Type: integer
Default: 6
g_minAirstrikeTime
Description
The time (in seconds) that must elapse between airstrikes PER TEAM.
Parameters
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.
Parameters
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.
Parameters
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.
Parameters
Type: integer
Default: 3
g_minGameClients
Description
The number of clients needed to start a match.
Parameters
Type: integer
Default: 0
g_maxGameClients
Description
The maximum allowed amount of active clients.
Parameters
Type: integer
Default: 0
Team Death Match (TDM)
g_TDMType
Description
The type of the played Team Death Match.
Parameters
Type: [ 1 | 2 | 3 ]
Default: 0
g_TDMOptions
Description
Possible options for the played Team Death Match.
Parameters
Type: bitmask
1
2
3
Map ends only when timelimit hits
Map ends when either the target score is reached or the timelimit hits
Map ends only when the target score is reached
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.
Parameters
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.
Parameters
Type: integer
Default: 20
Custom Configs
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_home_path).
When in g_gametype 6 mode (Map Voting) and g_resetXPMapCount is set, an additional file named vote_X.cfg is also exec'ed. X indicates the position of the next map in the campaign. For example, vote_2.cfg will exec'ed such that when map 1 ends, any cvars in vote_2.cfg will affect map voting for map 2.
Parameters
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.
NOTE: It is strongly recommended that you use the map scripts distributed with silEnT or ETPub since these updated scripts fix very important bugs in some of the original map scripts.
Setting g_mapScriptDirectory to "" disables any use of map .script files.
Parameters
Type: string
Default: ""
g_campaignFile
Description
Similar to ETPro's b_campaignFile. If you set this to the name of a file in your fs_path it will be interpreted as a .campaign script and all other .campaign scripts in your pk3 files will be ignored.
This is useful for making custom campaigns since you don't need to offer a pk3 file containing a custom .campaign script for all clients to download. However, if the client has not downloaded this .campaign file in a pk3, they will not see information about the campaign. Such information includes:
will not display in the VOTE -> MAP list
map locations will not draw on the map of Europe.
campaign description will not draw in the right panel
total number of maps and current maps order in the campaign will not be shown in the intermission screens.
Also, even though the built-in campaigns cmpgn_centraleurope and cmpgn_northafrica will not be valid, they will still appear in the client's VOTE -> MAP menu. If a vote for one of them passes, nothing will happen.
Setting this to "" disables it.
Parameters
Type: string
Default: ""
g_banners
Description
This should be set to the name of your banners.cfg file if you want to enable banners. See banners documentation for more information about this file.
Example:
set g_banners "banners.cfg"
Parameters
Type: string
Default: ""
Censoring
g_censor
Description
A comma delimited string of words that will be censored from chat.
Type: string
Default: ""
g_censorNames
Description
A comma delimited string of words that will be censored from player names.
Type: string
Default: ""
g_censorPenalty
Description
This controls the censoring behaviour.
Parameters
Type: bitmask
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".
Parameters
Type: [0|1]
Default: 0
g_censorNeilNames
Description
Use Neil Toronto's censor filter for player names. See g_censorNeil description for details.
Parameters
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.
Parameters
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.
Parameters
Type: integer
Default: 5
Voting
g_voting
Description
Control voting behaviour.
Parameters
Type: bitmask
Default: 0
vote_limit
Description
This value defines how many votes one player can invoke during one map.
Parameters
Type: integer
Default: 5
vote_percent
Description
The required percentage of yes votes for the vote to pass.
Parameters
Type: integer
Default: 50
vote_allow_comp
vote_allow_gametype
vote_allow_kick
vote_allow_map
vote_allow_matchreset
vote_allow_mutespecs
vote_allow_nextmap
vote_allow_pub
vote_allow_referee
vote_allow_shuffleteamsxp
vote_allow_swapteams
vote_allow_friendlyfire
vote_allow_timelimit
vote_allow_warmupdamage
vote_allow_antilag
vote_allow_balancedteams
vote_allow_muting
vote_allow_surrender
vote_allow_restartcampaign
vote_allow_nextcampaign
vote_allow_poll
vote_allow_maprestart
vote_allow_shufflenorestart
vote_allow_cointoss
vote_allow_putspec
Description
All vote_allow_* cvars behave identical. Cvars that restrict the rights of players to use the respective /callvote command.
Parameters
Type: [0|1]
Default: 1
vote_block_maprestart
vote_block_matchreset
vote_block_shuffleteamsxp
vote_block_shufflenorestart
vote_block_nextmap
vote_block_swapteams
vote_block_surrender
vote_block_map
vote_block_timelimit
vote_block_poll
vote_block_nextcampaign
vote_block_restartcampaign
Description
All vote_block_* cvars behave identical. Cvars that define the time in seconds, how long each respective vote is allowed from the start of map. Each integer value is independent. When set to 0, the votes are not blocked at all.
Parameters
Type: integer
Default: 300
g_mapVoteFlags
Description
Ways to change how map voting works
Only valid when g_gametype is 6 (see Map Voting)
Parameters
Type: bitmask
Default: 0
g_maxMapsVotedFor
Description
How many maps are presented to users for voting upon during intermission
Only valid when g_gametype is 6 (see Map Voting)
Parameters
Type: integer
Default: 6
g_minMapAge
Description
How long a map is ineligible for voting, after it is played
Only valid when g_gametype is 6 (see Map Voting)
Parameters
Type: integer
Default: 3
g_resetXPMapCount
Description
How many maps occur before XP is reset. If g_XPSave flag 4 is set, g_resetXPMapCount is ignored. Similarly, if g_resetXPMapCount is set to 0, it is the same as setting g_XPSave flag 4
Only valid when g_gametype is 6 (see Map Voting)
Parameters
Type: integer
Default: 0
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)
Parameters
Type: string
Default: ""
g_noVoteTime
Description
The minimum time (in seconds) that players must wait between two votes.
Parameters
Type: integer
Default: 0
g_voteResultsMinLevel
Description
Show results of votes per team to everyone with at least this shrubbot level. Set to -1 to disable. Referees can always see the results when this CVAR is set greater than 0.
Parameters
Type: integer
Default: -1
g_votedMuteLength
Description
Defines the length of the mute when players have voted on it so that unmuting won't be forgotten. Set value to 0 or negative for permanent mutes. Modifiers can be used with this value.
Parameters
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.
Parameters
Type: integer
Default: 0
g_poisonFlags
Description
Controls the effects of g_poison.
Parameters
Type: bitmask
Default: 7
g_medics
Description
Controls various aspects of the medic, to nerf or otherwise change their behavior.
Parameters
Type: bitmask
Default: 0
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).
Parameters
Type: [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 ]
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.
Parameters
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.
Parameters
Type: integer
Default: 5
g_knifeChargeTime
Description
How long it takes in milliseconds for the "knife" to charge to the maximum throw speed/force.
Parameters
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.
Parameters
Type: [0|1]
Default: 0
g_asblock
Description
Airstrike blocking.
Parameters
Type: bitmask
Default: 0
g_panzersSpeed
Description
Speed of the panzers. Normal panzer speed is 2500.
Parameters
Type: integer
Default: 2500
g_panzersGravity
Description
If set to 1, panzer trajectory will be affected by gravity.
Parameters
Type: [0|1]
Default: 0
g_dyno
Description
Dynamite Behaviour.
Parameters
Type: bitmask
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.
Parameters
Type: integer
Default: 0
g_canisterKickOwner
Description
Kicked Canister Ownership
Parameters
Type: [0|1]
Default: 0
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.
Parameters
Type: float
Default: 0.0
g_reflectFFWeapons
Description
Selects which category of weapon will reflect when g_reflectFriendlyFire is non-zero.
Parameters
Type: bitmask
0
1
Kicker does not take ownership of the canister.
Kicker takes ownership of the canister.
Default: 31
Note
Setting this value to zero will override any multiplier set via g_reflectFriendlyFire, effectively disabling reflecting damage.
g_friendlyFireOpts
Description
Allows greater control over friendly fire events.
Parameters
Type: bitmask
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.
Parameters
Type: float
Default: 1.0
g_mineid
Description
Turns on identification of your teammates landmines.
Parameters
Type: [0|1]
Default: 0
g_medicSelfhealTime
Description
The time in milliseconds that a medic cannot heal himself after being hit
Parameters
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)
Parameters
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)
Parameters
Type: integer
Default: 0
g_weapons
Description
This is meant to match the shrubmod g_weapons cvar, but so far the only implemented flags are:
Parameters
Type: bitmask
Default: 0
g_classWeapons
Description
This cvar enables certain weapons per class. So far, only PPSH enablement is implemented:
Parameters
Type: bitmask
1
2
4
Enable PPSH for soldiers
Enable PPSH for engineers
Enable PPSH for fieldops
Default: 7
g_mg42
Description
This cvar controls optional machine gun behaviour.
Parameters
Type: bitmask
Default: 0
g_coverts
Description
Controls various aspects of the Covert Op class.
Parameters
Type: bitmask
1
2
Machine Guns can make headshots
Machine Guns can reload when clip is not empty
Default: 0
g_enableTMines
Description
Disables/enables tripmines. Tripmines are available only for engineers.
Parameters
Type: [0|1]
Default: 1
skill_soldier
skill_medic
skill_engineer
skill_fieldops
skill_covertops
skill_battlesense
skill_lightweapons
Description
All skill_* variables are identical.
These variables allow customization of the experience points necessary to go up in ranks. These settings consist of four space-separated integers indicating the number of XP required to go up a rank. A string such as "3 10 10 10" indicates that 3 points are required to go up the first rank, and the next three ranks are granted when the players has 10 points. If, for example, you want to grant akimbo pistols upon the first kill, you would set skill_lightweapons to "3 3 3 3". The default for each of these variables is "20 50 90 140". You can also grant levels upon connection byt using a value like "0 0 20 100". This would mean that the first two ranks would be granted upon connection, and the third and fourth ranks would be granted at 20 and 100 points, respectively.
Parameters
Type: string
Default: "20 50 90 140"
g_panzersVulnerable
Description
If set to 1, panzers that are shot in mid-air will explode.
Parameters
Type: [0|1]
Default: 0
Weapon Damage and Radius Settings
g_dmgKnife
Description
Amount of damage done by the knife.
Parameters
Type: integer
Default: 10
g_dmgSten
Description
Amount of damage done by the sten.
Parameters
Type: integer
Default: 14
g_dmgFG42
Description
Amount of damage done by the FG-42.
Parameters
Type: integer
Default: 15
g_dmgPistol
Description
Amount of damage done by pistol weapons.
Parameters
Type: integer
Default: 18
g_dmgSMG
Description
Amount of damage done by the SMG weapoins (MP40 and Thompson).
Parameters
Type: integer
Default: 18
g_dmgMG42
Description
Amount of damage done by the MG42.
Parameters
Type: integer
Default: 18
g_dmgMG
Description
Amount of damage done by an emplaced MG.
Parameters
Type: integer
Default: 20
g_dmgFG42Scope
Description
Amount of damage done by the FG-42 when scoped.
Parameters
Type: integer
Default: 30
g_dmgInfRifle
Description
Amount of damage done by unscoped rifles (K43 and Garand).
Parameters
Type: integer
Default: 34
g_dmgSniper
Description
Amount of damage done by a scoped Garand or K43.
Parameters
Type: integer
Default: 50
g_dmgFlamer
Description
Amount of damage done, per tick, by a flamethrower.
Also controls the per-tick damage done to a player who has been set on fire by a flamethrower and is still burning.
Parameters
Type: integer
Default: 5
g_dmgGrenade
Description
Amount of damage done by a grenade.
Parameters
Type: integer
Default: 250
g_dmgGrenadeRadius
Description
Blast radius of a grenade.
Parameters
Type: integer
Default: 250
g_dmgGLauncher
Description
Amount of damage done by an engineer's grenade-launcher grenades.
Parameters
Type: integer
Default: 250
g_dmgGLauncherRadius
Description
Blast radius of an engineer's grenade-launcher grenades.
Parameters
Type: integer
Default: 250
g_dmgTMine
Description
Amount of damage done by the tripmine.
Parameters
Type: integer
Default: 260
g_dmgLandmine
Description
Amount of damage done by a landmine.
Parameters
Type: integer
Default: 250
g_dmgLandmineRadius
Description
Blast radius of a landmine.
Parameters
Type: integer
Default: 250
g_dmgSatchel
Description
Amount of damage done by a satchel.
Parameters
Type: integer
Default: 250
g_dmgSatchelRadius
Description
Blast radius of a satchel.
Parameters
Type: integer
Default: 250
g_dmgPanzer
Description
Amount of damage done by a panzerfaust rocket.
Parameters
Type: integer
Default: 400
g_dmgPanzerRadius
Description
Blast radius of a panzerfaust rocket.
Parameters
Type: integer
Default: 300
g_dmgMortar
Description
Amount of damage done by a mortar round.
Parameters
Type: integer
Default: 400
g_dmgMortarRadius
Description
Blast radius of a mortar round.
Parameters
Type: integer
Default: 400
g_dmgDynamite
Description
Amount of damage done by a dynamite.
Parameters
Type: integer
Default: 400
g_dmgDynamiteRadius
Description
Blast radius of a dynamite.
Parameters
Type: integer
Default: 400
g_dmgAir
Description
Amount of damage done PER BOMB by an airstrike.
Parameters
Type: integer
Default: 400
g_dmgAirRadius
Description
Blast Radius PER BOMB of an airstrike.
Parameters
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 behavior (can do damage, but to a VERY small radius, making damage unlikely)
Parameters
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 behavior (can do damage, but to a VERY small radius, making damage unlikely)
Parameters
Type: integer
Default: 400
g_dmg
Description
Enables experimental advanced combat options.
Parameters
Type: bitmask
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)
Parameters
Type: integer
Default: 50
g_dmgHeadShotRatio
Description
This specifies the multiplier used for headshots that do damage ABOVE g_dmgHeadShotMin.
Parameters
Type: float
Default: 2.0
g_knifeThrowDamage
Description
The amount of damage a thrown knife will cause to enemy.
Parameters
Type: integer
Default: 50
g_dmgPPSh
Description
The amount of damage done by PPSh.
Parameters
Type: integer
Default: 19
Miscallenous
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.
Parameters
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.
Parameters
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.
Parameters
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.
Parameters
Type: integer
Default: 0
g_intermissionTime
Description
Set the length of time the end of game screens displays before loading the next map.
Parameters
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.
Parameters
Type: integer
Default: 100
g_skills
Description
Optional skill related flags.
Parameters
Type: bitmask
1
2
4
Players with level 4 battle sense can spot landmines for teammates
Players with level 4 engineering can keep the flak jacket for other classes
Players with level 4 first aid can keep adrenaline for other classes
Default: 0
g_misc
Description
Miscallenous options.
Parameters
Type: bitmask
Default: 0
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.
You can find a demo that shows g_skipCorrection in action at: http://et.tjw.org/etpub/skipCorrection/
Parameters
Type: [0|1]
Default: 1
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.
You can find a demo that shows g_maxWarp in action at: http://et.tjw.org/etpub/skipCorrection/
Parameters
Type: integer
Default: 4
g_moverScale
Description
Multiply the speed of movers (e.g. tanks) by float.
Parameters
Type: float
Default: 1.0
g_slashKill
Description
Controls the behavior of the /kill command.
See also g_fear and g_maxSelfkills
Parameters
Type: bitmask
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.
Parameters
Type: integer
Default: -1
g_ammoCabinetTime
Description
The time between ammo cabinet regenerations in milliseconds.
Parameters
Type: integer
Default: 60000
g_healthCabinetTime
Description
The time between health cabinet regenerations in milliseconds.
Parameters
Type: integer
Default: 10000
g_spectator
Description
Controls spectator behaviour.
Parameters
Type: bitmask
Default: 0
g_truePing
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.
Parameters
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.
Parameters
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.
Parameters
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.
Parameters
Type: bitmask
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.
Parameters
Type: integer
Default: 2000
g_realHead
Description
Head Box Positions.
Parameters
Type: [0|1]
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.
g_inactivity
Description
The number of seconds of player inactivity before the player is made a spectator.
Parameters
Type: integer
Default: 0
g_spectatorInactivity
Description
g_spectatorInactivity kicks only when the server is full.
Parameters
Type: integer
Default: 0
g_gametype
Description
Please see Map Voting
Parameters
Type: integer
Default: 4
g_spoofOptions
Description
Options for PunkBuster GUID and IP spoof detections and behaviour.
Parameters
Type: bitmask
0
1
Regular headbox positions.
Server tracks the animations so the headbox will match the playermodels exactly. This is the recommended value.
Default: 3
Note
Do NOT change this CVAR unless you encounter problems!
g_antilagDelay
Description
Manually delay the antilag of every player on the server. Might give very weird behaviour, so use at own risk.
Parameters
Type: integer
Default: 0
g_fixedphysics
Description
Creates a smoother movement when enabled.
Parameters
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.
Parameters
Type: integer
Default: 125
Note
This doesn't actually change the framerates in clients, so the clients can keep their own framerates.
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.
Parameters
Type: integer
Default: 3
g_disableComplaints
Description
Disable teamkill complaints for some weapons.
Parameters
Type: bitmask
Default: 0
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
Parameters
Type: string
Default: ""
g_watermarkFadeAfter
Description
When g_watermark is set, the watermark will fade out after [integer] number of seconds.
Parameters
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.
Parameters
Type: integer
Default: 0
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.
Parameters
Type: [0|1]
Default: 1
g_panzerwar
Description
Enables/Disables Panzerwar. 1 is enabled, 0 is disabled.
Parameters
Type: [0|1]
Default: 0
g_sniperwar
Description
Enables/Disables Sniperwar. 1 is enabled, 0 is disabled.
Parameters
Type: [0|1]
Default: 0
g_riflewar
Description
Enables/Disables Riflewar. 1 is enabled, 0 is disabled.
Parameters
Type: [0|1]
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.
Parameters
Type: [0|1]
Default: 1
g_noSkillUpgrades
Description
When set to 1, disables player skill upgrades.
Parameters
Type: integer
Default: 0
g_flushItems
Description
Evens the dropped items out with the surface.
Parameters
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.
Parameters
Type: integer
Default: 4
shoutcastPassword
Description
Enables shoutcaster status on the server.
Parameters
Type: string
Default: "none"
g_headshot
Description
This is a bitflag cvar that supports the following values:
Parameters
Type: bitmask
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.).
Parameters
Type: integer
Default: 400
g_inactivityOptions
Description
This is a bitflag cvar that supports the following values:
Parameters
Type: bitmask
1
2
Headshots only
Instagib damage (controlled by g_instagibDamage)
Default: 3
g_ettvFlags
Description
This is a bitflag cvar that supports the following values:
Parameters
Type: bitmask
Default: 3
g_mode
Description
This is a bitflag cvar that supports the following values:
Parameters
Type: bitmask
1
2
Prevent ettv slaves from being callvote kicked
Grant shoutcaster status to ettv slaves
Default: 0
g_hitsounds
Description
Server side hitsound options.
Parameters
Type: bitmask
Default: 1
Note
A client can disable hitsounds with cg_hitSounds client cvar. Also an option to play only headshots is available.
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).
Parameters
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.
Parameters
Type: integer
Default: 0
g_shoveNoZ
Description
Set this to 1 if you want to disable shove in the up/down direction (a.k.a "boosting").
Parameters
Type: [0|1]
Default: 0
g_dragCorpse
Description
Allows players do drag wounded players with the use key when moving backward slowly. Works best when crouching or prone.
Parameters
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.
Parameters
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.
Parameters
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
Parameters
Type: integer
Default: 0
g_goombaFlags
Description
This is a bitflag cvar that controls the way g_goomba is handled.
Parameters
Type: bitmask
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.
Parameters
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)
Parameters
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.
Parameters
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.
Parameters
Type: [0|1]
Default: 1
g_extraStatistics
Description
Additional statistics displayed at the end of the map.
Parameters
Type: bitmask
Default: 0
Logs
g_logOptions
Description
This is meant to match the shrubmod g_logOptions cvar, but so far the only implemented flags are:
Parameters
Type: bitmask
Default: 0
g_logAdmin
Description
The name of the file that all shrubbot commands will be logged to. For example,
g_logAdmin "admin.log"
Parameters
Type: string
Default: ""
g_cheatLog
Description
The name of the file that will log prints that do not fall under the normal game server loggings. These include Admin Level Loggings, referee hack attempts, spoofings and any other similar information. To enable/disable most loggings, the cvar for the feature that uses the cheat log, will also have control of the log. Some loginformation can be printed without specifically enabling it. If the g_cheatLog is not enabled, the normal g_log is used instead. However, using the g_cheatLog will make it easier to handle non gaming related information. For example,
g_cheatLog "cheat.log"
Parameters
Type: string
Default: ""
Omni-Bots
omnibot_enable
Description
When set to 1, OmniBot functionality is enabled. You still need to have OmniBots installed correctly in order for OmniBots to work.
Parameters
Type: [0|1]
Default: 1
omnibot_path
Description
The path where the OmniBot dll/so file is installed. If you installed omni-bot correctly, then you do not need to modify this cvar. Leaving this cvar blank will search for the OmniBot file in the default locations.
Parameters
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
Parameters
Type: integer
Default: -1
omnibot_flags
Description
Customizes bot management/behavior.
Parameters
Type: bitmask
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
Parameters
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).
Parameters
Type: string
Default: ""
Map Voting
This gametype allows for the players to decide on the map that is played next. When g_gametype is set to 6 a new screen is introduced during intermission. This screen list, depending on server configuration, a list of up to 32 maps that are loaded on the server, and that all players can vote on. Once intermission ends, the server totals the votes, and plays the next map based upon the vote results
The following cvars control how map voting operates
Miscellaneous notes about mapvoting:
Total maps allowed is 32. If server admin has more than 32 .bsp files, only the first 32 are used
Tie breaker. The default tie-breaker is such that if 2 or more maps are tied with the same number of votes, the map that was played most recently is selected.
Bots and connecting players do NOT count for mapvoting, everyone else (including spectators) does.
If no maps are voted for, the default "nextmap" cvar is used, so server admins have to specify a default map cycle of sort, usually in the following format.
set d1 "set g_gametype 6 ; map oasis ; set nextmap vstr d2"
set d2 "set g_gametype 6 ; map battery ; set nextmap vstr d3"
set d3 "set g_gametype 6 ; map goldrush ; set nextmap vstr d1"
vstr d1
This means that the default map, upon server start, will be oasis. From there, map voting will be used. If at any point, no map is voted for, battery will be played, etc
Statistics / Rankings Terms
There are several settings in silEnT that attempt to determine how "good" a player is in terms (hopefully) more meaningful than just XP or XP per unit of time. Here are the terms used and their definitions:
Kill Rating
How good of a killer the player is, based on how many other players the player kills, and their kill rating. In other words, killing players with a high kill rating increases the shooter's kill rating more than killing players with a low kill rating.
Player Rating
This is a measure of how much the player contributes to winning a map. This measure is calculated by seeing how many times this player is on the winning team after every map, and how good the opposing team was. Like kill rating, winning against teams with a high average player rating results in player rating increasing faster.
Win Probability
The probability that a team will win a map (based on the players' player rating, team size, and the map).
These statistics are gathered by silEnT and the data is saved to local files on disk.
This feature is originally from ETPub and no alterations have been made to it by silEnT team.
The etpub development team member responsible for implementing these player rankings and ratings is Josh Menke. He has been kind enough to begin working on an academic write-up to explain the mathematics and statistics methods behind these rankings. Due to time constraints the document is being gradually updated and expanded. The latest version can be seen at: http://axon.cs.byu.edu/~josh/etstats/update_bayes.pdf
If you cannot find the document at the above location, please visit http://etpub.org
Server Console Commands
The following server console commands (for use in the server console or through rcon) commands have been added in etpub:
bot [arguments]
Omni-bot command. See the omni-bot 0.52 documentation for full details.
chat [message]
Display a message to all users in the chat area
chatclient [slot#|name] [message]
Display a message to a specific user in the chat area. A partial name match can be used, and in this case the message will be sent to all users that match the partial name
clearxp
Clears the XP of all users
bp [message]
Display a message to all users in the top of the screen (Requires etpub client >= 20051230)
cp [message]
Display a message to all users in the center of the screen
cpmsay [message]
Display a message to all users in the popup message area of the screen
forcecvar [cvar] [value]
Forces a client cvar to have a certain value for all clients
krinfo
List KillRating info by team, sorted.
m [slot#|name] [message]
Send a private message to a player. A partial name match can be used, and in this case the private message will be sent to all users that match the partial name
playsound [slot#|name] [filename]
Plays the specified sound file. The slot number/player name parameter is optional. If the slot number or playername is specified, only that player hears the sound, otherwise all players hear the sound. g_tyranny must be enabled in order to play a sound to a specific player.
playsound_env [slot#|name] [filename]
Plays the specified sound file, but the sound can be heard by everyone near the specified player. In contrast to playsound, both parameters are required for playsound_env. If playsound_env is used with one parameter (only the the filename is specified), then it is treated exactly as playsound [filename]. The further away nearby players are, the less they hear the sound. g_tyranny must be enabled in order to use this command.
prinfo
List PlayerRating info by team, sorted.
prreseteverything
Completely reset the PlayerRating system
prresetplayers
Reset only the player ratings part of the PlayerRating system
prresetplayers
Resets the total kills and deaths made by SMG weapons from all the players in the database.
readsettings
Reloads the g_settings file. This is done by the server automatically, but if you decide to change the banners or sprees/multikills ingame, you can load the new settings with this command.
readxp
(Requires that g_tyranny be enabled) Loads the XPSave file from disk. There is no reason to call this function, etpub loads the XPSave file automatically as needed.
winprob
Prints information about the win probability model
writexp
Commits the in-memory XPSave info to disk. Normally, silEnT does this automatically every time a map ends or the server is shut down.
clearspreerecords
Clears all the spreerecords stored in XPSave file (doesn't work during warmup or intermission)
lua_status
Shows information about the scripts currently loaded by the Lua API engine.
makeshoutcaster [slot#|name]
makeshoutcast [slot#|name]
makesc [slot#|name]
Promotes the player to be a shoutcaster. Shoutcasters can see floating player names, dynamite counter, truck and tank health and all mines.
removeshoutcaster [slot#|name]
removeshoutcast [slot#|name]
removesc [slot#|name]
Removes players shoutcaster status.
dboptimize
When this command is issued, the server database is optimized during the next user database closing. This command is resource intensive and should not be used often. The target of usefullness is player databases that are very large and have lot of players who have not played on the server for a long time. Do note that it is more effective to keep the player amount in the database smaller then using this command. So be sure to check the g_dbUserMaxAge setting.
silent_version
Shows information about the running silEnT server version.
Additionally, all of the shrubbot commands can be used on the server console as well, the leading "!" is optional.
Shrubbot
Shrubbot is an invention of Ryan Mannion. ETPub tries to clone shrubbot as accurately as possible, both in user interface and in the shrubbot configuration file called "shrubbot.cfg". This is silEnT shrubbot based on the work of ETPub team. silEnT extends the functionality of the shrubbot where ever it is needed. Including user database that holds all the players that have visited the server. To access this database, new commands have been added to the original shrubbot command set. Some commands have been renamed to ease their use and so that they resemble commands from other ET mods that have advanced admin systems.
If you want to use shrubbot, the cvar g_dbDirectory must be set. If it is not set, the shrubbot will not be in use. If you want to edit the default levels, you must create or copy existing shrubbot.cfg file to the folder defined by g_dbDirectory setting. In case shrubbot command like !ban is used against a player and shrubbot.cfg file does not already exist, a new shrubbot.cfg file is created to store the needed data.
The created file will also have the default level settings written to it. This file can be freely edited by hand and then after !readconfig command has been issued, the changes take effect on the server.
Below are the shrubbot commands that silEnT currently supports and the corresponding flag to be used in the shrubbot config file to give permission to the command:
The following flags are also supported:
The * operator is supported in the flags field:
Example
This means all all available flags are granted (except ! and @). Any flags that come after the * are negated. So for example:
[level] level = 5 name = flags = *xU greeting = greeting_sound =
would give level 5 admins all commands except !lol and !burn.
Shrubbot is divided into to parts. Users are stored in the user database and other configuration infos and bans are stored in a separate human readable config file.
The configuration file itself is layed out in blocks serpated by blank lines. The types of blocks supported are [level], [command] and [ban]. If you ever need to edit the shrubbot.cfg file by hand, you need to run the !readconfig command (or restart etded) to load it.
When setting up a new shrubbot.cfg file, simply set the g_shrubbot cvar to the name you want to use for the configuration file, then connect to the server with your et, and run the following command in the server console:
!setlevel ETPlayer 5
(where ETPlayer is your name). This will create the shrubbot.cfg file with default levels and your guid set to level 5 admin (the highest default level). You can then edit the level definitions in this file to match your preferences and run the !readconfig command to load them up.
The new element [command] in the shrubbot file format. This allows server admins to create their own shrubbot commands for executing server commands. however, you can only give privileges to commands through levels. It is not possible to explicitly give some user a privilege to a custom command. Here are some examples:
[command] command = hello exec = cp "hello world" desc = Center Print the text "hello world" to all connected clients levels = 0 1 2 3 4 5 [command] command = panzeroff exec = set team_maxPanzers 0 desc = Turn off panzers levels = 5 [command] command = havefun exec = exec fun.cfg desc = Load up some crazy settings/commands levels = 5 [command] command = unlimitedpanzers exec = cp "^1Unlimited panzers!"; set team_maxPanzers -1 desc = Everyone can have a panzerfaust! levels = 5
This would create 4 new commands, !hello, !panzeroff, !havefun, and !unlimitedpanzers. !hello can be run by any user with an admin level 0 through 5. !panzeroff, !havefun, and !unlimitedpanzers would be executable by only level 5 users. You must name each level in the space seperated level string (a higher level does not grant authority). As shown in !unlimitedpanzers, you can separate commands with a semicolon (;).
[command] elements can use shortcut characters as described in Shortcuts. You can use a new shortcut [i] to replace it with the player ID of the calling player.
Here are some samples:
[command] command = spec exec = !putteam [n] s desc = Become a spectator levels = 0 1 2 3 4 5 [command] command = pizza exec = cp "[n] ^7orders a big pizza for everyone except [d]^7!" desc = Some message levels = 3 4 5 [command] command = ms exec = makeshoutcaster [i] desc = Makes you a shoutcaster levels = 5
[command] elements can use up to 9 parameter placeholders (from [1] to [9]) in the commands. For example, given the following definition:
[command] command = mynameis exec = cp "[n]'s ^7real-life name is [1]^7!" desc = Print real name levels = 0 1 2 3 4 5
When a user types the command like this:
!mynameis bartholomew
Will print out something like:
[JJJJ]zuxx0r's real-life name is bartholomew
Since silEnT 0.2.1 it is possible to add '?' to the parameter placeholders. This will try to match the pattern to a player name on the server. For example, given the following definition:
[command] command = crybaby exec = chat "[1?]^7 is crying like little baby!" desc = Make someone cry levels = 0 1 2 3 4 5
When user types the command like this:
!crybaby gao
Will print out something like:
gaoesa is crying like a little baby!
If the player name match fails a response is returned to the user stating either that there were too many matches or that no player matched.
Parameters that the user does not type in are left blank in your command. You can use the parameters in any order (so the user types the parameters in a different order than they are used).
These commands will show up like any other shrubbot command in the output of !help and the !help command will also provide detailed info for the command using the 'desc' paramter (e.g. '!help hello')
You can also add a greeting to users specifically and/or [level] blocks. This greeting will be displayed when a shrubbot admin connects to the server. Adding a greeting to a [level] block will show that greeting for every admin with that level, while adding a greeting to any user specifically will only show the greeting when that particular admin connects. When both [level] block and user data contain a greeting, the user specific greeting is used. When you type [n] in a greeting, it will be replaced by the name of the connecting admin. Example:
[level] level = 5 name = Admin flags = * greeting = Level 5 admin [n] is on the floor greeting_sound =
If TJW is the connecting admin, all players will see: "Level 5 admin TJW is on the floor".
These are the limits on the shrubbot file:
User Database
User database is intended to store information of all the players that connect to the server. To enable user database g_dbDirectory must be set. The database stores information to identify different players and also XP data, rating data, overall stats data and shrubbot admin data. silEnT GUIDs are used to identify single players.
Shrubbot includes functionality to server admins to handle database userdata. These commands are !userlist, !userinfo, !useredit, !givexp, !userban, !userdelete, !usersearch, !readadmins and !resetpls. All commands that handle users in the database will take the last 8 characters of the player silEnT GUID to identify the player to edit. This is not unique identification but should provide enough uniqueness to prevent collisions. Internally, the complete GUID is used to identify the players.
!userlist
Lists all users in the database. If PAGE is given, the list starts from that page. If PAGE is not given the first page of the database is printed. The command prints all users, including clients that have connected during the level time and are not yet in the database. The connected clients are always printed first and then the rest of the userbase.
The printed rows have the following columns:
With userlist command an admin can list all the users saved in the database and those that are connected page by page. Optional page number can be given to the command to tell which page is to be displayed about the users. One page can have up to 20 players printed.
!userinfo
Displays all information that is stored about the user in the database.
This information includes:
identity information (name, IP, silEnT ID, 8 character PunkBuster GUID, Client Identification validity)
admin level
personal greeting
personal greeting sound
personal shrubbot flags
when seen latest on the server
when saved XP on the server, if the g_XPSaveMinXP is not set, this will be the same as the Last Seen.
saved XP per skill
rating values
total kills and deaths with SMG weapons
Command requires the last 8 characters of the player PB GUID. This GUID can be found with !userlist or !usersearch commands. This command works for both online and offline players.
!useredit
Command is used to edit explicit userdata in the database. The command format is:
!useredit [silEnT ID] [add|remove|level|greeting|sound] [new value]
The command parameters in detail:
If the optional new value field is not set with greeting or sound parameter, the value will be set to empty and level values will be used again with these players.
This command works with online and offline players.
!givexp
Command gives the online or offline player identified by silEnT ID a defined amount of XP points to the selected skill.
The possible skills are:
!userban
Command bans user indentified by the 8 character silEnT GUID from the server. The data required for ban is taken from the database and the banned user does not need to be online when the command is given. Bot's cannot be banned with this command. Note that the bans are written in the human readable config file and you can still write the bans by hand if desired. Also, removing of the bans can be done by hand if desired.
The command syntax is
!userban [silEnT ID] [time] [reason]
where [time] is the ban time in seconds and [reason] is the stored reason for the ban. Time modifiers can be used with this command.
!userwl
With this command admin can whitelist or remove whitelisting from any player. Whitelisting means that the player IP is not checked against any IP bans. Including subnet bans and individual bans.
!userdelete
Command removes the user identified by the 8 character PB GUID from the database. The actual actions are taken at the level end if needed. However, once the !userdelete command has been issued to the user, the information of the user is no longer available and after the shutdown game, it is permanently lost.
If the removed player is connected to the server while removing, a new entry is written to that player.
!usersearch
With this command an admin can search the database for players with specific parameters. Arguments to the command can be pattern in the name, user admin system level and the beginning of the IP address. Additional page number can be given when the amount of found results exceed what can be shown in one page. All the arguments can be given in one command in any order. Any one of the arguments can be omitted, but each time when command is given at least one argument on top of the optional page number must be given. This command searches stored information only from the database. Connected players are not included unless they already have been stored into the database.
This command is performance intensive and it is not recommended to use it on high utilisation server unless it is needed for maintenance operations. The command will internally always try to optimise itself. If the command is given repeatedly with same arguments but only changin the page number, new searches are not performed but only different pages of the already found results are displayed. The optimisations include that silEnT will try to use the already found results as a basis for the new search (e.g. "!usersearch name gao" followed by "!usersearch name gaoe" will first search the whole db to find all users with the pattern gao in their names and the follow up search will refine the already found results for gaoe). The maximum amount of results one search can return is 256 users. Users are displayed in the console in pages with 20 users on each page.
!readadmins
With this command an admin can read admin definitions from a specific admins.cfg file. The file must be placed in the directory pointed by g_dbDirectory server cvar. The file may have only admin definition blocks.
Admin definitions use always the following syntax. The syntax is exactly the same used by the ETPub.
[admin] name = name of the admin (can be left empty) guid = full 32 character PB GUID (this field is used to identify players in the database) sguid = full 32 character silEnT GUID (this field is used to identify players in the database) level = level number flags = personal admin flags (can be left empty) greeting = personal greeting (can be left empty) greeting_sound = path to personal greeting sound (can be left empty)
If the database doesn't yet have the player, it will be added there. Those players will have the last seen field reading NEVER with !userlist and !usersearch command outputs. If the player already exists in the database, the admin values will be overwritten with the ones in read from the admins.cfg file. The admin block can be inserted to the database by either silEnT GUID or by PB GUID. Which ever is available, but one of those must be set.
!resetpls
With this command an admin can reset all stored statistics from an online or an offline player. The stored statistics include total SMG kills and deaths, the player K/D rating and PRW rating.
Banners
The banners file is a file that contains all the information about banners. See g_banners to see how you can enable this file.
The banners file consists of [banner] blocks (similar to shrubbot). A [banner] block adds a banner to the server banner queue.
A [banner] block has the following fields:
[banner] message = ^1Check out our banner! wait = 30 position = bp
The "message" is the actual message that is displayed to all the players on the server. The "wait" field determines when the next banner will be displayed. Setting this to 30 means the next banner will show up 30 seconds after this banner. Setting the wait to 0 means the next banner will be displayed at the same moment as this one. This in combination with the "position" field that determines the position of the banner, allows the same text to be displayed at one time at multiple positions. "position" can have the values chat, cpm (popup), cp (center), bp (banner) or print (console).
The maximum amount of banners is 31 and the maximum length of individual banner is 255 characters.
Shortcuts
Server supports the replacement of the following keys in say messages
Forcing Client Settings
silEnT server is able to force client cvars to certain values or ranges by using forcecvar and sv_cvar commands. sv_cvarempty will clear all the sv_cvar commands the server has loaded.
To use the possibility, the g_mapConfigs must be set. All forcecvar and sv_cvar commands that are placed in the default.cfg, will be executed on every map start. Those settings can be overloaded by using a map specific cfg name [mapname].cfg. More help is available at silEnT forums.
Announcement Sounds
When announcements are enbaled on the server, the server admins may choose to install their own announcement sounds to replace the mod default ones or add missing sounds. Any of the following sounds can be installed by the admins:
Killing Spree
sound/announces/spree5.wav
Rampage
sound/announces/spree10.wav
Dominating
sound/announces/spree15.wav
Unstoppable
sound/announces/spree20.wav
Godlike
sound/announces/spree25.wav
Wicked Sick
sound/announces/spree30.wav
Revive Spree 3
sound/announces/revive3.wav
Revive Spree 5
sound/announces/revive5.wav
Revive Spree 10
sound/announces/revive10.wav
Double Kill
sound/announces/doublekill.wav
Triple Kill
sound/announces/triplekill.wav
Multi Kill
sound/announces/multikill.wav
Ultra Kill
sound/announces/ultrakill.wav
Monster Kill
sound/announces/monsterkill.wav
First Blood
sound/silent/firstblood.wav
To replace any of the sounds, create a pk3 file with the mentioned path and sound file name. The replaced sound will be automatically played. The pk3 files are regular zips with only the zip ending changed with pk3.
Change Log
Version 0.5.0
Added: dboptimize server console command. Read the manual for more information.Do note that this command is server resource intensive and should not be used often.
Added: support for revive spree sounds. Admins can add custom sound files revive3.wav, revive5.wav and revive10.wav under the sound/announces if they like.
Added: g_XPSaveMinXP, when this value is set to above 0 or above, the XP save system will use different timestamp for the XP save then the rest of the database. This allows cvars like g_XPSaveMaxAge_xp to work correctly.
Added: referee hack attempts are logged
Added: Admin Level Protection (ALP), with this mechanism, the server can ensure that admins on protected levels are properly authenticated
Added: silEnT GUID, the new silEnT GUIDs replace the PB GUIDs in everywhere, but compatibility is provided for the old PB GUIDs also
Added: g_cheatLog, server will log all non gaming related information into this log if enabled
Added: debriefing, mouse wheel scrolling of the lists when the cursor is over the list, not only over the scroll bar
Added: omnibot support for tripmines (tripmines can be planted by bots)
Fixed: vote blocking will not block referee commands
Fixed: missing original mouse cursor in the menus for Windows builds
Fixed: silenced colt anim bug
Fixed: XP for team kills made with tripmines: bug tracker ticket
Reworked: tripmines can't be destroyed when they are not armed, now it takes 2 shots instead of 1 to destroy the tmine.
Version 0.4.0
Added: different power bolt colors for fops to show arty/airstrikes availability (http://mygamingtalk....ops-air-strike/)
Added: tripmines can be tripped by movers (doors etc.) when they cross the wire
Added: different power bolt color for fops depending on airstrike and arty availability
Reworked: new tripmine model, new tripmine icons
Fixed: narrow screens (aspect ratio where the width is smaller then in 4:3 aspect ratio) were stretching some visuals
Fixed: the map voting during intermission accepted mouse presses under the map list
Fixed: landmines and tripmines were positioned wrong in the command map
Fixed: throwing knives in air
Fixed: map and player list scroller: http://mygamingtalk....if-you-drag-it/
Fixed: tripmines do not disappear from command map after being destructed (tripped, not shot)
Fixed: bans no longer write NO_GUID to the guid field in the shrubbot.cfg.
Renamed: g_settings renamed to g_banners. That is what it is only for so the change is to clarify the purpose.
Removed: /rcon ban. This command was causing issues because of the similar name to !ban. Also, there was no unban method.
Version 0.4.0.rc1
Added: new UI with 2 themes. Themes can be switched with "ui_theme" cvar {1,2}
Added: tripmines markers on the command map.
Added: new tripmine wire shaders.
Added: tripmines can be now spotted by coverts to be marked on the command map.
Added: g_identOptions flag 16. The server will automatically create a new ban for a player that is circumventing old ban and the client identification catches him.
Added: Ban numbers are printed in the outputs of !userinfo, !userlist and !usersearch commands, if the player is banned.
Added: Possibility for server admins to enable Jaymod style double jumping This is controlled with g_misc flag 32.
Added: hint for tripmine placement (hint is displayed when tripmine can be attached to the pointed place)
Added: new cvar: cg_themedCMap {0,1}, which activates/deactivates themed command map frame
Added: New shrubbot flag '#'. Players or levels with this flag are not allowed to call votes. Voting is automatically denied from players without PB GUIDs. Do note, it does not require the punkbuster to be enabled on the server for a player to have a PB GUID.
Added: new private message which allows to select players from the list or just type the name in
Added: 3rd person view knife throw animations
Added: Possiblity to mute only global chat sounds with cg_noVoiceChats 2. Also added into the menu.
Fixed: Aspect ratios with widescreen monitors.
Fixed: Empty player name in adminchat report when a player who got just kicked based on client identification reconnects instantly.
Fixed: throw knife bug during leaning (http://mygamingtalk....e-71-knife-bug/)
Fixed: The [i] shortcut with custom commands now gives the client number always correctly.
Fixed: Soldier with secondary SMG was able to keep the SMG when switching classes. Can be troublesome if switching to covert.
Fixed: weapon banks shown when knife is thrown: http://mygamingtalk....throwing-knife/
Fixed: xp not shown in limbo menu before joining the team: http://mygamingtalk....ed-into-a-team/
Fixed: it was possible to still write inside edit box after tabbing out to non edit box
Removed: g_bot_minPlayers. The omnibot librarys MinBots and MaxBots settings cover this feature better.
Fixed: thrown knive dissapears on destructible: http://mygamingtalk....ives-disappear/ + reworked knife behavior
Fixed: watermark bug: http://mygamingtalk....-watermark-bug/
Fixed: latched class in fire team not shown: http://mygamingtalk....n-notification/
Fixed: http://mygamingtalk....lose-limbomenu/
Fixed: !nextmap & callvote nextmap, don't work with g_gametype 6
Fixed: fast reload animations for weapons: http://mygamingtalk....__fromsearch__1
Version 0.3.3
Fixed alternative fire bug introduced in 0.3.2.
Version 0.3.2
Readded class awards. They should now work correctly with XP save.
Added possibility for server admins to enable teamhit sounds.
Added flag 8 to g_identOptions. Actions taken based on client identifications are reported in the adminchat.
Added default silEnT watermark.
Fixed bug with missing hitsounds (http://mygamingtalk.com/forums/tracker/issue-54-no-hitsound-on-enemy-with-mortar/).
Fixed bug with class stealing (http://mygamingtalk.com/forums/tracker/issue-46-weapon-on-class-change-go-empty-clip-and-change-weapon/).
Fixed bug with soldier secondary weapon changing to akimbos.
Fixed throw last knife bug (http://mygamingtalk.com/forums/topic/587-knife-bug/).
Fixed fireteam overlay bug.
Fixed server list server name filter bug/crash.
Fixed bug with say_teamnl command that allowed muted players to write in team chat. (http://mygamingtalk.com/forums/tracker/issue-73-say-teamnl-working-with-muted-players/)
Fixed bug with g_classWeapons cvar (http://mygamingtalk.com/forums/tracker/issue-72-g-classweapons/).
Fixed bug in the TDM timebar.
Fixed some bugs with the win probabilities. Not in algorithms, but with the calls to calculate them.
Removed Active Team Balance.
Removed g_teamForceBalance_playerrating.
Removed !balance admin command.
The g_XPSave flag 8 will no longer kick guidless players for duplicates.
The !howfair command now uses K/D determining fairness.
Possibilities for invalid kicks for spoofed client identification reduced.
Version 0.3.1
Bug fixes.
Added: g_votedMuteLength which controls the lengths of the voted mutes. Default is 3 hours.
Reworked: The tripmine shaders. Visually still defaults to the old look.
Some code cleanup and minor optimizations.
Binaries compiled with optimization settings.
Version 0.3.0
Added: Weapon banks shown during weapon change - incorporated into HUD editor (introduced new client cvars for this: cg_wbShowDuration, cg_wbOrientation, cg_wbWideSlots).
Added: New game type: Team Death Match (easy to be configured server side and client side).
Added: When alternate HUD is chosen with compass in the lower part of the screen the compass slides out to bottom.
Added: New command !baninfo.
Added: New server cvar g_punkBuster. Servers that don't have PunkBuster enabled can still force clients enabling punkbuster for them to have GUIDs. This does not guarantee that every player will have a GUID but if the player has it, it will be sent to the server.
Added: Warmup countdown (last 3 seconds). Can be turned off by setting cg_showCountDown client cvar to "0".
Added: g_classWeapons server cvar. Enables weapons per class (so far only PPSh is handled)
Added: Muted players can't call votes.
Added: New command !readadmins.
Added: Separate meaning of death for shoving to death (enemy killing and team killing supported).
Added: New type of revealed landmines notifications (cg_landmineNotifyType client cvar and g_landmineNotifyType server cvar provided for this).
Added: New command !resetpls that reset individual player stats leaving XP save untouched. There has been some cases when the stats have bugged and this is an easy command for admins to correct such stats.
Added: Players can customise or even disable the announcements if they like.
Added: silEnT mod icon displayed on loading screen.
Added: New PPSH weapon model and enhanced the weapon overall (sounds).
Added: Possibility for First Blood sound for server admins.
Added: New shrubbot flag '/' that will disables private messages from levels or individual players.
Added: Kills/Deaths/Spree counters HUD display managed by cg_killsDisplay cvar.
Added: Predefined HUDs can be now chosen from the HUD configuration menu.
Added: New predefined HUDs: etpro, etpro2 (thanks to Dragon).
Added: New server cvar g_punkBuster that helps server without PunkBuster enabled with GUIDless players.
Added: Hardware based client identification. This is used to help banning players. Controlled by g_identOptions cvar.
Fixed: defect with following FT (killed player was picked when he/she was the FT leader - but next FT member should be picked)
Improved the database performance.
Reworked: cg_hitSounds client cvar. Now a new option play only headshots is available.
Fixed: Headshots from proned players.
Fixed: Follow Fire Team bug with spec not switching outside of FT for "FT first" option.
Fixed: Spectator follow bug: SPACE + RMB caused wrong behavior.
Fixed: pmove_fixed is now recognised by the server if the players sets it.
Fixed: !useredit add command. Before the command checked only valid command flags were added. Now it accepts any flags.
Fixed: Intermission pings. (http://mygamingtalk....c/437-big-ping/)
Fixed: Bans that did not have GUID information are still enforced but not based on the GUID.
Removed: cg_damageKick client cvar.
Changed: Allied tripmine beam color changed to blue.
Version 0.2.1
Added: !usersearch shrubbot command. This command can search user database for name, level and IP address.
Added: Breath bar when underwater.
Added: Backward following in spec mode.
Added: Following Fire Team members in spec in regard to followFT client cvar.
Added: Muted player indicator in scoreboard.
Added: New placeholder '?' to custom commands. When this is inluded with a numerical placeholder, the parameter is then seen as partial name and will be replaced with the real player name if only one name matches the pattern.
Added: The vote menu during intermission displays the top 3 vote winning maps with colors.
Added: Muted players can't send private messages or chat in adminchat.
Reworked: Shortcuts. Fixes a bug in them and gives better performance.
Reworked: Knife throw headshot. Thrown knife triggers now a headshot sound when hitting to the opponent's head.
Reworked: Grenades can't be thrown underwater from now on.
Reworked: Forcecvar. Players can't lag out forcecvar commands anymore.
Reworked: Icons shown over player's head - now possible multiple icons.
Fixed: Center print priorities. The previous kill no longer blocks the health info.
Fixed: Tripmines energy cost bug (charge time). Now it behaves the same way as for landmines.
Fixed: Tripmine arming bug which allowed to exceed team tripmines limit.
Fixed: Knives can be thrown underwater (bug #20).
Fixed: Defect #16: knives bounce off enemies.
Fixed: The client side shrubbot commands now work also in console.
Fixed: Intermission chat can now handle extended ASCII and also commands in the same way as other chats.
Removed: G_tactics.
Version 0.2.0
Added: New sound for thrown knife.
Added: g_dbUserMaxAge server cvar. If this cvar is set, users that are older then then this value are automatically removed from the user database. Default value is 0 which also disables the automated functionality.
Added: !givexp command. With this command admin can add to an online or an offline player a specific amount of XP to a specific skill.
Added: !userdelete command. With this command any users except bots can be removed from the database.
Added: !userban command. A handy online command for banning offline players.
Added: !userlist command. With this command admin can view all the players that are stored in the database.
Added: !useredit command. This command can be used to edit any player that has visited the server.
Added: User database. This holds information of all the users that have visited the server (during the lifetime of the database).
Added: Quick chat box can be used to give commands.
Added: New shrubbot flag '?' that will allow speccing admins to see private messages when they are in spec.
Changed: g_knifeDamage is now g_knifeThrowDamage. Also, the actual damage is no longer randmon.
Changed: !listplayers is now plain !list.
Changed: ETPub !userinfo renamed to !finger. In future a new !userinfo command will give different information.
Reworked: !stats command now shows total and session specific kills and deaths made by Thompson, MP40 and PPSh weapons.
Reworked: Private message sound is now built in and not configurable. sound file can be overridden though.
Reworked: If poison sound is enabled, the poison sound is played only to the player who has been poisoned.
Reworked: !time command shows the clients local time.
Reworked: To throw knife +attack2 must be used as the command.
Reworked: Knives throwing. Now knives are held while they charge power.
Reworked: Knifes rotate when thrown.
Reworked: Knife icon enlarges when +attack2 button is pressed and held (e.g. nade icon pulsates)
Removed: Without the need to support several client versions, the server will now send all obituaries as events.
This change removes all excess flags from g_obituary. From now on, the server will send obituary events to clients with any nonzero value in g_obituary cvar and will not send events if it is set to 0.
Removed: Party panzers removed.
Removed: g_XPSaveFile. This is now controlled with new cvar g_dbDirectory.
Removed: g_shrubbot. This is now controlled with new cvar g_dbDirectory.
Fixed: Memory leaking in the ETPub settings.cfg handling.
Fixed: During the intermission, the full width of the chatbox is now used.
Fixed: During the gameplay, the chat no longer overlaps with the gun icon.
Fixed: Player can't throw his/hers last knife.
Added: vote blocking
Enhancement: lot of rewriting to the data sent from server to the client.
Reworked:!freeze command now needs parameter to avoid freezing all player.
Added: Knife Model
Fixed: Team change spam to stop server crash
Version 0.1.4
Reworked: Scoreboard worked
Added: New awards
Configurable option to pickup extra ammo with dropped weapons.
Enhancement: Tripmines need to be armed
Enhancement: No Tripmines for coverts from this version on
Enhancement: Different tripmines beam colours for each team
Fixed: tripmines ammo defect
Fixed: Scoreboard fixes
Fixed: The reward printing bug on map starts
Fixed: limbomenu bug
Added: sv_cvar and sv_cvarempty commands
Version 0.1.2
Added: New weapon PPSh
Added: New Weapon Tripmine
Reworked: Hitsounds handled differently (No more netspam)
Reworked: The bounding box code worked (This is different then ETPub and at least old NQ)
Removed: Many Etpub related server cvars removed.
Credits
We are greatly thankful to ETPub Dev Team since silEnT mod is based on ETPub 0.9.1. With time, we have done many core code changes, added new features and reworked all code to make it more optimized. We are also thankful to Foxdie, SunLight for the detailed explanation of the cg_zoomDefaultSniper exploit, ailmanki for the help with tripmine wires and to uNhoL for various help.
Dev Team gaoesa TheSilencerPL hellreturn jamesplock jowish