Shrub Mod

Installation shrubmod for ET is a server-side mod; no installation is necessary for players. Installation can be performed two ways: Over...

Re-Upload Request Restoration

Do not refresh or leave this page!

This file is currently missing from GameFront!

Do you have this file? We encourage you to re-upload this file for the benefit of the community.

Do you need this file? Please submit a support ticket so that we can prioritize restoring this file for you.


The file you have requested: Wolfenstein: Enemy Territory / Mods / Shrub Mod - 921KB is not available. Perhaps try browsing all files for the game Wolfenstein: Enemy Territory and upload any files you want to share or are missing.

We are calling on our community to help submit files that were previously hosted on GameFront / FileFront but are now missing.

If you have this file, please upload it using the form below (please ensure the filename and filesize match) and we shall do the rest.

File Description

Installation shrubmod for ET is a server-side mod; no installation is necessary for players. Installation can be performed two ways: Overwrite existing .so/.dll files in etmain Extract the .zip file into your Enemy Territory/etmain folder (the location will vary) and start the server normally. Create a new mod installation Create a folder called shrubet in your Enemy Territory folder (the same folder that etmain is located in. Extract the .zip into the new shrubet folder. When running the server, append +set fs_game shrubet to the command line. Make sure you create or copy a config file into the new folder. The first method is preferrable, as it avoids creating multiple config files on the players' end, which will lead to confusion for those who are unfamiliar with manually editing their config files. Depending on what features you enable, you may need to perform additional installation steps.

Read More

Re-Upload Request Restoration

shrubmod for Enemy Territory

shrubmod for Enemy Territory 
Version 1.0, Released 7/25/03 
By Ryan Mannion 
The latest documentation and answers to any frequently asked questions are available online at 

Acknowledgements (in alphabetical order) 
The following people assisted in testing and/or contributed ideas or bug reports: 
1.0: Artemis, LANMAN, MAN-AT-ARMS, ND80, Shatter, Symo, WarPath 
Thanks to the SA Games forum for their input. 
Special thanks to Ark and Otto for their contributions to this project. 

/kill Changes
Version Added or Last Modified: 1.0
Documentation last modified: 12:57:28 AM Jul 22, 2003 
g_slashKill (0) is a bitflag variable that changes the behaviour of the /kill command. Add up the desired options and set g_slashkill accordingly to enable them: 
1 - a player will spawn with half a charge bar after /killing 
2 - a player will spawn with 0 charge bar 
4 - a player will spawn with the same amount of charge bar as when he /killed 
8 - /kill is disabled

Ammo/Health Pack Distance
Version Added or Last Modified: 1.0
Documentation last modified: 01:59:39 AM Jul 20, 2003 
g_packDistance (1) will scale the the distance at which ammo and health packs are thrown. Higher values will give you the necessary props for a future port of MML_Footy to ET. 
Class Changing
Version Added or Last Modified: 1.0
Documentation last modified: 02:26:29 AM Jul 17, 2003 
g_classChange (0) enables class changing when set to 1. When enabled, a player can assume a dead teammates' class by pointing at his corpse and holding down +activate (in much the same fashion that a Covert Ops would steal an enemy's uniform) for a period of time. 

The dead teammate will retain his original class when he respawns. The player who ransacked his corpse will need to pick up the primary weapon that the dead teammate dropped (or his own primary weapon if it can be picked up by the new class). 

When a class-changed player dies and respawns, he will respawn as the class he was prior to changing. 
Corpse Dragging
Version Added or Last Modified: 1.0
Documentation last modified: 04:43:45 AM Jul 16, 2003 
When g_dragCorpse (0) is set to 1, corpse dragging is enabled. When enabled, players can drag another "dead" player who has not yet entered limbo by holding down the +salute bind or +activate (the "use" key - defaults to "f"), crouching, and moving backwards while pointing at a body. Dragging can also be done underwater, but takes more effort. 

Dragging is useful for limited life play, where non-medics can drag teammates to a safe area to wait for a medic. Medics can use dragging to assist revives in cases where it is difficult to reach the revivee. For example, when dead players become stacked, a medic can drag the teammate out of the pile to revive him. If an absent-minded teammate is standing on top of someone needing a revive, the medic can drag the body out and revive. 
General Fixes & Things Not Needing Much Elaboration
Version Added or Last Modified: 1.0
Documentation last modified: 11:36:01 PM Jul 24, 2003 

Calling a vote during intermission is disabled 

Private slots work when the server is password-protected. 

Akimbo pistols appear properly after a player gains level 4 light weapons (after next respawn) 

SMGs appear properly as the first weapon after a player gains level 4 heavy weapons (after next respawn - takes precedence over akimbos) 

Players waiting for a revive are not dropped for inactivity 

Added vote_allow_maprestart (1) cvar 

Added g_spawnInvul (3) cvar - time, in seconds, of invincibility on spawning. g_axisSpawnInvul (0) and g_alliedSpawnInvul (0) will allow you to tailor each team's spawn invulnerability time if non-zero. 

Switching to spec and back on LL servers no longer causes lives to be regained 

g_dropHealth (0) specifies the number of health packs a medic drops on limbo 

Partial name matches can now be used with the /follow command 

Muted players can no longer call non-unmute votes 

Players no longer receive XP for disarming dynamite planted at non-destroyable locations (e.g. the bank doors on goldrush) 

Class and weapons are preserved when switching teams via the console (e.g. /team r) 

XP is given for kills with akimbo pistols 

Stats for akimbo pistols are logged (as colt/luger) 

Prone hitboxes are lowered (the effect is not visible with g_debugBullets) 

The server command time will print the current time (in 12-hour format) in the logfile 

Server command typos will no longer be broadcast in notification area (say can still be used to send messages to players) 

Player hitboxes when waiting for a revive now allow shooting the body while crouching over it and shooting over and past it easily 

"Indoor airstrikes" (e.g. airstrikes that reach the interior of the bank in goldrush) have been fixed 

Akimbo weapons can be reloaded after only one shot is fired now 

It now takes twice as much damage to force a dead player into limbo 

g_moverScale (1) is proportional to the speed at which movers such as the railgun train and the tanks travel 

Ammo and health pack drops will not be picked up by self when throwing it to another player nearby 

Indoor artillery is greatly reduced 

The Sten overheats properly with Level 2 Heavy Weapons and above 

g_forceLimboHealth (0) will toggle between ET's default force limbo health and RTCW's force limbo health (0: -75, 1: -150)

Intermission Time
Version Added or Last Modified: 1.0
Documentation last modified: 03:54:10 AM Jul 10, 2003 
g_intermissionTime (60) adjusts the duration, in seconds, of the intermission period at the end of each round. 
Nade War
Version Added or Last Modified: 1.0
Documentation last modified: 03:54:10 AM Jul 10, 2003 
g_nadeWar (0) can be used to enable nade wars when set to 1. In this mode, players receive only a knife and 100 grenades. They can fly by double-tapping their jump key and holding it down to ascend and releasing it to descend. Players can double-tap jump while in mid-air or "land" on a surface to stop flying. 
Per-Map Configs
Version Added or Last Modified: 1.0
Documentation last modified: 01:59:59 PM Jul 21, 2003 
g_mapConfigs (blank) will allow you to execute a custom config file for each map, e.g. to set per-team maxlives or respawn times in the middle of a campaign. When set, g_mapConfigs specifies the folder your map configs are in relative to the server's working directory. For example, if you place the configs in the folder where the mod is installed, set g_mapConfigs to ".". If you place the configs in a subfolder, set g_mapConfigs to the name of that subfolder. 

Each config file must be named the same as the map it corresponds to and end with the extension ".cfg". "fueldump.cfg" and "oasis.cfg" are valid configs. "default.cfg" (located in the folder specified by g_mapConfigs will be executed prior to executing the map-specific config. You need not specify a config for every map, but note that some settings may carry over into the next map, so keep that in mind as you create a "default.cfg". 
Private Messages
Version Added or Last Modified: 1.0
Documentation last modified: 03:54:10 AM Jul 10, 2003 
g_privateMessages (0), when set to 1, will enable private messaging. Players may private message each other with the command: 
/m [name] [msg]
The name can be a partial match, allowing for a group of people to be messaged, such as a clan. Colors should not be used in the name parameter. When there is a space needed in the name, either enclose the name in quotation marks or replace spaces with backslashes (\). 
Server Messages
Version Added or Last Modified: 1.0
Documentation last modified: 03:54:10 AM Jul 10, 2003 
Server messages allows you to cycle a set of messages to be displayed to all players during the game. g_msgs (0) controls the duration, in seconds, between each message. When set to 0, the feature is disabled. 

g_msgpos (0) specifies the position of the messages. There are three available: 0 - chat area, 1 - center of the screen, 2 - left "notification" area. 

The messages can be set with the g_msg1, g_msg2, ..., g_msgn variables, where you may have an unlimited number of messages. They must be set consecutively, however - when a blank message is encountered, the message displayed cycles back to the first one. 
Version Added or Last Modified: 1.0
Documentation last modified: 04:06:31 AM Jul 10, 2003 
g_shove (0) will enable shoving for values above 0. Shoving is accomplished through the +salute bind or through +activate (the "use" key - defaults to "f") by pointing at another player at melee range and using the bind. Different angles achieve different results. 

A value of 80 is recommended as a reasonable setting for allowing players to push door-blockers, idle players, and the like out of the way. 

If you want to disable shove-assisted boosting, set g_shoveNoZ (0) to 1. 
Version Added or Last Modified: 1.0
Documentation last modified: 11:36:50 PM Jul 20, 2003 
shrubbot is a system implemented in shrubmod that allows you to set any number of user levels with different capabilities for each level. For example, assuming there exists a set of commands that are available, they can be assigned in such a way that increasing user levels have access to more commands. g_shrubbot (blank) is initially blank and, when enabled, specifies the name of the config file for the bot. The config file contains config blocks specifying a level, an admin, or a ban. 

In the config file, you must specify a number of levels and the commands each level has access to. The commands are identified by a flag - a single, case-sensitive alphanumeric character. These flags include: 

a - admintest 
b - ban/unban 
c - cancelvote 
d - disorient/orient 
G - readconfig 
h - help 
k - kick 
l - launch/throw/fling 
L - launcha/throwa/flinga 
i - listplayers 
K - lock/unlock 
m - mute/unmute 
n - nextmap 
N - rename 
p - putteam 
r - reset/restart 
v - revive 
s - setlevel 
H - shake 
B - showbans 
S - shuffle 
w - swap 
C - time 
u - uptime
The following flags are not commands but specify special privileges a level or user has: 
1 - cannot be vote kicked, vote muted, dropped from inactivity, dropped due to high team damage ratio, or complained against 
2 - cannot be censored or flood protected 
3 - can run commands "silently" through the console (/!commandname parameters) 
4 - can see Axis' and Allies' team chat as a spectator 
5 - can switch teams any time, regardless of balance 
6 - does not need to specify a reason for a kick/ban 
7 - can call a vote at any time (regardless of a vote being disabled or voting limitations) 
8 - does not need to specify a duration for a ban
A level config block is in the format: 
level = 0 
flags = ahC 
name = Prole
Every player defaults to level 0, so it is important to specify flags for this level. The name of the level is optional and is displayed when a user uses the admintest command. What is important in the above block is that the flags indicate that a level 0 user has access to the admintest, help, and time commands. 

You can specify the flags for any number of levels, but assigning a player to an undefined level means that a player will not have access to any commands. An asterisk (*) as a flag represents every command available. 

Assigning a player to a level is largely automated through in-game commands, but for your reference, they come in the format: 
name = shrub 
level = 5 
flags = +wr-R
The flags specified for an admin block are optional and modify the base flags for the level specified. In this example, in addition to having the level 5 commands, shrub will be able to run swap (w), reset (r), and will not be able to run restart (R). 

To assign a user to a level via the console (you will likely need to do this for the first high-level admin), use the command: 
setlevel [clientnum] [level]
Naturally, this must be done while the desired player is connected to the server. 

Commands are performed via the in-game chat using the format: 
!commandname parameters
The function and syntax of each command can be seen through the !help [command name] command. Messages from shrubbot that are private are colored blue. Public messages are light yellow. 

First-Time Setup 
It is recommended that you specify the flags for level 0 and a high level - say, 5 - whose flag is "*". Set yourself to level 5 via rcon, and you can then set others' levels in-game through the !setlevel [name] [level] command. 

If PunkBuster is not enabled, it is likely that some players will not be assigned a GUID and shrubbot will not function as intended. 

More on Level Flags 
For convenience, you can use '*' as the first character of a level flag and subsequent characters will be removed from that level's privileges. For example, setting a level flag to "*k" will give that level all privileges and commands except for the ability to kick. Why you would do this, I do not know - but there it is for illustrative purposes. Note that these are level flags and not user flags. 

Name Matching 
Many commands require you to specify the player they target. You can do it in either two ways: use the player's client number or use a partial or full name. When specifying names, omit the color codes. shrubbot will warn you an abort a command if text you specify matches more than one name. If multiple matches are found, the client number of each match is displayed next to the name in parentheses. If you are unable to write text in such a way that it targets the specific client, then you should revert to using the client number. When a space is needed, either enclose the name in quotation marks or replace the space with a backslash (\). 

Bans are based on both the player's current IP and his GUID. Asterisk wildcards are supported. If you would like to broaden the range of a banned IP, replace the appropriate quartile(s) with an '*'. For example, do not use "192.168.*", use "192.168.*.*". 

When a player is kicked by the bot or denied a connection, the contents of g_dropMsg (blank) is appended to the message the player receives in the disconnect box. It is recommended that g_dropMsg be set to something along the lines of, "If you believe this kick or ban was undeserved, contact with the details." 

Other Console Commands 
If you make changes to the config file externally, use the console command readconfig to reload the config file specified in g_shrubbot. Note that the admin status is checked on an !admintest and when first connecting. Note that if you deny !admintest to level 0 users, then you must reconnect to refresh your admin status if you are unable to !admintest. 

Command Logging 
You can log users' shrubbot actions and attempts to access shrubbot commands by setting g_logAdmin variable to the desired file name. 
Skill Mods
Version Added or Last Modified: 1.0
Documentation last modified: 11:07:14 PM Jul 24, 2003 
g_skills (0) is a bitflagged variable with the following attributes. Add up the desired features to enable them: 
1 - any Level 4 Battle Sense can spot mines for teammates 
2 - non-engineers with Level 4 Explosives & Construction will benefit from the flak jacket 
4 - adrenaline carriers over to non-medic classes

Spectator Behavior
Version Added or Last Modified: 1.0
Documentation last modified: 03:54:10 AM Jul 10, 2003 
g_spectator (0) is a bitflag with the following properties. Add up the desired values to enable each setting. 
1 - free-look spectators can click on a player to spectate him. If the click doesn't point at another client, nothing happens. 
2 - When spectator clicking is enabled (1), a "miss" cycles to the next client that can be spectated rather than doing nothing. 
4 - Spectators continue following a player when he goes into limbo and respawns (same behavior as in RTCW) 
8 - Spectators go into freelook mode after a spectated player limbos (4 takes precedence over 8)

Team Damage Restriction
Version Added or Last Modified: 1.0
Documentation last modified: 03:55:06 AM Jul 14, 2003 
g_teamDamageRestriction (0), when greater than 0, will set the threshold of team damage a player can inflict before being automatically kicked from the server. A minimum of g_minHits (30) hits (team or not) is required before a player is considered for a kick. 

For example, if g_teamDamageRestriction is set to 25, a player will be kicked if, any time after inflicting some form of damage on another player 30 times, 8 of said hits are to teammates. Damage from the flamethrower and friendly mines is scaled down appropriately. 

Clients may check their current hit counts with the command /damage. 

This method will allow for team killers who merely shoot teammates to low health levels to be punished easily and also not harshly punish those who have, inadvertedly or not, made the one hit that kills a teammate. 

This feature can also be coupled with disabling the complaint system (g_complaintLimit 0). With an appropriate g_teamDamageRestriction setting, the lack of arguments related to complaints improves the server atmosphere tremendously. 
Text Censorship
Version Added or Last Modified: 1.0
Documentation last modified: 09:36:42 PM Jul 17, 2003 
g_censor (blank) specifies words that are censored from chat. Each word or phrase is separated by a comma and is not case-sensitive. Words that are censored are replaced with asterisks and colors are removed. 

g_censorNames (blank) works similarly, but is used for player names. 

g_censorPenalty (0) is a bitflag variable that specifies what punishment, should any, be applied when using a censored term in chat or names. Add up the values corresponding to each option and set g_censorPenalty appropriately: 
1 - kill players who use censored text in their chats 
2 - kick players who use censored text in their names

Text Shortcuts
Version Added or Last Modified: 1.0
Documentation last modified: 03:54:10 AM Jul 10, 2003 
When g_shortcuts (0) is set to 1, text shortcuts are enabled which allow players to type "shortcuts" in the form [x]. These are replaced with the appropriate text. Shortcuts include: 
[a] - last person who gave you ammo 
[d] - last person who killed you 
[h] - last person who gave you health 
[k] - last person you killed 
[l] - your current location 
[n] - your name 
[r] - last person who revived you 
[p] - teammate you are pointing at 
[s] - your health 
[w] - weapon you are currently holding
For example, typing "Help me at [l]! I only have [s] health left" will produce something like "Help me at (A,2)! I only have 20 health left!" 
Text/Log Options
Version Added or Last Modified: 1.0
Documentation last modified: 02:23:10 PM Jul 15, 2003 
g_logOptions (0) is a bitflagged variable with the following attributes that modify text or log-related aspects of the game. Add up the desired features to enable them: 
1 - Move kill, connect, and team change messages to the bottom of the clients' screens 
2 - Display a countdown on adrenaline usage to make it easier to know when it will expire 
4 - Disable the tap-out confirmation dialog box 
8 - Display connection attempts by banned players

Voting Behavior
Version Added or Last Modified: 1.0
Documentation last modified: 02:25:02 PM Jul 15, 2003 
g_voting (0) is a bitflag variable with the following properties. Add up the desired attributes and set g_voting appropriately to enable them: 
1 - Vote percentage is based on number of votes cast instead of total players who can vote 
2 - Successful votes do not count against a player's vote limit

Weapons Changes
Version Added or Last Modified: 1.0
Documentation last modified: 11:08:01 PM Jul 24, 2003 
g_weapons (0) is a bitflag variable with the following attributes. Add up the values corresponding to the desired features and set g_weapons appropriately to enable them: 
1 - field ops do not spawn with binoculars with Level 0 battle sense 
2 - syringes work underwater 
4 - pliers work underwater (it will click due to client-side prediction) 
8 - "Too many airstrikes requested" will restore used charge bar 
16 - "Too many airstrikes requested" will restore half of used charge bar

XP Persistence
Version Added or Last Modified: 1.0
Documentation last modified: 03:53:02 AM Jul 23, 2003 
g_XPSave (0) is a bitflagged variable that controls a number of XP persistence-related options. Add up the values corresponding to the desired features to and set g_XPSave appropriately to enable them: 
1 - enable XP Saver 
2 - XP is not reset on map_restarts, reset_matches, swap_teams, or shuffle_teams 
4 - XP never resets (but the XP Saver will still reset when appropriate). 1 must be enabled for this to work.
About the XP Saver 
When enabled, a player who is disconnected or kicked will have his XP saved and restored when he reconnects before the end of the campaign. In non-campaign gametypes, saved XP is cleared when XP normally resets. 

The XP Saver relies on a valid GUID to match clients and may not work properly if PunkBuster is disabled on both client and server. 

Stopwatch with XP Persistence 
If you would like to run maps in stopwatch mode without XP resetting after each round, enable both option 1 and 4 (set g_XPSave to 5 or 7). Use the server command clearXP in your map rotation to reset XP at the desired round. Refer to the FAQ for sample rotations using this method. 

shrubmod documentation - © 2003 Ryan Mannion 

Read More

Comments on this File

There are no comments yet. Be the first!


50 XP

Registered 2nd July 2002

13 Files Uploaded

Share This File
Embed File