silEnT Server Manual
Updated for silEnT 0.8.2
Server CVAR Reference
Statistics / Rankings Terms
Server Console Commands
Shrubbot
User Database
Banners
Shortcuts
Forcing Client Settings
Announcement Sounds
Hit Sounds
Lua
Change Log
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
-
1 |
Enable killingsprees |
2 |
Enable killingspree ends |
4 |
Enable multikills |
8 |
When set, a top 3 current killing sprees message will be printed every minute,
similar to binoc masters, and a map's longest killing spree will be
printed every two minutes |
16 |
At the beginning of the intermission the highest spree will be shown |
32 |
/kill will end a spree |
64 |
Teamswitching will end a spree |
128 |
Multikill messages will be delayed g_multikillTime milliseconds, to prevent the
doublekill -> multikill -> megakill -> etc. flooding |
256 |
Killing bots doesn't count for multikills or killingsprees (Note: they DO count
for ending kill/deathsprees) |
512 |
Display the map and overall spree record when entering intmission |
1024 |
Summary: don't enable this flag if you don't have enabled g_spreeOptions flag 512 OR
g_XPSave flag 16 or Shrubbot flag t
Spree records are automatically saved into XPSave file when a map ends. By
enabling this flag, you also store the spreerecord at the points where
g_XPSave flag 16 would store XP. When you don't have set XPSave flag 16 and
g_spreeOptions flag 512 and not allow users to use !spreerecord you should NOT set this
flag as it takes some extra resources. When XPSave flag 16 is set this doesn't matter (it
actually takes much less resources then). When only g_spreeOptions flag 512 or shrubbot
flag t is set it won't do much harm anyway (your server won't explode) |
2048 |
Enable revivesprees ([revive] blocks) |
- Default: 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]
-
0 |
Only standard notfications (for each landmine revealed). |
1 |
Only single summary notifications for one binocs zoom. New type of notification.
For example: during one binocs zoom, 3 mines were revealed, but only 1 summary notification is sent. It contains information: 3 mines spotted by "player name" and last one was in location "some location". |
2 |
Don't send any landmine notifications. |
3 |
Send all notifications.
For example: for 3 spotted landmines send 4 notifications (3 for each landmine + 1 summary notification). |
- Default: 3
g_defaultHitSounds
- Description
- Selects the default hit sounds on the server. Starting from silEnT 0.6.0, it is possible for the players to choose what kind of hit sounds are played.
If the client cvar cg_hitSoundType is 0, the g_defaultHitSounds determines what type of hit sounds are used. Also, if the client cvar cg_hitSoundType is 0,
the server may also add custom hit sound files to a custom pk3 file. These sounds are automatically loaded if available. However, if the client cvar
cg_hitSoundType is 1,2 or 3, the client will use strictly the hit sounds they have selected. Custom hit sounds are placed to the root folder "sounds/hitsounds" in the custom pk3. They
must never overload any of the files in the subfolders, silent, etpro or etpub.
- Parameters
- Type: [0|1|2|3]
-
0 |
No selection, will default to silEnT in the client end. |
1 |
Defaults silEnT hitsounds. |
2 |
Defaults ETPro hitsounds. |
3 |
Defaults ETPub hitsounds. |
- Default: 1
g_recognition
- Description
- Enables additional recognition notifications for players doing objective, e.g. for planting dynamite, disarming it, destroying objective.
- Parameters
- Type: [0|1]
-
0 |
Additional recognition notifications disabled. |
1 |
Additional recognition notifications enabled. |
- Default: 0
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
-
1 |
Store xp when a client disconnects. This is always required for the XP save to work. |
2 |
Don't reset xp to the pre-map start values on a map restart, shuffle, etc. |
4 |
Never reset xp (ever). |
8 |
Force the disconnection of clients with the same GUID as the connecting
client. This is useful in saving the stored XP of players with unreliable
network connections since they should still get their stored XP even if
reconnecting immediately with a new IP address.
This feature is enabled by default unless you have sv_wwwDlDisconnected
enabled. sv_wwwDlDisconnected seems to interfere with this feature, so
do not enable this flag if you change pk3's on your server often because
stored XP will be lost over disconencted downloads. |
16 |
Store the XP at restarts, nextmaps, mapvotes, campaignvotes and similar cases. |
- Default: 0
g_XPSaveMaxAge_xp
- Description
- The number of seconds that must pass without saving XP from this player before XPSave forgets his/her xp skills.
Admins can adjust the amount of required XP to save with g_XPSaveMinXP server cvar.
You can use a modifier with this value. Here are some examples:
set g_XPSaveMaxAge_xp "1o" - 1 month
set g_XPSaveMaxAge_xp "2w" - 2 weeks
set g_XPSaveMaxAge_xp "5d" - 5 days
set g_XPSaveMaxAge_xp "36h" - 36 hours
set g_XPSaveMaxAge_xp "120m" - 120 minutes
- 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 |
Disabled: use normal ET XP awarding methods |
1 |
1 point of XP is awarded per g_damageXPLevel points of damage done.
The XP is placed in the skill category of the weapon used.
When this mode is enabled, kills (regardless of method) are awarded
a fixed value of 1 point of XP. |
2 |
1 point of XP is awarded per g_damageXPLevel points of damage done.
The XP is placed in the Battle Sense category.
Normal XP amounts are awarded for kills (typically 3-5 XP). |
- Default: 0
g_damageXPLevel
- Description
- This setting determines the amount of damage that a player must do to earn
1 point of XP. See g_damageXP for additional information.
- 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
-
1 |
Enable XP Decay |
2 |
Do not decay a player's XP when they are disconnected from the server |
4 |
Do not decay a player's XP for the class they are currently playing as (e.g. Medic). |
8 |
Do not decay a player's XP while they are spectating |
16 |
Do not decay a player's XP during warmup/intermission |
32 |
Do not decay a player's XP when he/she is playing. This means that they are on a Allies or Axis and the game is active. |
64 |
Do not decay a player's Battle Sense XP when he/she is playing. |
128 |
Do not decay a player's Light Weapons XP when he/she is playing. |
- Default: 0
g_XPDecayRate
- Description
-
This is the rate (in skillpoints per second) that XP skill points for each
skill will decay when g_XPDecay is enabled.
Setting this to 0.1 would result in a player losing 6 points per minute IN ALL
SKILLS, so up to 42XP per minute if the player has skill points for each skill.
You can use a modifier with this value. Here are some examples:
set g_xpDecayRate "5000/o" - Decay 5000xp per skill per month
set g_xpDecayRate "1000/w" - Decay 1000xp per skill per week
set g_xpDecayRate "500/d" - Decay 500xp per skill per day
set g_xpDecayRate "40/h" - Decay 40xp per skill per hour
set g_xpDecayRate "2/m" - Decay 2xp per skill per minute
- 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
-
1 |
Link stored warnings to the guid of a player |
2 |
Link stored warnings to the ip of the player |
4 |
Remove the oldest warning when the total maximum ammount of warnings is reached |
8 |
Auto-kick a player for 2 minutes when he has more than g_maxWarnings warnings |
16 |
Allow clients to see their own warnings with the /warnings command |
- Default: 0
g_maxWarnings
- Description
- The ammount of warnings that can be stored for 1 player.
- 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 |
Tempban when reaching g_teamDamageRestriction |
2 |
Tempban when someone is kicked by a shrubbot admin (using the !kick command). A normal shrubbot !kick kicks for 120 seconds |
4 |
Tempban when someone is kicked by the advanced warning system. A normal kick by the warning system lasts 120 seconds |
- Default: 0
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 ]
-
0 |
Chat area |
1 |
Center of screen |
2 |
Left notification area |
3 |
Top of the screen |
4 |
Console only |
- Default: 0
g_clientBinaries
- Description
- silEnT mod can be configured to not allow players with unknown client binaries to play on the server. This cvar controls the server behaviour when the client binary is not one of the recognized ones.
- List of recognized binaries
-
- Official client binaries
- Binary edited executables from etmaster.net
- Equivalent to etmaster.net binary edited executables from BigBear
- ETPatchSelector binaries
- Official ET:Legacy b4
- Official ET:Legacy b5
- Parameters
- Type: bitmask
-
1 |
Don't allow players with unknown client executables. |
2 |
Log unknown executables to the g_cheatLog. Note, if the server does not allow unknown client binaries the log message will be different for message. |
4 |
Report unknown executables to admin chat. Note, if the server does not allow unknown client binaries the players will not be reported to admin chat. |
- Default: 0
g_identOptions
- Description
- Starting from version 0.3.0, the silEnT mod can be configured to enforce bans using hardware based identification. This is not any fool proof system but it is made to be an addition to the already existing ban methods. The hardware identification cannot be seen in human readable form by admins while on the server. The data that is sent to the server can be seen in the client by writing /cg_ident to the console. The result is a hexadecimal string that changes its value between maps.
The format and data used to create the client identification may change between different versions of the silEnT mod. The server can be configured with the g_identOptions server cvar.
- Parameters
- Type: bitmask
-
1 |
Kick clients that are spoofing the client identification to enter the server |
2 |
Kick clients that are not sending the identification to the server |
4 |
Enforce bans using the identification |
8 |
Report all actions taken based on client identification to the adminchat |
16 |
If a player is caught of circumventing a ban, a new ban is created with for it. The ban reason will have additional (Automated copy of a ban for xxxxxxxx) where xxxxxxxx is replaced with the 8 character PB GUID of the old ban. |
- Default: 0
g_adminProtection
- Description
- Starting from silEnT 0.5.0, admin levels can be protected against spoofing. The protection works by establishing trust between the client and the server. The trust must
be confirmed by an online human admin for the new trusted admins to gain access to their assigned level. Specific command !confirm is used for it. Do note that establishing the trust
between the server and the player is not the same as assigning admin level. In fact, anyone who is capable of recognizing the real admin can be safely allowed to use the !confirm command.
The !setlevel command will automatically establish the trust if the admin level protection is enabled and the level is above or equal to the g_protectMinLevel.
The admin protection is designed so that only the important admin levels are protected. This means that the levels above the g_protectMinLevel require established
trust between the server and the client. Normal guests do not need this. It is also advisable to not set the g_protectMinLevel too low to avoid server load
with these admins.
- Parameters
- Type: bitmask
-
1 |
Log succesfull authentications to the cheat log |
2 |
Log admin spoofing attempts to the cheat log |
4 |
Report admins waiting for confirmation on their level to the admin chat |
- Default: 7
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
g_dbMaxAliases
- Description
- Starting from silEnT 0.6.0, the silEnT mod can store player aliases in an additional database. To enable this database, set this value to higher then
0. If this value is a positive integer, it defines how many aliases are stored in the database for one player. If the player has more aliases then this value,
the oldest aliases are dropped.
- Parameters
- Type: integer
- Default: 0
g_muteRename
- Description
- If this cvar is set to 1 the muted player won't be allowed to change his name while he is muted.
- Parameters
- Type: [0|1]
- Default: 0
Flood Protection
g_floodprotect
- Description
- Enable/disable silEnT flood protect. Flooding means that a client is sending too
many messages to the server (vsays, callvotes, etc...). Enabling g_floodprotect
disables the engine's sv_floodprotect functionality. If you enable g_floodprotect,
make sure you set a value for g_floodthreshold.
- 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_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
-
1 |
When shooting a corpse to gib, do not count it as a hit. |
2 |
When shooting a corpse to gib, do not count it as a shot. |
- Default: 0
- Note
- Set this to 3 to use the behaviour of etmain and shrubet.
g_shuffle_rating
- Description
- Sets the rating system used by shuffle.
- Parameters
- Type: [ 1 | 2 | 3 | 4 | 5 ]
-
1 |
Use player XP |
2 |
Use the rate at which players have gained XP since connecting. |
3 |
Use the killRating (g_killRating must be nonzero) |
4 |
Use the playerRating (g_playerRating must be nonzero) |
5 |
Use the playerRating (g_playerRating must be nonzero), but take the map into account and give the teams closest to 50/50 |
- Default: 3
g_killRating
- Description
-
When not set to 0 silEnT will track a player's killing ability using an
ELO type statistic
similar to chess. Each kill will increase a player's kill rating
based on how hard the kill was. Killing unskilled players will result in very
few points whereas an unskilled player killing a skilled player will result in
more points. Kill rating also takes into account the weapon used (less for
arty, more for knife).
See also g_shuffle_rating.
- Parameters
- Type: bitmask
-
1 |
Use kill rating. A dummy flag since any non-zero value for g_killRating will enable it. |
2 |
Make kill rating visible. Players can use /killrating and at the end of
each map a message will display the top killers for the map and overall. |
4 |
Log files will include the GUIDs of the players involved in kills. This makes kill tracking a lot easier. |
8 |
Disable kill rating from the score board. This can prevent players from playing for higher kill rating alone. This does not prevent the "killrating" client command enabled with flag 2 from working. |
- Default: 3
g_playerRating
- Description
-
When not set to non zero positive value, silEnT will track a player's ability to win against good teams
using an
ELO type statistic similar to chess. Each win will increase a player's
rating based on how hard the opposing team was. Skilled teams defeating less
skilled teams will result in very few points whereas an relatively low-
rated team defeating a good team will result in more points. Player rating also
takes into account the number of players on each team (less points when a very
large defeats a small one) and which side tends to win more often on the
current map (e.g. Allies tend to win tc_base).
See also g_shuffle_rating.
- Parameters
- Type: bitmask
-
1 |
Use player rating. A dummy flag since any non-zero value for g_playerRating will enable it. |
2 |
Make player rating visible. Players can use /playerrating and at the end of each map a message will display the top player. |
4 |
Put player rating on the scoreboard instead of the XP. |
8 |
Print out extra info at the end of a round that can be used to further refine the playerrating model. |
16 |
The same as flag 8 except a lot more info is output. |
- Default: 3
g_unevenTeamDiff
- Description
- If g_teamForceBalance is set, setting g_unevenTeamDiff will notify all
players when team numbers are off by g_unevenTeamDiff or more. See also
g_unevenTeamFreq
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 ]
-
1 |
Map ends only when timelimit hits |
2 |
Map ends when either the target score is reached or the timelimit hits |
3 |
Map ends only when the target score is reached |
- Default: 0
g_TDMOptions
- Description
- Possible options for the played Team Death Match.
- Parameters
- Type: bitmask
-
1 |
Map voting is enabled during the intermission (i.e. The players vote for the next map to play during the intermission.) |
2 |
Completing the map objective will give the team score bonus that is controlled by the g_TDMObjBonus server cvar |
4 |
Teams get negative points when they do selfkills or teamkills |
8 |
Players cannot selfkill during the TDM. Regardless of other selfkill settings the server has configured |
- Default: 5
g_TDMScore
- Description
- This is the target score the teams attempt to make to win the game in TDM game types 2 and 3.
- 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).
Starting from silEnT version 0.5.2, admins can add settings that executed for specific player amounts. The commands are enclosed in [players low-high] ... [/players] blocks.
The low is the lowest amount of players for those settings and high is the maximum amount of players for those settings. For example:
[players 0-10]
set team_maxPanzers 0
[/players]
will disable panzerfaust when player amount is less or equal to 10. The blocks can be placed anywhere in the map config files. If the block is closed with [/players], the following
commands do not depend on the player amounts. The player blocks can not be nested. If two player blocks follow each other, the second definition opens a new one and the old one closes.
For example:
[players 0-15]
set g_excludedMaps ":mlb_temple:"
[players 16-*]
set g_excludedMaps ":adlernest:"
[/players]
will esclude map mlb_temple if the player amount is less or equal to 15 and exclude map adlernest if the player amount is 16 or more. The player amount counting is controlled with
g_playerCounting server cvar.
When in g_gametype 6 mode (Map Voting) and
g_resetXPMapCount is set, an additional
file named vote_X.cfg is also exec'ed. X indicates the
position of the next map in the campaign. For example, vote_2.cfg will exec'ed
such that when map 1 ends, any cvars in vote_2.cfg will affect map voting for
map 2. Player blocks are not used with vote_X.cfg files.
- 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: ""
g_playerCounting
- Description
-
This cvar controls how the player amount is calculated for the mapconfigs. The player amount value is the highest number of simultaneously fully connected players during the map or warmup.
The player counting can be disabled from the warmup period. If the player counting is enabled during the warmup, the players are counted right at the end of the warmup. This allows the
teams to stabilize after intermission. Similarly the counting is triggered always with a 3 second delay from the change in the teams. Team changes include players joining the server and staying
in the spectators.
- Parameters
- Type: bitmask
-
1 |
Enable filtering. This will add the 2 latest values together and divide them by 2. |
2 |
No player counting during warmup. |
4 |
Count spectators into players. Without this flag, only players in the playing teams are counted. |
8 |
Does not include server bots into the player count. |
- Default: 1
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
-
1 |
Kill the player |
2 |
Kick players with names containing words in g_censorNames |
4 |
Kill, but don't gib |
8 |
Auto-mute for g_censorMuteTime [60] seconds |
16 |
Lose the amount of xp specified in g_censorXP |
32 |
Burn |
- Default: 0
- Note
- If you use both 1 and 4, it will gib (like shrub did).
g_censorNeil
- Description
- Use Neil Toronto's censor filter. It'll catch some symbol and number replacements,
and spaces now. It also adds some common words and common words with "swears" in them
that should really be OK. For example, it will not censor "assassin" but it will
censor "ass".
- 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
-
1 |
Votes will pass on the number of votes cast rather than total eligible voters. |
2 |
Votes that pass do not count against the vote_limit for the caller. |
4 |
" (called by NAME)" is appended to the vote description where NAME is the name of the player that called the vote. |
8 |
Show the number of YES and NO votes after a votes has passed or failed. This also shows if a vote is canceled or passed by an admin. |
- Default: 0
vote_limit
- Description
- This value defines how many votes one player can invoke during one map.
- 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
- Controls the behaviour of the map voting.
- Parameters
- Type: bitmask
-
1 |
Changes the tie breaker so that the map not played in the longest wins |
2 |
Intermission doesn't end until g_intermissionReadyPercent people have
voted. If there are no players connected to the server, intermission
will end at the timeout. (WARNING: This means that if there are
spectators connected and not voting, the next map will not load until
those spectators either vote, disconnect, or get kicked by the system) |
4 |
Multi vote: Allows everybody to vote for 3 maps instead of one, first
choice map gets 3 votes, second choice gets 2, third choice gets one |
8 |
Don't randomize the maps, so they will always appear in the same order |
- Default: 0
g_maxMapsVotedFor
- Description
- How many maps are presented to users for voting upon during intermission
Only valid when map voting is enabled.
- Parameters
- Type: integer
- Default: 6
g_minMapAge
- Description
- How long a map is ineligible for voting, after it is played
Only valid when map voting is enabled.
- 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 map voting is enabled.
- Parameters
- Type: integer
- Default: 0
g_includedMaps
- Description
- Used to include map regardless of any other restrictions. Including g_excludedMaps setting.
The format is ":map1:map2:map3:", where mapX is the .bsp name.
Note that each mapname must be fully surrounded by ":" otherwise the map will
be ignored in the list.
Only valid when map voting is enabled.
- Parameters
- Type: string
- Default: ""
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 map voting is enabled.
- 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
-
1 |
Poisoned player's screen shakes. |
2 |
Other players see the poisoned player's head shaking. |
4 |
Poisoned player appears to bend over (hurl) every 2 seconds. (poisoned player does not see this happen.) |
8 |
Poisoned player cannot use +attack. NOTE: because of
client side prediction, the client may see the gun firing occasionally if they hold down +attack, but no shots are fired. |
16 |
Poisoned player is disoriented (view turned upside down). |
- Default: 7
g_medics
- Description
- Controls various aspects of the medic, to nerf or otherwise change their behavior.
- Parameters
- Type: bitmask
-
1 |
Medics can't pick up their own health packs to cure themselves of poison needle effects |
2 |
Medics can't pick up their own health packs at all |
4 |
A level 4 medic will always be revived to full health (no matter what the level of the reviving medic is) |
8 |
Value is not in use |
16 |
Medics do not spawn with akimbo pistols, regardless of their light weapons skill |
32 |
Medics spawn with pistol only, and can't pick up SMG of either team
However, any class can steal a medics uni, if g_classChange is
set to 1, and receive the medic benefits while retaining their
current weapons, including akimbos and SMG |
64 |
Medics can use syringes to heal living teammates as an alternative to the tk/revive cycle. |
128 |
Level 4 medics can inject other players with their adrenaline. This
can be done when holding the revive needle by pressing the alt-fire
button, or with the /adrenother client command. |
256 |
Level 4 medics cannot adrenaline self. If this flag is on, Medics will
not receive adrenaline upon reaching level 4. (This won't affect flag 128) |
512 |
Adrenaline uses only half of the chargebar. |
- Default: 0
g_adrenDmgReduction
- Description
- The percentage damage reduction after injecting adrenaline. g_adrenDmgReduction is now independent percentage of the caused damage
that is inflected when the adrenaline is on. 0 means no damage and 100 means full damage from the weapon.
- Parameters
- Type: integer
- Default: 50
g_medicHealthRegen
- Description
- The rate at which medics regenerate health (in HP per second). This rate is divided
into two parts: The first is from 1 to 110-125 HP (depending on the number of
medics per team), and then above that. The system default is 3/2 (3 HP per second,
then 2 HP per second).
- Parameters
- Type: [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 ]
-
0 |
3/2 |
1 |
2/2 |
2 |
2/1 |
3 |
2/0 |
4 |
1/1 |
5 |
1/0 |
6 |
0/0 |
7 |
0/1 |
8 |
0/2 |
- Default: 0
g_throwableKnives
- Description
- Enable knife throwing. The amount of throwable knives is g_maxKnives - 1. Any non zero value will enable knife throwing.
- 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
-
1 |
Make an announcement whenever an airstrike is blocked. |
2 |
A player may easily block an airstrike by crouching, standing, or proning over the enemy's canister to block the airstrike. |
4 |
Reserved. |
8 |
Lvl 3 FieldOPs and higher cannot have the airstrikes blocked by players. |
16 |
Disables teammates blocking airstrikes. |
32 |
Give 2 Battle Sense XP to player that blocks the air strike. No XP given for blocking teammates or your own air strike. |
- Default: 0
g_panzersSpeed
- Description
- Speed of the panzers. Normal panzer speed is 2500.
- 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
-
1 |
Sudden Death Dynamites enabled. If there is 30 seconds or less on the clock and dynamite is planted on an objective,
the clock will continue to run past zero. The match will not end until the dynamite either explodes, or is disarmed.
You are not allowed to plant additional dynamite during sudden death. |
2 |
Dynamite chaining enabled. Dynamite will cause other similar dynamites to explode when exploding (only if within
blast radius). Dynamites not planted on an objective will blow any other dynamite not on an objective. Dynamite
planted on an objective will only blow dynamite on the same objective. |
4 |
Adds a dynamite symbol with the location and the time remaining to all the players on the team of the player who
plants the dynamite. This will only happen when dynamite is placed on an objective. The players in the other team
will see the dynamite symbol too, but they won't see the time remaining. |
8 |
Dynamite cannot be disarmed by your team (inlcuding yourself), so only the other team can defuse it. |
16 |
Enable dynamite ID. You can see the owner of a dynamite when you point at it. |
- Default: 0
g_canisterKick
- Description
- Canister and grenade kicking.
Allows players to kick smoke, and air strike canisters, along with grendaes. The integer adjust the amount of force put behind the kick.
75 is a good value, anything below 60 is about useless, and above about 125 is probably too much.
- Parameters
- Type: integer
- Default: 0
g_canisterKickOwner
- Description
- Kicked Canister Ownership
- Parameters
- Type: [0|1]
-
0 |
Kicker does not take ownership of the canister. |
1 |
Kicker takes ownership of the canister. |
- 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
-
1 |
Enable reflected damage for Firearms (all types of guns) |
2 |
Enable reflected damage for Grenades and grenade launchers |
4 |
Enable reflected damage for Knives (includes thrown knives) |
8 |
Enable reflected damage for Panzers |
16 |
Enable reflected damage for Flamethrowers |
32 |
Enable reflected damage for Mortars |
64 |
Enable reflected damage for Satchel Charges |
128 |
Enable reflected damage for Artillery and Air Strikes |
256 |
Enable reflected damage for Dynamite and Construction Damage |
512 |
Enable reflected damage for Landmines |
- Default: 31
- Note
- Setting this value to zero will override any multiplier
set via g_reflectFriendlyFire, effectively disabling reflecting damage.
g_friendlyFireOpts
- Description
- Allows greater control over friendly fire events.
- Parameters
- Type: bitmask
-
1 |
Landmines ALWAYS damage teammates regardless of g_friendlyfire setting |
2 |
Allow 'grenade boosting' when friendly fire is off |
4 |
Non-engineer players do not trigger landmines on their own team |
8 |
Players do not trigger trip mines on their own team |
16 |
Tripmines ALWAYS damage teammates regardless of g_friendlyfire setting |
32 |
Only engineer that planted the landmine can trigger/defuse it (concerns team landmines only) |
- 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
-
1 |
Level 0 field ops doesn't get binoculars (unless he has >= level 1 Battle Sense) |
2 |
Syringes work underwater |
4 |
Pliers work underwater |
8 |
Fully restore Field ops charge bar if airstrike is aborted |
16 |
Half restore FIeld ops charge bar if airstrike is aborted |
32 |
Ammo packs restore helmets |
64 |
Drop binoculars if player has them |
128 |
Soldiers with level 4 heavy weapons don't lose their pistols |
256 |
Garands can reload when clip is not empty |
512 |
Balance the clip size between the allies and axis rifles. allied rifles get same clip sizes and max ammo as the k43. |
1024 |
Creates a hitbox for mortar shells. This reduces (or eliminates in some cases) the ability to fire mortars through smaller windows and bunker slits. |
2048 |
Knives will always gib a body (not a player, use g_dmgKnife instead if you want that) |
4096 |
Extra ammo is included with dropped weapons. |
8192 |
"Ammo"/"No ammo" icon is shown for dropped weapons. |
16384 |
Enable fast shooting for Thompson, MP40, PPSh and Sten. |
32768 |
Kill by the shot tripmine is counted for the shooter not the player that planted it. |
- Default: 0
g_classWeapons
- Description
- This cvar enables certain weapons per class. So far, only PPSH enablement is implemented:
- Parameters
- Type: bitmask
-
1 |
Enable PPSH for soldiers. |
2 |
Enable PPSH for engineers. |
4 |
Enable PPSH for fieldops. |
8 |
Enable MP40 and Thompson to be available to both teams in limbo menu. |
16 |
Enable MP40 for soldiers. |
32 |
Enable Thompson for soldiers. |
- Default: 63
g_mg42
- Description
- This cvar controls optional machine gun behaviour.
- Parameters
- Type: bitmask
-
1 |
Machine Guns can make headshots |
2 |
Machine Guns can reload when clip is not empty |
- Default: 0
g_coverts
- Description
- Controls various aspects of the Covert Op class.
- Parameters
- Type: bitmask
-
1 |
Level 4 Coverts have more accurate scoped weapons. |
2 |
Disguised coverts can only be identified with the "crosshair name" by level 4 Field Ops. |
4 |
After detonating a satchel charge, the primary weapon will be selected instead of satchel again. |
8 |
Coverts in disguise take half the normal combat damage. |
16 |
Coverts in disguise take no splash damage. |
32 |
Coverts do not automatically lose their uniform if an enemy sees them firing a weapon. |
64 |
Coverts do not automatically lose their uniform if they fire a non-silent weapon. |
128 |
Coverts do not automatically lose their uniforms if they attach
to an emplaced MG weapon. Note that this flag has nothing to do with firing. |
256 |
Coverts are awarded xp for constructive use of smoke. |
512 |
Coverts will lose their uniform if an enemy sees him using ANY
weapon (otherwise knife/satchel/smoke/binoc will never lose uni). |
1024 |
A disguised covert can still steal enemy uniforms. |
- Default: 0
g_enableTMines
- Description
- Disables/enables tripmines. Tripmines are available only for engineers.
- 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.
Starting from silEnT 0.6.0, these cvars also allow disabling skills. Also, 0 value will always enable skill regardless of the order. For example, a string "0 -1 0 -1"
always enables the skill from the first and the third level and completely disables the skills on the second and the fourth level. The only limitation is, that the values
other then 0 and -1 must be ordered from the smaller to the higher. For example "0 20 -1 50" always enables the first skill, second skill takes 20 points to unlock, third skill
is always disabled and the fourth skill requires 50 points to unlock. Furthermore, the g_noSkillUpgrades now locks skills to any always enabled levels. Meaning skills that are
set to require 0 points to unlock.
- Parameters
- Type: string
- Default: "20 50 90 140"
g_noSkillUpgrades
- Description
- When set to 1, disables player skill upgrades. Sarting from silEnT version 0.6.0, it will lock the skills to the always enabled levels. See the skill_x cvars.
Also, it is possible to hide the skill levels from the player HUDs setting this cvar to value 2.
- Parameters
- Type: [0|1|2]
-
0 |
Disabled |
1 |
Lock skill levels |
2 |
Lock skill levels and disable all skill status information from the player HUD and limbo menu. |
- Default: 0
g_panzersVulnerable
- Description
- If set to 1, panzers that are shot in mid-air will explode.
- Parameters
- Type: [0|1]
- Default: 0
g_maxMarkers
- Description
- Defines how many danger zones can be marked by the covert ops.
Danger zones were introduced in 0.7.0 version of the silEnT mod.
They can be marked by Covert Ops to indicate that some area can be considered dangerous.
Such area is then visible on the command map as the red circle zone. Additionally, when the Command Post is built, players are notified by sound
and visual signs about entering the danger zone.
Players can customize the way they are notified via the HUD editor and the silEnT customize HUD menu.
To mark the danger zone Covert Ops needs to look through his binoculars and press the left mouse button (attack button).
The same way Field Ops calls for an airstrike.
To disable the feature set the g_maxMarkers to 0.
- Parameters
- Type: integer
- Default: 2
g_enableDemolition
- Description
- Enable Improvised Demolition weapon for soldier class.
Improvised Demolition weapon was introduced in 0.8.0 version of the silEnT mod.
As mentioned in the original WWII Tank-destruction manual, a big charge could be made of 6 stickgrenade heads around one complete grenade, fixed with wire or rope.
The central grenade would make the other 6 grenade detonate as well causing an explosion which could damage the light armoured vehicles.
In silEnT mod this weapon is designed to suit exactly the purpose described above.
To gain the weapon player has to gain 3rd engineer level and 4th soldier level.
- Parameters
- Type: [0|1] 0 - enable, 1 - disable
- Default: 1
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
-
0 |
Use traditional ET settings for combat. |
1 |
Use Advanced Hit Locations: Differentiates between Head, Body, Arm, and Leg shot when computing damage. |
2 |
Applies a more realistic damage vs. range equation for
short-ranged weapons. This will reduce the effectiveness
of these weapons at longer ranges. |
4 |
Gives a damage bonus to short-range weapons when used in
close combat situations. This will increase the
effectiveness of these weapons at closer ranges. |
8 |
Use bullet fall-off approximations when computing shot trajectory. |
16 |
Improve accuracy of non-scoped single-shot rifles. |
32 |
Use alternate bullet-spread characteristics for automatic or rapid-fire weapons. |
64 |
Damage from players who are spectators or have disconnected is ignored, and XP is not awarded. |
- Default: 0
g_dmgHeadShotMin
- Description
- This represents the minimum damage done by a headshot
regardless of the weapon used to make the shot.
Headshots that would do damage below this value will be
adjusted upward to equal g_dmgHeadshotMin.
Headshots from a weapon with damage at or above this value
will do a multiple of their damage, as specified by g_dmgHeadShotRatio.
(The actual damage may undergo additional modification
due to range and other conditions)
- 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
Miscellaneous
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 |
Players with level 4 battle sense can spot landmines for teammates |
2 |
Players with level 4 engineering can keep the flak jacket for other classes |
4 |
Players with level 4 first aid can keep adrenaline for other classes |
- Default: 0
g_misc
- Description
- Miscellaneous options.
- Parameters
- Type: bitmask
-
1 |
Enable double jump |
2 |
Enable binoc master competition. Requires g_weapons 64 to be set. |
4 |
When a player is killed he can see the HP the killer has left |
8 |
Disable self damage |
16 |
Players can not jump if stamina is too low |
32 |
Enable Jaymod style doublejump. |
64 |
Disable Falling Damage |
128 |
Announce revives |
256 |
Disable first blood message |
512 |
Fullbody predict. This makes it harder to get inside for example walls and stones. Same as ETPub g_misc 32 + 256. Do note that this can cause problems when proning through windows and similar narrow passages. |
1024 |
Enable the enemy team objective carry indicator. |
- Default: 0
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.
- 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.
- 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
-
1 |
Player spawns with half charge bar after /kill |
2 |
Player spawns with 0 charge bar after /kill |
4 |
Restores the charge bar to the same state it was in at the moment the player issued /kill (regardless of how long they were in limbo) |
8 |
Disable /kill when player is frozen |
16 |
Disable /kill when player is poisoned |
- Default: 0
g_maxSelfkills
- Description
-
Amount of times a player can use /kill per map.
Setting this to -1 will result in normal behaviour (infinite selfkills).
Setting this to 0 will disable /kill.
- 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
-
1 |
When in freelook mode, you can 'fire' at a player to follow. If you miss a player, nothing happens. |
2 |
When in freelook mode with the 1 flag set, if you shoot and miss you start following the next available player. |
4 |
When the player you're following goes into limbo, don't move to the next available player. |
8 |
When the player you're following goes into limbo, go to freelook instead of following the next available player. (4 has precedence) |
- Default: 0
g_truePing
- Description
- Allows players to see 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
-
1 |
Display player team information using the 'P' cvar in the server info string. (etpro and etmain 2.60 behaviour) |
2 |
Display player team information using the 'Players_Axis' and
'Players_Allies' cvars in the server info string. (etmain < 2.60 behaviour) |
4 |
Display the 'campaign_maps' cvar in the server info string. This
contains a comma delimited list off all the maps in the current
campaign. Only works if you have g_gametype set to 4. |
8 |
Displays the 'C' CVAR in the server info string. This is a string
containing the current map number in the campaign, and total maps in
current campaign, in the form of "xx,yy". Only works if
you have g_gametype set to 4. |
16 |
The class charge times will not be present
in the server info string unless this flag is set. They are
removed by default in order to make room in the serverInfo string
for more useful information.
These cvars are g_medicChargeTime, g_engineerChargeTime,
g_LTChargeTime, g_covertopChargeTime, g_soldierChargeTime. |
32 |
Send KR (KillRating) instead of XP in SERVERINFO string. This is overriden by flag 64. |
64 |
Send PR (PlayerRating) instead of XP/KR in SERVERINFO string. Overrides flag 32. |
- Default: 1
- Note
-
This cvar MUST be set prior to loading the first map. You
will not be able to change this cvar once the game code is loaded.
The serverInfo string has a fixed length of 1024 characters. This
space is shared with any cvar you create on your server with the 'sets'
command. If you use up too much space with 'sets', your server will
fail to start. It will print the message
"Info string length exceeded" if you don't have enough space left
in your serverinfo string to handle the g_serverInfo flags you've selected.
To fix this, either remove some sets cvars from your config, or use
different g_serverInfo flags.
g_fear
- Description
-
If a player uses the /kill command within g_fear milliseconds after
taking damage from an enemy, the attacker that last damaged that player
will recieve full credit for the kill and the mode of death will be
recorded as MOD_FEAR. Other restrictions are that the attacker must be
on the opposite team and the attacker must still be alive.
g_fear applies also to players that try to switch teams
within g_fear milliseconds. The player will remain in the same team and
the usual g_fear behavior applies.
In-game statistics will reflect that the death
was caused by the weapon that did the last recorded damage to the player.
Set this to 0 to disable this behaviour.
- Parameters
- Type: integer
- Default: 2000
g_realBody
- Description
- If server admin sets this, the player hitboxes are adjusted smaller and harder to hit. With value 0, the hitboxes used up to 0.5.0 are used.
- Parameters
- Type: [0|1]
-
0 |
Hitboxes used up to 0.5.0 |
1 |
Smaller hitboxes |
- Default: 0
- Note
- To see the differences in the hitboxes, use g_debughitboxes server cvar. Do note that this kind of testing should not be done with many players because it will cause huge amount of lag.
g_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_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 or completely.
- Parameters
- Type: bitmask
-
1 |
Landmines |
2 |
Artillery and airstrikes |
4 |
Mortar |
8 |
Dynamite |
16 |
Tripmines |
32 |
Completely |
- 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_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 |
Don't drop shoutcasters |
2 |
Don't drop spectators when in following mode |
4 |
ETmain inactivity behavior (don't wait for a full server) |
8 |
Shrubbot flag '0' admins will be moved to spectators due to team inactivity |
- Default: 3
g_ettvFlags
- Description
- This is a bitflag cvar that supports the following values:
- Parameters
- Type: bitmask
-
1 |
Prevent ettv slaves from being callvote kicked |
2 |
Grant shoutcaster status to ettv slaves |
- Default: 3
g_mode
- Description
- This is a bitflag cvar that supports the following values:
- Parameters
- Type: bitmask
-
1 |
Players will spawn instantly |
2 |
Each class receives adrenaline |
4 |
No damage on players |
8 |
Players can pick up any weapon on the ground (Removing this bitflag will force all players to respawn!) |
- Default: 0
g_hitsounds
- Description
- Server side hitsound options.
- Parameters
- Type: bitmask
-
1 |
Enable hitsounds |
2 |
Disable hitsounds when shooting wounded players |
4 |
Disable the headshot sound when shooting wounded player in the head. (default hitsound will be used in it's place) |
8 |
Enable warning sound from hitting team mates |
16 |
Disable hitsounds from poison damage |
32 |
Disable hitsounds from explosive weapons |
- Default: 1
- Note
- A client can disable hitsounds with cg_hitSounds client cvar. Also an option to play only headshots is available.
g_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
-
1 |
Cannot do goomba damage to teammates. |
2 |
Short falls (hopping) on another player does no damage. |
4 |
Short falls (hopping) does no damage to teammates. (not necessary if 1 or 2 flag is set) |
8 |
Falling player recieves no damage when landing on any other
player. (default is to recieve 20% of the damage the fall
would have given if not landing on a player). |
16 |
Insta-gib goomba. All goomba damage will be 500HP regardless
of fall distance. The exception is hopping on anther player
which still does 5HP of damage. |
32 |
Falling corpses won't cause damage. |
- Default: 0
- Note
- Set this to 31 to have g_goomba work like shrubet.
g_spawnInvul
- Description
- The number of seconds players will be invincible after they spawn.
- 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: [0|1]
- Default: 1
g_realPlayTime
- Description
- Show additional real play time of the payer (without spec time) in the debriefing screen at the end of the map.
For instance: 6/10
would mean that player played 6 minutes, was on the server for 10 minutes and 4 minutes was in spec.
- Parameters
- Type: [0|1]
- Default: 1
g_min_crazyspeed
- Description
- Set minimum speed for !crazyspeed command.
- Parameters
- Type: integer
- Default: 200
g_max_crazyspeed
- Description
- Set maximum speed for !crazyspeed command.
- Parameters
- Type: integer
- Default: 540
g_min_crazygravity
- Description
- Set minimum speed for !crazygravity command.
- Parameters
- Type: integer
- Default: 10
g_max_crazygravity
- Description
- Set minimum speed for !crazygravity command.
- Parameters
- Type: integer
- Default: 1200
g_silentac
- Description
- Enables actions based on silEnT AntiCheat. The g_cheatLog will always have one line telling if a player is found with cheats. The cheat detections are based mostly on heuristically
detecting hacking techniques. If you suspect a false positive, please supply the silEnT team a method to reproduce it. Programs needed etc. Do note that this feature has been in
extensive testing well before the 0.8.0 version.
- Parameters
- Type: integer
-
1 |
Show player AntiCheat status in the !finger output. |
2 |
Automatically ban players with cheats. |
- Default: 0
g_maxIgnoresPerMap
- Description
- The maximum number of times one player can ignore another player during one map. This can prevent spamming other players with the ignore command. The value can be
between 0 and 255. Any value higher then 255 will always allow ignoring. Any value below 1 will disable ignoring completely.
- Parameters
- Type: integer
- Default: 2
g_proneDelay
- Description
- If set, there will be 1750 ms delay after every prone or getting up before the player can prone or get up again. Also, weapon spread will be maxed for 1 second
after proning.
- Parameters
- Type: [0|1]
- Default: 0
g_goatSound
- Description
- If set, a goat sound will be played on every knife kill to both the attacker and the victim.
- Parameters
- Type: [0|1]
- Default: 1
Logs
g_logOptions
- Description
- Configuration options for different data to be logged.
- Parameters
- Type: bitmask
-
1 |
Server outputs obituaries to chat |
2 |
Adrenaline countdown displayed |
4 |
Disable display of tap-out confirmation box |
8 |
Display connection attempts by banned players |
16 |
Display gib reports ("<victim> was gibbed by <attacker>") |
32 |
Omit "item" lines from log file |
64 |
Value not in use |
128 |
GUID's are logged in the game log |
256 |
Log all private messages (/m commands). This setting won't have any effect unless g_tyranny is enabled. |
512 |
Logs the real time into logs, instead of the normal uptime of the server. |
1024 |
Logs every dropped player. This can be usefull for inspecting server operation, but will cause lots needless log writes. I.e. it does not filter normal or otherwise logged events out. |
2048 |
Print TK death message like a normal kill message, giving killing
weapon, except it is preceeded by a red TEAMKILL: identifier. Only works if g_obituary is set to 3. |
4096 |
Log cvar querys to the g_cheatLog. Related to Lua functionality added in version 0.6.2. |
8192 |
Log only found values from cvar querys to the g_cheatLog. Note that the flag 4096 must also be set. |
16384 |
Admin log will use new format that is more readable. |
- 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
-
1 |
Disables XPSave for bots |
2 |
Bots cannot mount tanks |
4 |
Bots cannot mount emplaced guns |
8 |
Don't track bot count in omnibot_playing cvar |
16 |
Bots will target ungibbed enemies |
32 |
Bots will trigger team and spotted mines |
64 |
Bots can use g_shove |
65536 |
Bots are granted shrubbot command immunity (the same as shrubbot flag !) |
131072 |
Bots cannot be !kicked or !banned |
262144 |
Disable shrubbot greeting for bots |
- Default: 0
Lua
lua_modules
- Description
- List of files to be loaded by the Lua API engine. Can be separated by
space, comma or semicolon. The paths are relative to the mod's directory,
and can optionally be placed inside pk3 archieves.
We are aiming for compatibility with ETPro's
Lua Mod API
- 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 the silEnT:
- bot [arguments]
-
Passes commands to the Omni-bot library. See the omni-bot 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.
- 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.
- prresetstats
-
Resets the total kills and deaths made by SMG weapons from all the players in the database.
- readsettings
-
Reloads the g_banners file. This is done by the server automatically, but if you decide to change
the banners 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, silEnT loads the saved XP 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 map statistics 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.
- dbcleanup
-
When this command is issued, the server database is cleaned during the next intermission and saved when the database closes next time. Usually during map change.
This clean up checks that all the records can be searched and these records have properly formed GUIDs. All duplicated records are deleted from the main database so
that the last used record is left. All player alias records, if aliases database is enabled, are checked that they have an associated record in the main database.
Alias records without associated records in the main database are deleted. This command is resource intensive and for that reason it is executed during intermission.
The command can be issued at any time during the map.
- 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:
COMMAND |
FLAG |
g_tyranny |
USAGE |
DESCRIPTION |
!admintest |
a |
- |
!admintest [NAME|SLOT] |
Prints out player's current shrubbot admin level in global chat.
When the NAME or SLOT are added and the user has the right shrubbot
permission, the level of another player will be shown
|
!aliases |
e |
- |
!aliases [NAME|SLOT] [PAGE] |
Prints out player's stored aliases. Aliases are printed in the last seen first order.If there are more stored aliases then fit in one page, optional page parameter
can be used to access different pages. The number of stored aliases depends of the g_dbMaxAliases cvar.
|
!ban |
b |
- |
!ban (NAME|SLOT)
(SECONDS|TIME_WITH_MODIFIER) REASON |
Kicks the player in slot number SLOT or with name containing
NAME off the server and will not let them connect again for
SECONDS seconds, or, if a modifier (m, h, d, or w) is used, a
given amount of time. For example:
90 = 90 seconds
15m = 15 minutes
3h = 3 hours
5d = 5 days
1w = 1 week
|
!baninfo |
e |
- |
!baninfo (BAN NUMBER) |
Shows detailed information of a ban in the ban list. Find the ban number with !showbans command.
|
!burn |
U |
YES |
!burn (NAME|SLOT) [REASON] |
Sets the player in slot number SLOT or with name containing NAME on
fire. REASON will be center-printed to the victim.
|
!cancelvote |
c |
- |
!cancelvote |
makes a vote in progress fail
|
!country |
i |
- |
!country (NAME|SLOT) |
Displays the country of the player. This command works only if GeoIP is enabled on server (g_countryFlags).
|
!crazygravity |
C |
- |
!crazygravity [on|off] |
Enables crazy gravity. Turning this option on will set the gravity to a random value in 30
second intervals.
To customize the crazy gravity use following cvars:
g_min_crazygravity
g_max_crazygravity
|
!crazyspeed |
C |
- |
!crazyspeed [on|off] |
Enables crazy speed. Turning this option on will set the speed to a random value in 30
second intervals.
To customize the crazy speed use following cvars:
g_min_crazyspeed
g_max_crazyspeed
|
!dewarn |
R |
- |
!dewarn (NAME|SLOT) [WARNING#] |
Shows all the warnings of a user. When warning# is added, the warning with that number will
be removed
|
!disorient |
d |
YES |
!disorient (NAME|SLOT) [REASON] |
turns the view upside down for the client in slot number SLOT
or with name containing NAME. If REASON is specified it is
printed to the client.
|
!finger |
e |
- |
!finger (NAME|SLOT) |
Display the slot, partial PunkBuster and silEnT GUIDs, ip and the clientversion of a player. The PB GUID can be different then in the output of the !userinfo command. The difference comes from the user database not updating the PunkBuster GUID once it is stored. This is intentional behaviour.
NOTE: this command should only be available to the highest server admins!
|
!freeze |
F |
YES |
!freeze [NAME|SLOT] [REASON] |
Freezes the client in slot number SLOT or with name containing NAME.
If no parameter is provided it freezes all players. Frozen player(s)
cannot receive damage during this time. If REASON is specified it is
printed to the client.
|
!gib |
g |
YES |
!gib (NAME|SLOT) |
Kills and gibs the player in slot number SLOT or with name containing NAME.
|
!giba |
Q |
YES |
!giba |
Kills and gibs all players.
|
!help |
|
- |
!help |
Lists all the available shrubbot commands. The command doesn't have a flag but it is available to all clients always.
|
!howfair |
I |
- |
!howfair |
Prints a simple summary to everyone on the chat of team fairness based on
player kill rating.
|
!kick |
k |
- |
!kick (NAME|SLOT) REASON |
kicks the player in slot number SLOT or with name containing NAME off
off the server. REASON is given to the client as the drop message.
The client will be banned for 2 minutes.
|
!levlist |
s |
- |
!levlist |
Lists all the admin levels loaded from the shrubbot.cfg.
|
!levinfo |
s |
- |
!levinfo (level) |
Lists all the details of the specific admin level. The listed information includes The name of the level, the greeting, the greeting sound path and the privilege flags for the level.
|
!list |
i |
- |
!list |
Prints out a list of information about the connected players. The
columns are:
- slot number
- team R=axis B=allies S=spectator C=connecting
- first letter of fireteam name
- admin level (and level name)
- last 8 digits of guid
- M if muted
- W if warned
- name
|
!listteams |
I |
- |
!listteams |
prints out a list of statistical information about each team.
This lists ends with ratings information based on how likely each
team is to win the current map. The team with more points is LESS
likely to win, therefore a good way to balance the teams is to join
the team with more points, or move people to that team, until the points
are about even.
|
!lock |
K |
- |
!lock (r|b|s|all) |
locks the team specified. recognized values are
r=AXIS b=ALLIES s=SPECTATORS all=ALL
|
!lol |
x |
YES |
!lol (NAME|SLOT) [GRENADES] |
Makes specified players drop grenades. GRENADES is the number of grenades
to be dropped (default is 1, maximum is 16).
|
!mute |
m |
- |
!mute (NAME|SLOT) [SECONDS|TIME_WITH_MODIFIER] REASON |
Mutes a player in a slot number SLOT or with a name containing NAME. TIME and
REASON are optional. See !ban 6 lines above for more information on
modifiers
|
!news |
W |
- |
!news |
plays the map specific news audio to all players if it is available.
|
!nextmap |
n |
- |
!nextmap |
moves to the next map in campaign or in the objective cycle
end game intermission is skipped
|
!orient |
d |
YES |
!orient (NAME|SLOT) |
reverses the action of !disorient for the client in slot number
SLOT or with name containing NAME.
|
!panzerwar |
q |
- |
!panzerwar [on|off] |
Enables panzerwar
|
!passvote |
V |
- |
!passvote |
makes a vote in progress pass
|
!pause |
Z |
- |
!pause |
pauses the match
|
!pip |
z |
YES |
!pip (NAME|SLOT) |
Draws sparks (pixie dust) around the player in slot number SLOT or
with name containing NAME.
|
!pop |
z |
YES |
!pop (NAME|SLOT) |
Pops the helmet off of player in slot number SLOT or with name
containing NAME.
|
!putteam |
p |
- |
!putteam (NAME|SLOT) (r|b|s) |
puts the player in slot number SLOT or with name containing NAME on
the indicated team.
r - AXIS
b - ALLIES
s - SPECTATORS
|
!readconfig |
G |
- |
!readconfig |
read g_shrubbot file
|
!rename |
N |
YES |
!rename (NAME|SLOT) NEWNAME |
sets the player in slot number SLOT or with name containing NAME
to NEWNAME.
|
!reset |
r |
- |
!reset |
resets the match
|
!resetmyxp |
M |
- |
!resetmyxp |
clears all XP and skillpoints for the player who runs this command.
|
!resetxp |
X |
YES |
!resetxp (NAME|SLOT) [REASON] |
clears all XP and skillpoints for player in slot number SLOT or
with name containing NAME. If reason is provided it is printed
to the client.
|
!restart |
r |
- |
!restart |
restarts the match
|
!riflewar |
q |
- |
!riflewar [on|off] |
Enables riflewar
|
!setlevel |
s |
- |
!setlevel (NAME|SLOT) LEVEL |
sets the connected player in slot number SLOT or with name
containing NAME to the level indicated by LEVEL. A player cannot
!setlevel another player to a lever higher than him/herself.
|
!showbans |
B |
- |
!showbans [SKIP] |
Lists up to 30 shrubbot bans currently in effect. The columns are:
- ban number
- banned player's name
- silEnT ID of the banned player
- PunkBuster GUID of the baned player
- date of the ban
- name of the banning admin
- when the ban will expire
- reason for the ban
If SKIP is provided, that number of bans are skipped before
printing starts. SKIP can also be negative (e.g. '!showbans -10'
would display the last 10 bans.
|
!shuffle |
S |
- |
!shuffle |
Shuffles teams (based on XP), but does NOT restart (see !restart)
|
!slap |
A |
YES |
!slap (NAME|SLOT) [DAMAGE] [REASON] |
does DAMAGE (default 20) damage to player in slot SLOT or with name
containing NAME. If REASON is specified it's center-printed to the
victim.
|
!sniperwar |
q |
- |
!sniperwar [on|off] |
Enables sniperwar
|
!spec999 |
P |
- |
!spec999 |
moves all players with ping of 999 to the spectators team.
|
!spree |
E |
- |
!spree |
Show the players current killing spree count
|
!spreerecord |
E |
- |
!spreerecord |
Displays the map and overall spreerecord
|
!stats |
t |
- |
!stats |
Displays the Thompson, MP40 and PPSh total kills and deaths, kills and deaths during the map and accuracy, headshotratio and headshot distance during the map. Lists all connected players.
|
!subnets |
B |
- |
!subnets |
This command displays all the issued subnet bans.
|
!subnetban |
. |
- |
!subnetban [subnet] (time) (reason) |
With this command admin can issue subnet ban. Subnet ban is a ban where the connecting player IP is matched against a larger IP range. The command accepts only subnets between range x.* - x.x.x.*. If the admin attempts to issue subnet ban that would ban himself the command refuses to add the subnet. This can be circumvented using rcon commands. If admin wants to add a subnet that would ban himself he must first whitelist himself with !userwl command. If silEnT can confirm the admin can connect the subnet ban is added. The command accepts full IP as it's parameter in which case the subnet is created to the x.x.x.* address. To remove subnet bans admin can use the !rmsubnetban command. The syntax with this commnd is the same kind with ban and userban commandand reason andtime can be given. The reason should be given so that any player connecting would know the reason for not being able to connect.
|
!swap |
w |
- |
!swap |
swaps the players to the opposite team
|
!time |
|
- |
!time |
Prints out localtime of the client in the chat. No other client can see this time message. The command doesn't have a flag but it is available to all clients always.
|
!teamstats |
T |
- |
!teamstats (r|b) |
Show kill and player rating statistics from the players of the selected team.
|
!tspree |
E |
- |
!tspree [amount] |
Show the top n current killing spree (default top 5)
|
!unban |
b |
- |
!unban BAN_NUMBER |
removes the ban that !showbans lists as BAN_NUMBER
|
!unfreeze |
F |
YES |
!unfreeze [NAME|SLOT] |
Unfreezes the client in slot number SLOT or with name containing NAME.
If no parameter is provided it unfreezes all players.
|
!unpause |
Z |
- |
!unpause |
unpauses the match
|
!unmute |
m |
- |
!unmute (NAME|SLOT) |
Unmutes the player in slot number SLOT or with name containing NAME.
|
!unlock |
K |
- |
!unlock (r|b|s|all) |
unlocks the team specified. recognized values are
r=AXIS b=ALLIES s=SPECTATORS all=ALL
|
!uptime |
u |
- |
!uptime |
Show how long the server has been up and running
|
!fling
!launch
!throw |
l |
YES |
!fling (NAME|SLOT) |
send the player in slot number SLOT or with name containing NAME
flying.
|
!flinga
!launcha
!throwa |
L |
YES |
!flinga |
sends all players flying
|
!warn |
R |
- |
!warn (NAME|SLOT) [WARNING] |
plays the whistle sound and center-prints WARNING to the player
in slot number SLOT or with name containing NAME.
|
User Database Commands |
!aliasesdel |
[ |
- |
!aliasesdel [silEnT ID] |
Command removes all the aliases from the player identified by the 8 character silEnT ID.
|
!aliassearch |
] |
- |
!aliassearch [name] [start] |
Searches all the aliases in the database for the name pattern. Prints all the matching aliases by the player. If all the results don't fit in one page, optional start
parameter can be used to access more players.
See !aliassearch for details.
|
!userlist |
] |
- |
!userlist [PAGE] |
Lists all users in the database. If PAGE is given, the list starts from that page.
See !userlist for details.
|
!userinfo |
] |
- |
!userinfo [silEnT ID] [aliases [page]] |
Displays all information that is stored about the user in the database.
See !userinfo for details.
|
!userinfopb |
] |
- |
!userinfopb [PBGUID] |
Displays all information that is stored about the user in the database. Compatibility command for accessing old information that is still not linked with the silEnT GUID.
See !userinfo for details.
|
!useredit |
[ |
- |
!useredit [silEnT ID] [add|remove|level|greeting|sound] [new value] |
Command is used to edit explicit userdata in the database.
See !useredit for details.
|
!usereditpb |
[ |
- |
!usereditpb [PBGUID] [add|remove|level|greeting|sound] [new value] |
Command is used to edit explicit userdata in the database. Compatibility command for accessing old information that is still not linked with the silEnT GUID.
See !useredit for details.
|
!givexp |
[ |
- |
!givexp [silEnT ID] [sold|med|eng|fops|cov|light|battle] [amount to add] |
Command gives XP to a player identified by silEnT ID.
See !givexp for details.
|
!givexppb |
[ |
- |
!givexppb [PBGUID] [sold|med|eng|fops|cov|light|battle] [amount to add] |
Command gives XP to a player identified by PBGUID. Compatibility command for accessing old information that is still not linked with the silEnT GUID.
See !givexp for details.
|
!userban |
] |
- |
!userban [silEnT ID] [time] [reason] |
Command bans user indentified by the 8 character silEnT GUID from the server.
See !userban for details.
|
!userbanpb |
] |
- |
!userbanpb [PBGUID] [time] [reason] |
Command bans user indentified by the 8 character PB GUID from the server. Compatibility command for accessing old information that is still not linked with the silEnT GUID.
See !userban for details.
|
!userwl |
] |
- |
!userwl [silEnT ID] |
Command whitelists player indentified by the 8 character silEnT ID.
See !userwl for details.
|
!userwlpb |
] |
- |
!userwlpb [PBGUID] |
Command whitelists player indentified by the 8 character PB GUID. Compatibility command for accessing old information that is still not linked with the silEnT GUID.
See !userwl for details.
|
!userdel |
[ |
- |
!userdel [silEnT ID] |
Command removes the user identified by the 8 character silEnT ID from the database.
See !userdel for details.
|
!userdelpb |
[ |
- |
!userdelpb [PBGUID] |
Command removes the user identified by the 8 character PB GUID from the database. Compatibility command for accessing old information that is still not linked with the silEnT GUID.
See !userdel for details.
|
!usersearch |
] |
- |
!usersearch [name (name)]|&[level (level)]|&[IP (IP)] [page] |
Command is used to search user database to find players. It will not work with players that are not stored in the database.
See !usersearch for details.
|
!readadmins |
) |
- |
!readadmins |
Command can be used to read admin definitions from edmins.cfg file.
See !readadmins for details.
|
!resetpls |
( |
- |
!resetpls [PBGUID] |
Command can be used to reset statistics for specified player. The total kills/deaths and also K/D and PRW is resetted.
See !resetpls for details.
|
!confirm |
: |
- |
!confirm [Client Number] |
Command generates authentication checks between the server and the client. This command can be issued to players who have admin levels, but they have yet
not been confirmed to be the players to who those admin levels were given. This command is not !setlevel and it is safe to use this command at anytime.
Command can be given to anyone who is trustworthy enough to identify the real admins when they appear to the new database for the first time. If
!setlevel is used to an online player, this command is not needed.
|
!updatepbguid |
, |
- |
!updatepbguid [Name|Slot] |
Command updates the PB GUID that is stored in the database to the one player is currently using. With the exception that empty, invalid or dublicated PB GUIDs are not saved to the database.
|
The following flags are also supported:
1 |
Cannot be vote kicked, vote muted, or complained against. |
2 |
Cannot be censored. |
3 |
Can run commands silently with /!COMMAND in the console. |
4 |
Can see Axis/Allies team chats as a spectator. |
5 |
Can switch teams any time, regardless of balance. |
6 |
Does not need to specify a reason for !mute, !kick or !ban. |
7 |
Can call a vote at any time (regardless of disabled voting or voting limitations). |
8 |
Does not need to specify a duration for !mute or !ban (defaults to PERMANENT). |
9 |
Can do shrubbot commands via team and fireteam chats. |
0 |
Is immune to g_inactivity and g_spectatorInactivity settings. |
! |
Is immune to all shrubbot commands (useful for server admins). Note, this flag must be specified explicitly the * flag does not grant it. |
@ |
"incognito" flag shows the admin as level 0 with no a.k.a info
in the output of !listplayers. Note, this flag must be specified explicitly the * flag does not grant it. |
$ |
Can do !admintest on other players. |
~ |
Can read and write the adminchat with the /ma command. All referees and all other players with the ~ flag will be able to read this chat. |
& |
Can rename himself regardless of g_maxNameChanges limit. |
? |
Can see all private messages while being in spectators. g_tyranny must be set for this flag to take effect. |
/ |
Cannot send private messages. Otherwise normal privileges. |
# |
Cannot call votes. |
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, set the location pointed by g_dbDirectory cvar before starting the server.
If this cvar is not set to a valid location, the shrubbot will not initialize. Then simply 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. However, the silEnT default zip comes with fully working structure and shrubbot.cfg file so you may not need to do this.
The element [level] in the shrubbot file format.
Level blocks define everything related to the levels in the shrubbot. These definitions include the level name, which is shown with !list command,
commands available for the level, the welcome message when a player with the level enters the server, the sound that is played when player enters the server
and of course, the number of the level. Do note that while each level can have it's own flags independently from other levels, the immunity against lower level
commands is always based on the level number. The levels with bigger level numbers are immune to levels with smaller level numbers.
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".
The element [customvote] in the shrubbot file format.
Custom vote blocks allow admins to add new votes to be called with /callvote that are not part of the mod itself.
The format of the [customvote] block:
[customvote]
name = max 15 characters long name of the vote
exec = max 1023 characters long execute line
description = max 1023 characters long description of the vote
votetext = max 255 characters long text to be shown as the vote
passtext = max 255 characters long optional text to be shown if the vote passes
levels = max 32 space separated optional level numbers
Where name is used with callvote command, exec is the commands that are executed if the vote passes, description is shown in the /callvote
output if a vote is not called, votetext is the text that is shown in the vote, passtext is optional text that is printed to all players
if the vote passes and levels is optional definition of levels that can call the vote.
Do note that if the levels are left empty, everyone can call the vote.
The 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.
Additionally you can use shortcut [i] to replace it with the player ID of the player using the command.
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
syntax = (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
syntax = (name)
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'). Starting from silEnT version 0.6.1,
it is possible to add syntax parameter to the command blocks. This helps creating proper
!help syntaxes for the commands. See examples of the syntax parameter from !crybaby and !ms commands.
These are the limits on the shrubbot:
-
Maximum number of levels: |
31 |
Maximum length of shrubbot level name: |
35 (includes color codes) |
Maximum number of users with a set level: |
Unlimited |
Maximum number of player aliases: |
limited by g_dbMaxAliases |
Maximum number of player bans: |
1023 |
Maximum length of ban reason: |
1023 |
Maximum number of admin-defined commands: |
95 |
Maximum number of custom votes: |
32 |
Maximum admin-defined command name length: |
63 characters |
Maximum admin-defined command length (executable part): |
1023 characters |
Maximum admin-defined command length (help string): |
1023 characters |
Maximum number of warnings: |
1023 |
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.
silEnT can optionally also store player aliases. These aliases are stored to the side of the main database. To enable aliases database, you must set the g_dbMaxAliases to a positive integer.
You can change the value later on, if for example there are too many aliases stored, the silEnT will automatically drop excess aliases from the oldest used aliases. The aliases are
kept in the order of last seen list and the oldest aliases are deleted when necessary. Do note that the g_dbMaxAliases cvar must be set before the mod launches. This protects the
database against the possibility of the rcon password falling into wrong hands.
Shrubbot includes functionality for server admins to handle database userdata. These commands are !aliasesdel, !aliassearch, !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.
!aliassearch
This command searches the whole aliases database for the pattern in the names. Note that this command is the most resource intensive shrubbot command of all
and it is not recommended to be used without a reason. How it performs in the practice depends of the aliases database size.
For each player the following information is shown:
- identity information (silEnT ID)
- each used alias that fits the search pattern
- for each alias when it was first seen
- for each alias when it was last seen
- for each alias the total playtime with it
To see all the aliases of the found player you can use !userinfo aliases command. In the case of all the data not fitting in one page, you can give optional start parameter.
The start parameter corresponds to the numbers shown in the first column of the results. So that each player has it's own number and under that number all the matching aliases from that player
are printed.
!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:
# |
This is the serial number of the user in the printout. The number doesn't correspond to anything in the database. |
silEnT ID |
This is the 8 character silEnT GUID of the player. This is used to identify different players in the database. |
PBGUID |
This is the 8 character PB GUID of the player. This is used to identify different players in the database. |
Last Seen |
This tells how long time ago the user was last seen on the server. For connected clients, this will print "connected". |
IP |
This tells the last IP address user has had on the server. |
Ban |
This tells the ban number of the player if he/she is banned. It may also have white capital W to signify the player is whitelisted. |
Name |
This tells the last name with user has been saved on the server. |
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
- list of stored aliases if the aliases database is enabled on the server
Command can optionally print player's stored aliases if the optional aliases parameter is given and the aliases database is enabled by setting g_dbMaxAliases to a positive integer. If
printed aliases don't fit in one page, optional page parameter can be used to access different pages.
Command requires the last 8 characters of the player's silEnT GUID. This GUID can be found with !userlist or !usersearch commands. This command works for both online and offline players.
For compatibility !userinfopb will accept the last 8 characters of the player's PB GUID. The userinfopb does not show aliases however.
!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:
silEnT ID |
This is the 8 character silEnT GUID of the player. This is needed to identify the player to edit. |
add |
If the command is given this parameter, the value(s) in the [new value] field will be added to the player's personal flags. |
remove |
If the command is given this parameter, the value(s) in the [new value] field will be removed from the player's personal flags. |
level |
If the command is given this parameter, the value in the [new value] field will be set as the players new level. The level may not be higher then the level of the player executing the command. |
greeting |
If the command is given this parameter, the value in the [new value] field will be the players new personal greeting. If the [new value] field is empty, the personal greeting is cleared. |
sound |
If the command is given this parameter, the value in the [new value] field will be the file path to the players new personal greeting sound. If the [new value] field is empty, the personal greeting sound is cleared. |
new value |
This field is used to give values to the command. |
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:
sold |
Soldier or Heavy Weapons |
med |
Medics or First Aid |
eng |
Engineering or Explosives and Construction |
fops |
Field Ops or Signals |
cov |
Covert Ops or Military Intelligence and Scoped Weapons |
light |
Light Weapons |
battle |
Battle Sense |
!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.
!userdel
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
[a] |
last player who gave you ammo |
[d] |
last player who killed you |
[g] |
the last 8 characters of your GUID |
[h] |
last player who gave you health |
[k] |
last player you killed |
[l] |
your location (letter,number) |
[n] |
your name |
[r] |
last player who revived you |
[p] |
last player you looked at |
[s] |
health remaining |
[w] |
name of current weapon |
[t] |
ammo for current weapon |
Forcing Client Settings
silEnT server is able to force client cvars to certain values or ranges by using forcecvar and sv_cvar commands.
sv_cvarempty will clear all the sv_cvar commands the server has loaded.
To use the possibility, the g_mapConfigs must be set. All forcecvar and sv_cvar commands
that are placed in the default.cfg, will be executed on every map start. Those settings can be overloaded by using a map specific
cfg name [mapname].cfg. More help is available at silEnT forums.
Announcement Sounds
When announcements are enabled 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
- Death Spree 10
- sound/announces/deaths10.wav
- Death Spree 20
- sound/announces/deaths20.wav
- Spree End by Enemy
- sound/announces/send.wav
- Spree End by Team Kill
- sound/announces/sendtk.wav
- Spree End by Self Kill
- sound/announces/sendsk.wav
- Spree End by Environment
- sound/announces/sendenv.wav
- First Blood
- sound/silent/firstblood.wav - notice the folder is silent and not announces
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.
Hit Sounds
Starting from silEnT 0.6.0, the players have freedom to choose the type of hit sounds they prefer in the game. On top of that, servers can configure
default hit sounds that are used. Also, it is possible to add custom hit sounds. However, custom hit sounds require additional custom pk3 file added to the server.
The default hit sounds are defined using the g_defaultHitSounds server cvar. To add custom hit sounds, admins can add any of the following files into a custom pk3 file
and the sounds are automatically loaded by the client. If on your server you do not want to have hit sounds, you can configure the g_hitsounds server cvar to disable or enable
any of the possible types of hit sounds.
- Body Hit Sound
- sound/hitsounds/body.wav
- Head Hit Sound
- sound/hitsounds/head.wav
- Team Hit Sound
- sound/hitsounds/team.wav
To add any of the sounds, create a pk3 file with the mentioned path and sound file name. The added sound will
be automatically played. The pk3 files are regular zips with only the zip ending changed with pk3. Do note that you must never overload the hit sound
files that come with the silent pk3.
Lua
Lua support in silEnT mod
silEnT servers support Lua 5.1.4 scripts. Starting from version 0.5.1 the Lua interpreter is inbuilt into the server side mod.
Before the vesion 0.5.1, the Lua was installed as an external module.
silEnT's Lua API is aiming to be fully compatible to etpro's Lua API. Differences between silEnT's and etpro's Lua API are described in this documentation.
Lua resources
COMMANDS
Client Commands
lua_status
- Lists all currently loaded lua modules.
-
- Lua modules cannot override this client command.
Server Commands
lua_status
- Lists all currently loaded lua modules.
CVARS
Server Cvars
lua_modules
- Space separated list of lua modules for silEnT to load. Modules will be run in the order listed.
-
- Default is "" (Disabled)
lua_allowedModules
- If set, only lua modules with the matching sha1 signatures listed in this cvar will be allowed to load.
-
- Default is "" (Disabled)
Changing either cvar will cause all currently loaded modules to quit and be unloaded until the next map_restart, reset_match or map change.
ET LIBRARY CALLS
Clients
*clientnum = et.ClientNumberFromString( string )
- Searches for one partial match with string. If one is found the clientnum is returned. If there is none or more than one match -1 is returned.
-
-
-
LUA CODE EXAMPLE
-- get number from client with partial name match 'ETPla'
clientnum = et.ClientNumberFromString("ETPla")
ET Filesystem
fd, len = et.trap_FS_FOpenFile( filename, mode )
- Attempts to open the file filename with the access mode mode (see et.FS_* constants). Returns the filedescriptor fd and file length len. On error, len returns -1.
-
-
-
LUA CODE EXAMPLE
fd, len = et.trap_FS_FOpenFile("mymodule.log", et.FS_READ)
filedata = et.trap_FS_Read( fd, count )
- Reads count bytes from filedescriptor fd.
-
-
-
LUA CODE EXAMPLE
fd, len = et.trap_FS_FOpenFile("mymodule.log", et.FS_READ)
if len ~= -1 then
filedata = et.trap_FS_Read(fd, len)
end
et.trap_FS_FCloseFile(fd)
count = et.trap_FS_Write( filedata, count, fd )
- Attempts to write count bytes of filedata to filedescriptor fd. Returns number of bytes (count) successfully written.
-
-
-
LUA CODE EXAMPLE
fd, len = et.trap_FS_FOpenFile("mymodule.log", et.FS_APPEND)
content = "MODEVENT: X Y: Player X does something with player Y.\n"
if len ~= -1 then
count = et.trap_FS_Write(content, string.len(content), fd)
end
et.trap_FS_FCloseFile(fd)
et.trap_FS_Rename( oldname, newname )
- Renames file oldname to newname.
-
-
-
LUA CODE EXAMPLE
et.trap_FS_Rename("mymodule.log", "mymodule.bak")
et.trap_FS_FCloseFile( fd )
- Closes filedescriptor fd.
-
-
-
LUA CODE EXAMPLE
fd, len = et.trap_FS_FOpenFile("mymodule.log", et.FS_READ)
-- read file content here
et.trap_FS_FCloseFile(fd)
Sound
*et.G_ClientSound( clientnum, soundindex )
- Plays the sound soundindex for the client with clientnum only.
-
-
-
LUA CODE EXAMPLE
-- play a sound for client #3 only
soundindex = et.G_SoundIndex("sound/world/alarm_01.wav")
et.G_ClientSound(3, soundindex)
Miscellaneous
milliseconds = et.trap_Milliseconds()
- Returns a number (milliseconds) indicating the current server time in milliseconds.
-
-
-
LUA CODE EXAMPLE
milliseconds = et.trap_Milliseconds()
et.G_Damage( target, inflictor, attacker, damage, dflags, mod )
- Does amount of damage on target inflicted by inflictor and cased by attacker.
-
- - target, inflictor and attacker are entity numbers.
- - dflags is a bitflag number to decide how the damage is inflicted.
- - mod is a number from 0 up to *69 to set the type of damage.
-
-
-
LUA CODE EXAMPLE
-- do 50 damage with no protection (dflags = 32) on client #0
-- with MOD_UNKNOWN (mod = 0) as <world> entity (inflictor, attacker = 1022)
et.G_Damage(0, 1022, 1022, 50, 32, 0)
-
DFLAGS LIST
DAMAGE_RADIUS 1 // damage was indirect
DAMAGE_HALF_KNOCKBACK 2 // do less knockback
DAMAGE_NO_KNOCKBACK 8 // do not affect velocity, just view angles
DAMAGE_NO_TEAM_PROTECTION 16 // armor, shields, invulnerability, and godmode have no effect
DAMAGE_NO_PROTECTION 32 // armor, shields, invulnerability, and godmode have no effect
DAMAGE_DISTANCEFALLOFF 64 // distance falloff
*flooding = et.ClientIsFlooding( clientnum )
- Checks if client clientnum is flooding (1) or not (0).
-
- Note: There will be done no update to the flood protect behaviour on running this library call. silEnT only checks on callvote, say, m, mt, ma, say_team, vsay, vsay_team, say_buddy, vsay_buddy, fireteam, rconAuth, ready, say_teamnl, specinvite, readyteam client commands for flooding.
-
-
-
LUA CODE EXAMPLE
if et.ClientIsFlooding(clientnum) == 1 then
-- client is flooding, do something
end
*et.G_AddSkillPoints( ent, skill, points )
- Note: To remove skill points you can also use negative points values.
-
-
-
LUA CODE EXAMPLE
-- add 100.5 points to heavy weapons skill (skill = 5) of client #0
et.G_AddSkillPoints(0, 5, 100.5)
*et.G_LoseSkillPoints( ent, skill, points )
-
LUA CODE EXAMPLE
-- remove 100.5 points from heavy weapons skill (skill = 5) of client #0
et.G_LoseSkillPoints(0, 5, 100.5)
*et.G_QueryClientCvar( clientNum, cvarName)
- Issues cvar query to the client. The cvar value is returned in et_CvarValue( client, cvar, value ) callback function.
-
-
-
LUA CODE EXAMPLE
-- get m_pitch value from the client in slot 0
et.G_QueryClientCvar(0, "m_pitch")
Entities
(variable) = et.gentity_get ( entnum, fieldname, arrayindex )
- Gets the value of fieldname from entity entnum out of the g_entity struct. For NULL entities, nil is returned.
- arrayindex is used to specify which element of an array entity field to get. It is required when accessing array type fields. Entity field array indexes start at 0.
et.gentity_set( entnum, fieldname, arrayindex, value )
- Sets the value of fieldname from entity entnum in the g_entity struct to value.
- arrayindex is used to specify which element of an array entity field to set.
Shrubbot
*permission = et.G_shrubbot_permission( ent, flag )
- Checks if client ent has permission (1) for flag or not (0).
-
- Note: Use nil or -1 to check permission for console (Console always returns 1!).
-
-
-
LUA CODE EXAMPLE
-- check if client #1 has permission for flag "C"
if et.G_shrubbot_permission(1, "C") == 1 then
-- client has permission, do something
end
*level = et.G_shrubbot_level( ent )
- Returns the level for client ent.
-
- Note: Use nil or -1 to get the level for console.
-
-
-
LUA CODE EXAMPLE
-- get shrubbot level for client #2
level = et.G_shrubbot_level(2)
CALLBACKS
qagame Execution
Client Management
et_ClientSpawn( clientNum, revived, *teamChange, *restoreHealth )
- Called when a client is spawned. clientNum is the client slot id. revived is 1 if the client was spawned by being revived.
Commands
intercepted = et_ClientCommand( clientNum, command )
- Called when a command is received from a client. clientNum is the client slot id. command is the command. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).
intercepted = et_ConsoleCommand( *command )
- Called when a command is entered on the server console. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).
Miscellaneous
(customObit) = et_Obituary( victim, killer, meansOfDeath )
- Called whenever a player is killed. *Modules should return a string (customObit) to override the default obituary or nil to leave it as it is.
-
-
-
LUA CODE EXAMPLE
function et_Obituary(victim, killer, meansOfDeath)
if victim == killer and meansOfDeath == 26 then
customObit = "%s ^7had an ^1EXPLOSIVE ^7relationship with his dynamite."
return string.format(customObit, et.gentity_get(victim, "pers.netname"))
end
end
et_CvarValue( client, cvar, value )
- Called whenever a cvar value is returned from the client.
et_ClientBinary( client, checksum )
- Called whenever a player connects with an unknown binary. Called also if a player connects with a known cheat binary.
et_IntermissionStarts( round )
- Called one server frame before the game enters intermission. Round is the value from the g_currentRound cvar.
PREDEFINED CONSTANTS
*et.CS_PLAYERS
et.EXEC_NOW
et.EXEC_INSERT
et.EXEC_APPEND
et.FS_READ
et.FS_WRITE
et.FS_APPEND
et.FS_APPEND_SYNC
et.SAY_ALL
et.SAY_TEAM
et.SAY_BUDDY
et.SAY_TEAMNL
et.HOSTARCH
- Set to WIN32 or UNIX depending on the host architecture qagame is running on.
*LUA_PATH
- Set to fs_homepath/fs_game/?.lua;fs_homepath/fs_game/lualibs/?.lua in order to ease use of the require function. Depending on the configuration fs_basepath/fs_game/?.lua;fs_basepath/fs_game/lualibs/?.lua will be added to the LUA_PATH.
*LUA_CPATH
- Set to fs_homepath/fs_game/lualibs/?.(so|dll) in order to ease use of the require function. Depending on the configuration fs_basepath/fs_game/lualibs/?.(so|dll) will be added to the LUA_CPATH.
*LUA_DIRSEP
- Set to \ or / depending on the host architecture qagame is running on.
CONFIG
CAVEATS
Like qagame, lua modules are unloaded and reloaded on map_restart and map changes. This means that all global variables and other information is lost. Modules may choose to store persistent data in cvars or external files.
FAQ
Q: OMG I hate the libary prefix et.* on everything!
A: Use the following code to remove the prefix:
-
LUA CODE EXAMPLE
table.foreach(et, function(func, value) _G[func] = value; end)
Q: How do I reload my lua module without restarting the whole server?
A: Use map_restart, reset_match or simply change the map.
Q: OMG my lua module doesn't work!
A: Make sure you added your module's filename to the lua_modules cvar (e.g. set lua_modules "mymodule.lua").
Change Log
Version 0.8.2
- Added: g_goatSound server cvar to enable/disable goat sounds on knife kills.
- Added: enemy team objective carry indicator (http://mygamingtalk.com/forums/topic/3165-objective-captured-visual-screen-indicator/)
- Fixed: Players carrying objectives are now shown correctly.
- Fixed: !useredit was not able to set level higher than 99 when executed as rcon. !setlevel was working correctly.
- Fixed: The name of the disguised covert op was not drawn to spectators.
- Fixed: The class icon in the crosshair player name to be the current class instead of the latched class.
- Fixed: wm_sayPlayerClass now announces the latched class correctly, even when using class swithcer.
- Fixed: If map voting was enabled but g_mapVoteFlags 4 was not enabled. It was possible to issue multiple votes by hand using /mapvote command.
- Fixed: debriefing screen buttons didn't handle highlight theme parameter properly.
- Fixed: The output of finger command didn't show warnings if there were more then 2 in total.
- Fixed: UI crash in menu (http://mygamingtalk.com/forums/tracker/issue-242-client-game-crashes-in-menu/)
- Fixed: Minor bug with g_maxPanzerSuicides introduced in 0.8.0. If panzer suicides were disallowed completely, the player was not informed about it.
- Fixed: g_muteRename allowed to change the name when player used /reconnect (http://mygamingtalk.com/forums/tracker/issue-248-possible-bug-g-muterename/)
- Fixed: When unmuting/muting during intermission/warmup, the mute wasn't saved.
- Fixed: cg_effectDistance was affecting the played sounds.
- Fixed: g_classWeapons not working for class command (http://mygamingtalk.com/forums/tracker/issue-252-g-classweapons-not-fully-working/ )
- Fixed: class command not handling secondary weapon parameter properly, it didn't influence the limbo menu, e.g. /class s 3 2 wouldn't select akimbo pistols or SMG as secondary in limbo.
- Fixed: switching problem with double SMG (http://mygamingtalk.com/forums/tracker/issue-244-cant-switch-to-primary-when-having-two-smgs/)
- Improved: If player is completely dead in the game, the scoreboard shows the player's latched class to other team members.
- Improved: UI tabbing to edit field makes it focused.
- Improved: limbo weapons menu for soldier class.
- Improved: sort order of the map vote menu map list.
Version 0.8.1
- Added: Flag 32 to g_disableComplaints to disable complaints completely.
- Added: ETPro style g_proneDelay.
- Added: Custom, admin defined, votes.
- Added: 3rd UI theme that resembles the original ET look.
- Added: MorphOS support.
- Improved: engineer work progress bar (construct/arm/disarm) and covert ops progress bar (mines spotting, uniform stealing) - added background to display the amount of work to do.
- Fixed: Some text bugs related to g_recognition cvar.
- Fixed: ETTV clients were kicked for not having silEnT GUID.
- Fixed: Admin log was missing some data with g_logOption 16384. Also, new format with admin log when using this option.
- Fixed: Client exploit affecting various mods which caused the server to stall until the engine watchdog triggered.
- Fixed: The shrubbot.cfg configuration file is cleaned automatically from expired bans and warnings on each map start. Instead of waiting for it to be written as a result of an admin command.
- Fixed: Memory leak with subnet bans.
- Fixed: Axis covertop couldn't select pistols through weapon banks.
- Fixed: UI; tooltip text color theming.
- Fixed: Improvised Demolition not showing up in final map stats.
- Fixed: mines spotting progress bar not always displayed.
Version 0.8.0
- Added: silEnT AntiCheat, this is an old feature existing several versions in the mod, that is now made public. Control the behaviour with g_silentac.
- Added: New read only cvar, sv_sac. When silEnT AC is set to autoban, this cvar is set. This cvar can be used by external server trackers to enable/disable server anti cheat status on their lists.
- Added: New Lua hook et_IntermissionStarts( round ). This hook is called right before the intermission. So that any changes to the cvars in the script, will take effect before the actual intermission. Do note that this will not run in the background and the script will need to exit fast just like always during the game.
- Added: New g_logOptions flag 16384. When this flag is set, the admin log will use new format.
- Added: minimizer, so far for linux only (minimize via menu or /minimize command).
- Added: new weapon for Soldier: Improvised Demolition Charge (g_enableDemolition cvar).
- Added: g_recognition cvar to enable/disable additional recognition notifications for players doing objective.
- Added: !country command that displays the country of the player.
- Added: g_muteRename cvar which, if enabled (set to 1), doesn't allow the muted player to change his name.
- Added: cg_debugBullets. In combination with g_debugBullets, it can be used to visually test the antilag.
- Improvement: UI - items selected by keyboard (TAB, arrows) drawn as hovered, now we know which one has focus.
- Improvement: danger zone marker size based on the map size.
- Fixed: Distorted player icon in map when in spectator and wide screen aspect ratio.
- Fixed: Player scoreboard no longer displays 0.000 to PRW or KR when server doesn't have those enabled but the client cg_scoreboard cvar is set to show those.
- Fixed: XP save doesn't need to be enabled to save mutes, weapon statistic, KR or PRW.
- Fixed: Wrong compass grid and map position with widescreen.
- Fixed: Antilag issue regarding Omni-bots. The Omni-bot hitboxes were not in the place where the players saw the bots while running.
- Fixed: Last blood message was not printed if the client number of the player who made the last kill was 0.
- Fixed: MG42 will not make headshots unless enabled.
- Fixed: Many typos regarding log prints on reading different config files.
- Fixed: Announcement positions for custom max values.
- Fixed: osp fight sound not played fully (if the sound is longer).
- Fixed: Memory leak in Lua et.trap_FS_Read.
- Fixed: panzerwar bugs: 1) g_maxPanzerScuicides behavior, 2) weapon charge bar behavior, 3) panzerfaust auto switching to nades after couple fires
- Fixed: giba minor bug (did not gib players that were protected by g_spawnInvul)
- Fixed: Panzerwar and sniperwar no longer lose original weapon values when map changes.
- Fixed: Missing head box when g_debugBullets is 3 or higher.
- Fixed: Fixed no_ammo icon shown for binoculars (g_weapons, flag 8192)
- Fixed: riflewar bug with animation of grenade being unloaded after each shot.
- Fixed: Very rare client crash.
Version 0.7.2
- Added: Lua can access sess.rating, sess.rating_variance, sess.overall_killrating and sess.overall_killvariance with gentity_get function. These values are read only.
- Fixed: Tapping new weapon while reloading the old weapon, could result changing to a new weapon after reloading but when switching back, the old weapon was empty. http://mygamingtalk.com/forums/tracker/issue-184-reload-bug
- Fixed: Class restriction bug introduced in 0.7.0.
- Fixed: Limbo panel displays the latched class. Always. Introduced in 0.7.1.
- Fixed: !givexp performs proper skill upgrade for the player.
- Fixed: panzerwar mode: shooting panzerfaust (in regard to chargebar) and run speed.
- Fixed: Omni-bots stealing restricted weapons from other players.
- Fixed: silent_version command client version output.
Version 0.7.1
- Fixed: Spawning with non selected class bug introduced in 0.7.0.
- Fixed: Enemy player positions seen by covert ops in the compass.
Version 0.7.0
- Added: New rcon command dbcleanup that can be used to clean up the database records. The command includes removing duplicated or unusable records and GUID checks.
- Added: New shrubbot command !teamstats that can be used to see the player kill and ratings statistics from one team.
- Added: Shrubbot flags 6(does not need to specify a reason) and 8(does not need to specify a duration) now work with the !mute command.
- Added: g_maxIgnoresPerMap server cvar. This controls how many times one player can ignore another player during one map and stops players from spamming others with the ignore command.
- Added: g_killRating flag 8. With this flag admins can disable kill rating from the scoreboards. This does not have effect on the flag 2.
- Added: Full body prediction from ETPub. g_misc flag 512. Same as ETPub g_misc 32+256. This makes it harder to get inside walls etc, but can also cause problems when proning through windows etc.
- Added: Danger zones - new covert ops function/ability (read more in the documentation)
- Added: icons for popup messages (ammo, medpacks, danger zones).
- Added: new flag 32768 to g_weapons cvar - causes the player that shot the tripmine (and by this killed other player) to score the kill.
- Improved: timerset and resettimer commands can be used during warmup
- Improved: some improvements to the screen resolutions chooser.
- Improved: !finger command now also displays warnings issued to the player if there are any.
- Improved: compass command map drawing.
- Improved: crazygravity and crazyspeed commands can be tuned by additional cvars if default values are not enough (g_min_crazyspeed, g_max_crazyspeed, g_min_crazygravity, g_max_crazygravity)
- Fixed: When banning from team damage, only using shrubbot bans without specifying the kick time.
- Fixed: Some command map icons were missing when in spectator team.
- Fixed: When switching from rifle to another weapon too fast after firing the grenade and switching back to the rifle, the weapon was in the alternate mode but without loaded grenade.
- Fixed: Many prediction errors. Including double dropping the panzer shell after shot.
- Fixed: Players can no longer select classes that are not available in the limbo menu.
- Fixed: Only real characters allowed in names.
- Fixed: If the selected weapon is not available for next spawn, the class command will not change the class.
- Fixed: The condition with g_classWeapons settings and weapon limitations that caused players to get kicked from the server when clicking the team button.
- Fixed: Bug in the handling of g_spectator flag 1. Players were able to enter opponent players after all teammates were dead.
- Fixed: Client crashes related to cg_gun_frame being set.
- Fixed: !subnets command was printing itself as showsbans instead of subnets.
- Fixed: Reading subnet bans with full octets and treating them as partial. Also writing them as partial on next shrubbot write.
- Fixed: g_classWeapons too restrictive, couldn't pick up enemy SMGs from the ground.
- Fixed: g_classWeapons with g_mode. When g_mode was set to 8 Thompson and MP40 couldn't be picked up by coverts.
- Fixed: command map entities were not removed on team switch/disconnect. Concerned: landmines, trip mines, danger zone markers.
Version 0.6.3
- Fixed: Incompatibility with ET Legacy introduced in 0.6.2.
Version 0.6.2
- Added: !subnetban command can now cut the IP inside the octet with 'x'. For example, "!subnetban 12x" will ban IP adresses 12x.xxx.xxx.xxx.
- Added: IP address is logged when player is blocked by a subnetban.
- Added: Lua callback et_ClientBinary( client, checksum ) which passes the checksums of client binaries to the Lua scripts.
- Added: Functionality to query client cvars with Lua. API function et.G_QueryClientCvar and callback et_CvarValue.
- Added: New server cvar g_includedMaps. Maps set in this cvar string, will be always included in the map voting list. Regardless of any other restrictions.
- Added: 2 new flags to g_classWeapons (16,32) to enable/disable MP40 and Thompson for soldiers.
- Added: admin chat messsage window.
- Added: more ET:Legacy binaries added to the list of known client binaries.
- Added: fast shooting. Use g_weapons flag 16384 to enable it.
- Added: !crazygravity and !crazyspeed commands.
- Reworked: When g_clientBinaries flag 4 is set, and the binary is a already known cheat binary, it is clearly reported instead of the usual unknown client binary.
- Reworked: match_warmupDamage, if set to 2 it is effective also when FF is disabled.
- Fixed: Sometimes, the information of the person who muted was not displayed.
- Fixed: Unique silEnT GUIDs required between connected players. This caused little confusion when banning.
- Fixed: g_antiwarp from the ETPub repository.
- Fixed: g_dyno chaining blast radious fix from crapshoot.
- Fixed: userxdb.db was slowly filling with records that were not used or needed.
- Fixed: Lua API function et.G_EntitiesFree.
- Fixed: Full mod URL shown in the serverinfo menu.
- Fixed: Some alignment issues with the smaller score board.
- Fixed: Revive icons are shown again.
- Fixed: With forcecvar and sv_cvar, the existing limits are checked and updated if the cvar already exists in the limits. Instead of just adding the same cvar at the end of the config strings.
- Fixed: Clients protected against overflowing sv_cvar and forcecvar config strings.
- Fixed: Custom commands can now have quotes. This is usefull if the command is then forwarded to a new tokenizer. For example, Lua scripts can access arguments correctly.
- Fixed: Rcon can now call custom commands as well. Before, the command line was truncated when doing shortcut replacement for the console.
- Fixed: Class stealing no longer kicks old players out from their classes if the class is full. The stealing is prevented.
- Fixed: Server crash when player was muted through rcon.
- Fixed: !finger command output is now easier to read if the entity who muted a player is player himself even if the player would have named himself as silEnT or Console.
- Fixed: weapon pickup bugs
- Fixed: knife bug when throwing knives are disabled by g_throwableKnives cvar.
- Fixed: no progress indicator during disarming dyna after class steal
Version 0.6.1
- Added: New optional parameter "syntax" to custom command blocks. This allows creating proper syntax help to show with !help command.
- Added: Shrubot custom commands can now have color codes. The colors are not required when using the commands.
- Changed: The maximum number of custom commands increased to 95.
- Fixed: Double amount of level stars in the map change debriefing.
- Fixed: Many coloring errors related to white nicks.
- Fixed: Server side was not handling the new skill_(x) cvars correctly.
- Fixed: Killed sniper had scope enabled with normal fov after revive. Depending how the sniper was killed.
- Fixed: !baninfo was not displaying permanent bans in Expires in field.
- Fixed: Stamina bar color bug.
- Fixed: Lua documentation. The G_ClientNumberFromString is actually ClientNumberFromString.
- Fixed: Some typos with shrubbot commands and inconsistencies with !help.
- Fixed: Shrubbot !help now accepts the command names with ! infront.
- Fixed: Unified !help syntax notation.
- Fixed: Player names that were both online and previously stored, were printed twice in the !aliassearch command output.
- Fixed: Formatting bug when more the 10 matching aliases for a player.
- Fixed: With custom commands, the missing command line parameters are stripped from the command.
- Fixed: Player name replacement gives better error messages for every case, including the command name.
- Fixed: Teammate healthbars were flashing wrong health data. Bug introduced in version 0.6.0.
- Fixed: Player idents were enforcing bans to a wide range of innocent players. Bug introduced in 0.6.0.
Version 0.6.0
- Added: New dialog window under silEnT menu for screen resolutions. This dialog has autodetected possible resolution and includes widescreen resolutions.
- Added: ETPro compatible access to sess.aWeaponStats (a GET by weapon index returns a 5-element table of numbers), from pheno of ETPub.
- Added: Optional aliases database. New commands !aliases, !aliasesdel, !aliassearch and !userinfo now has an option to show the stored aliases. New server cvar g_dbMaxAliases.
- Added: Mute information is displayed in with the !finger command. This includes time left, mute reason and who muted.
- Added: Players can freely choose the type of hit sounds they prefer. This is controlled with cg_hitSoundType cvar. Related to this, server admins can configure the type of hit sounds the players default if they do not specifically select any type. By defult, the cg_hitSoundType is 0, which means server configured hit sounds and allowing custom hit sounds in custom pk3 files. Read documentation about g_hitsounds, g_defaultHitSounds and cg_hitSoundType. There is also an additional paragraph about adding custom hit sounds.
- Added: g_misc flag 256. Setting this flag disables the "First Blood" announcement.
- Added: g_logOptions flag 1024. This flag allows logging every player drop. It can be usefull for inspecting the server operation, but it will also cause lot of needless log writes.
- Added: g_realPlayTime cvar. Used to show additional real play time of the payer (without spec time) in the debriefing screen.
- Added: Flag 8 to g_playerCounting. Bots are not included into the player count.
- Added: Cvar based enabling of both Thompson and MP40 to the limbo menu selection regardless of the team (g_classWeapons, flag 8)
- Added: cg_effectDistance client cvar which can be used to control the maximum distance to draw the bullet effects.
- Reworked: Class skills can be freely enabled/disabled in any order using 0 and -1 in the skill_(x) server cvars.
- Reworked: The !finger command now shows the client operating system, again. This information was removed in the 0.5.2 because of unreliability in the full string.
- Reworked: PPSh first person view model.
- Reworked: The commands !gib, !lol, !pip and !pop no longer do it to everyone if target is not specified.
- Fixed: Statistics bug with satchel charge.
- Fixed: Shrubbot commands !useredit and !usereditpb didn't allow editing players with level higher then 32 when attempted with rcon.
- Fixed: A bug in the player name cleaning allowed empty names using spaces.
- Fixed: Player name doesn't change anymore everytime the name edit field loses focus. OK button must be clicked for the changes to take effect.
- Fixed: Persistent SMG kills and deaths were getting lost if the player reconnected during the map.
- Fixed: Dropping the helmet multiple times when repeated hits to the head. With antilag enabled.
- Fixed: g_inactivityOptions flag 4 was not moving players to spectator. Fix from pheno of ETPub.
- Fixed: Lagometer transparency (couldn't change lagometer transparency)
- Fixed: Fireteam window transparency (improper drawing)
- Fixed: Fireteam member information going over the window edge when latching to another class.
- Fixed: g_noSkillUpgrades now locks the skills to the enabled ones, instead of changing every skill to 0.
- Fixed: !readadmins command did not add admins correctly into the database. Versions affected on various levels from 0.5.0 to 0.5.2.
- Fixed: Client inactivity timer ETPro compatible. Fix from pheno of ETPub.
- Fixed: animation timing bug mainly for weapalts (switch to/from)
- Fixed: reverted back (removed) fix for thrown knife dodging introduced in 0.5.2 version.
Version 0.5.2
- Added: g_playerCounting server cvar. This is used with optional player blocks.
- Added: Optional [player] blocks to the map configs. Map config commands can be executed based on the player amount on the server.
- Added: g_clientBinaries server cvar. Server admins may choose to refuse players with unknown binaries. List of known binaries in the documentation.
- Added: tripmines ids, check g_mineid cvar for details. Now tripmines get ids as well, so we can see who planted them.
- Added: all game types shown in server browser (Map Voting - MV, Team Death Match - TDM). Filters handling new types as well.
- Added: restriction to g_skills 1, non covert players can spot mines for the team only if they are close enough (http://mygamingtalk.com/forums/topic/973-teammates-only-spot-close-landmines/)
- Added: ammo of the weapon is shown for the weapon we want to pickup from the ground (http://mygamingtalk.com/forums/topic/927-can-empty-weapons-be-identified/). Set server side with g_weapons cvar (flag 8192)
- Added: stance indicator (can be enabled in the HUD editor, disabled by default)
- Added: themed HUD bars (health, stamina, weap recharge). ui_themedBars cvar to turn it on/off. Avalable also in silent THEMES menu.
- Added: multiple recipient private messages command and multiple selecting for Private Messages in PM list window (http://mygamingtalk.com/forums/topic/936-select-multiple-recipients-pm/)
- Added: Possibility for new announcement sounds for death sprees and spree ends.
- Added: New shrubbot command !updatepbguid which can be used to manually update the stored PB GUID to the current one of the player.
- Added: New shrubbot command !levlist which lists all the server admin levels.
- Added: New shrubbot command !levinfo which displays all the information about the admin level.
- Improvement: Possible FPS improvement for players that have low FPS performance.
- Fixed: Potential crash bug with subnet bans.
- Fixed: The Admin Level Protection was not giving authentication with !setlevel to the lowest protected level.
- Fixed: stamina changes not visible in spec (http://mygamingtalk.com/forums/tracker/issue-130-no-stamina-decrease-when-spectating/)
- Fixed: !finger command now shows the current PB GUID. This was supposed to be changed in 0.5.1 but was not. The !finger command is now properly verbose about PB GUID differences and displays the player admin level as well. Also, the command no longer displays non relevant information of the server bots but only the name, the slot number and the admin level of the bot.
- Fixed: Ban escalation printed garbage short GUIDs in the ban messages itself (8 character GUID) when the previous ban did not have PB GUID associated with it.
- Fixed: Added N!trox's teamchat height fix during intermission.
- Fixed: HUD editor help window position and themed it.
- Fixed: Player positions were sometimes wrong in the command map.
- Fixed: Aspect ratio issues with command map entities.
- Fixed: Boosting (pushing) team players by shooting at them when FF is off.
- Fixed: silEnT GUIDs were not always recognized correctly. Bug was introduced in the 0.5.1.
- Fixed: ETPro behaviour, et_ClientBegin Lua is called only once for player and not for every team change.
- Fixed: !baninfo command was displaying bad short GUIDs for bans without GUIDs.
- Fixed: When FF was not enabled, the disguised friendly covert op health was displayed incorrectly.
- Fixed: team_maxSoldiers restriction was not enforced.
- Fixed: It was not possible to set level higher then 32 as rcon.
- Fixed: thrown knife dodging with the haft after bounce.
- Fixed: FS_HandleForFile error.
- Changed: The default value of cg_gun_fovscale changed to "0". No longer the need for admins to force it to players.
Version 0.5.1
- Added: !hstats, command will display the hitregions players are hitting.
- Added: g_medics flag 512, adrenaline takes only half charge.
- Added: g_adrendmgreduction, admins can control the damage reduction when players under the effect of adrenaline are hit.
- Added: themed Draws (time, fps, timer, speedometer), K/D/S display and lagometer. New cvar for this: cg_themedDraws {0,1}: 0-use the old style, 1- themed style.
- Added: new flag to g_friendlyFireOpts: 32. Only the engineer that planted the landmine can trigger/defuse it.
- Added: g_realbody, possibility for server admins to set up smaller body hitboxes.
- Fixed: !userlist command was not working if noone was online on the server.
- Fixed: In certain cases same player was displayed multiple times on the userlist output.
- Fixed: SP_team_WOLF_objective: exceeded MAX_MULTI_SPAWNTARGETS (16), fix from flms of ETPub.
- Fixed: !showbans didn't always display bans properly when the banned player didn't have PB GUID. Also, silEnT ID is now included in the list.
- Fixed: Warmup was not dislayed to players before the warmup countdown started.
- Fixed: Proned players moving when others were standing on their backs.
- Fixed: vid_restart crash
- Fixed: Temp Ban System didn't handle silEnT GUIDs
- Fixed: Passed nextmap vote will now correctly go into intermission when map voting is enabled.
- Fixed: maps not listed in the vote menu when game type is mapvoting or TDM
- Fixed: not themed fireteam menus
- Fixed: additional space behind location in fireteam window
- Reworked: The K/D in the scores is renamed to KR to reduce confusion about it.
- Reworked: The !finger output prints the current PB GUID of the player. Not the one that is stored in the database.
- Reworked: The silEnT GUID handling is changed a little. This prevents certain types of copy paste spoofings. Note, players that are not stored to the database with valid PB GUIDs will create new player records. Also, from the old ban lists, at least the silEnT GUID (sguid) fields must be cleared to prevent false bans.
- Reworked: Lua interpreter is now built into the server binary. This will make installing easier.
- Removed: g_realHead realistic hitboxes from ETPub/zinx are now used always.
- Removed: g_mapVoteFlags no longer has flag 16. If admin needs a command to get next map in rotation when map voting is enabled, he can easily create one executing "vstr nextmap".
- Removed: g_spoofOptions, the spoofing is now checked unconditionally.
- Removed: g_punkbuster, the PunkBuster is no longer supported by EvenBalance and this cvar is no longer needed.
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)
- Added: Support for AROS.
- 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
Special thanks to Krauersaut for building the Mac OS X binaries. 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.
Also, hello to NQ team.
Dev Team
gaoesa
TheSilencerPL
hellreturn
jamesplock
jowish
|