shrub OLTL Mod

This mod is completely server-side. Players don't need to download anything to benefit from it's features. OLTL Mod makes many changes to ga...


Do not refresh or leave this page!

File Description

This mod is completely server-side. Players don't need to download anything to benefit from it's features. OLTL Mod makes many changes to gameplay that would be useful to one-life, limited-lives, and unlimited-lives gameplay. Most of these changes are optional, at the administrator's discretion. The main improvements include:

-With ammo packs, Lts. give out syringes to medics and handgun ammo to everyone.

-Gibs are reported to players similar to the way kills are, and points are earned for gibs.

-Players are told how many players are left on each team.

-Nearest medic to a player in limbo is notified of such.

-Improved method of preventing joins to a game in progress.

-Panzerfaust can be disabled.

-Comprehensive logging and statistics.

-Players can be thrown in a random direction.

Short Description: shrub OLTL Mod, beta 2.02 includes several features designed to enhance One Life to Live play (though admins will most likely find some features useful for non-OLTL servers) including comprehensive stats, gib reporting/points, axis/allies left reporting, disabling start votes, "shoving" other players out of the way, and more! All this with no client downloads required!

Long Description: Please see the readme.txt file for full details about this mod! Here's what's new for Beta 2.02:

Here's a highlight of some of the features added: - Comprehensive statistics tracked on a per-round basis. These include kills, team kills, gibs, team gibs, revives, ammo given, health given, shots fired, shots landed, head shots, shots landed ratio, and head shots ratio. These stats can be accessed at any time using /stats. They are also automatically printed in console at the end of a round. - /classes will display the number of each class on your team that are still alive and have respawns left. - When you die, the nearest friendly medic is told that you have died and he/she is the nearest medic. If you haven't been revived after a period of time, the nearest med at that time is also reminded. - Ammo packs now add pistol ammo. - Added server command "fling" to throw someone up in the air and in a random sidewards direction. - LT Damage return from 2.01 now auto-disables when an enemy is nearby.

Features useful particularly for OLTL play: - If you die without any meds left on your team, you are told this.

This is in addition to a number of tweaks, optimizations and bug fixes on existing code and the addition of several more cvars for added customization. Please check the readme for full information.

Once again, this is an entirely server-side mod, requiring no client downloads! If you'd like to try it out, check out either (30 person) or (20 person). The 30-person server is quite busy during the evenings, and players spill over into the 20-person one. Thanks to all of you who have played it! In the first three days of release, tracks over 380 unique players who have tried the mod.

Read More

Download '' (751KB)

shrub OLTL Mod for Return to Castle Wolfenstein 1.33
Beta 2.02, released 7/02/02
by shrub - [email protected]


Note that this *is* a beta release, and I would appreciate any and all bug reports you have.

Why is this called "shrub OLTL Mod"? Primarily because the features in this mod are beneficial to OLTL play. However, I'm sure many, if not most of the features can benefit limited-life or unlimited-life play. That, and I haven't thought of a better name yet.

This mod is completely server-side. The beauty of it is that it requires no client downloads, but results in a limitation of what can be modified.

As always, I'm open to suggestions! I can be reached at the email address above or on as "shrub".

Want to see this mod in action? Connect your RTCW to !
Also check out for chmod's new RTCW stats engine.

Contents of this Document:
  1. Revision History
  2. Installation
  3. Acknowledgements
  4. Command Summary
  5. Features
  6. Known Bugs
  7. License

Beta 2.02 - released 7/02/02
  - added medic reminders
  - LT damage return now disabled when enemy is nearby
  - changed touch-gibbing to use id's new g_knifeonly code to remove weapons
  - spectators can talk to non-specs (cvar toggled, default off)
  - fixed minor spacing issue in the "tapped out" limbo message
  - ammo packs now add pistol ammo (cvar toggled)
  - changed how late joins are logged
  - now tracking team kills, gibs, team gibs, ammo & health given, head shots
  - print stats in console at end of round for each player
  - added cvar to log stats
  - Axis/Allies left reporting now cvar toggled
  - Axis/Allies left decreased frequency of reminders
  - launch/throw no longer work when someone is dead or spectating
  - added server-side command "fling"
  - added client-side command "stats"
  - added server cvar to disable corpse sinking
  - fixed bug where specs' stats would be displayed to someone else
  - fixed bug involving specs switching who they're following
  - fixed bug involving late joiners respawning in OLTL games
  - added distance function to debug mode
  - added range function to debug mode
  - added no medic reminder
  - added client-side command "classes"

Beta 2.01 - released 6/30/02
  - suicides (/kill) are explicitly reported in server log as such
  - fixed bug where self-initiate limbos would be counted as gibs by whoever last killed you
  - fixed bug where those joining during warmup would be late-join killed
  - decreased spawnguns to 1-10 guns (was 1-25)
  - decreased spawnnades to 10 nades (was 40)
  - added headshot detection to debug mode (debug mode is undocumented)
  - allow ammo pack syringes to be enabled/disabled by a server cvar

Beta 2.0 - released 6/29/02
  - Updated for RTCW 1.33 code
  - Added grenade shower
  - Inactivity drop won't apply to fallen
  - Added give grenades on demand for g_fun mode
  - Fixed bug with giving health on demand (could revive self)
  - /spawnGun renamed to /spawnGuns
  - Fixed spawnGuns/spawnNades spam exploit (server could crash when it exceeds max entities)
  - Added global debug cvar
  - Added touch-gib mode

* Changes prior to 2.0 were not documented

  - Create a folder "shrubmod" inside your Return to Castle Wolfenstein Folder e.g. C:Program FilesReturn to Castle Wolfensteinshrubmod
  - Extract "qagame_mp_x86.dll" into this folder
  - Run RTCW with the flag "+set fs_game shrubmod" (create a shortcut to RTCW, right click on it and select "Properties", and in the "Target" box, add " +set fs_game shrubmod" at the end)

  - Create a directory "shrubmod" in your RTCW directory e.g. "/usr/local/games/wolfenstein/shrubmod"
  - Extract into this directory
  - Run RTCW with the flag "+set fs_game shrubmod"

If these directions aren't clear, you probably shouldn't be running a server!

3. ACKNOWLEDGEMENTS (In alphabetical order)
Thank you to the following people for their contributions to this project:
  chmod 700, EvilOne, Glocksmith

The following people helped test the mod or contributed ideas:
  D6M14, Leviathan, Liquidity, logosmani, Mr. Underhill, Phreylan, pure Bishop, BluNereid, Dima

Thank you to The Quark, who originally ran his own mod for 1.31 featuring gib reporting/points, axis/allies left, and late join killing.

Server-Side cVars
  Name		     Default	Function
  g_ammoGivesSyringes	1	turn on/off syringes in ammo packs
  g_ammoGivesPistol	1	turn on/off pistol rounds in ammo packs
  g_allowLateJoins	0	allow/disallow late joins
  g_lateJoinTime	15	time after round start when one is late
  g_allowPF		0	allow/disallow panzerfausts
  g_allowStartVotes	1	allow/disallow map-starting votes
  g_maxStartVotes	3	# of attempts allowed before player is kicked
  g_flagPoints		0	allow/disallow flag points
  g_fun			0	turn fun mode on/off
  g_logStats		1	log round stats enable/disable
  g_shootLTPenalty	1	turn LT damage return on/off
  g_shootLTPenaltyTime	2	amount of time LT penalty applies
  g_shove		0	turn shoving on/off
  g_shoveAmount		80	amount of shove to apply
  g_shoveNoZ		1	turn z-axis shoving on/off (1 means off)
  g_showStats		1	turn life stats on/off
  g_showTeamCount	1	turn team left reporting on/off
  g_sinkCorpses		1	turn on/off corpse sinking (g_maxlives 1 only)
  g_allowSpecChat	0	turn on/off spec chat to non-specs
  g_touchgib		0	turn touch gibbing on/off (map_restart after 1)

Server-Side Commands
  Name				Function
  launch <clientnumber>		Launch <clientnumber>
  throw <clientnumber>		Throw <clientnumber>
  fling <clientnumber>		Fling <clientnumber>
  cancelvote			Cancel vote

Client-Side Commands
  Name				Function
  +salute			Shove player (g_shove must be 1)
  spawnGuns			drop 1-10 random guns (g_fun must be 1)
  spawnNades			nade shower (g_fun must be 1)
  stats				display stats in console
  classes			display number of each class on your team


  g_shove		default: 0	turn shoving on/off
  g_shoveAmount		default: 80	amount of shove to apply
  g_shoveNoZ		default: 1	turn z-axis shoving on/off (1 means off)

Commands (client-side):

When g_shove is on (1), players can shove each other using +salute. For example, players may "/bind mouse2 +salute" in the console. Shoving will push the player they are pointing at an amount proportional to g_shoveAmount. Players can crouch and look up to give some lift to their shove force, but only if g_shoveNoZ is off (0). This feature is useful for use against players who are blocking doorways or other key areas.  You can also have fun with it by turning g_shoveNoZ off (0) and increasing g_shoveAmount to something greater, e.g. 300. I'd recommend playing catch: one player stands on another, the bottom player shoves upwards and tries to catch the launched player.

  g_touchgib		default: 0	turn touch gibbing on/off

When g_touchgib is on (1), players can gib others instantly by merely touching. Weapons are disabled, so a map_restart is recommended after setting g_touchgib to 1 in order to clear weapons from the game. After map_restart, touch gibbing is enabled 10 seconds after the map is restarted to allow time for players to disperse. If players are facing each other when they touch, there is a high probability that they will gib each other.

  g_showStats		default: 1	turn life stats on/off
  g_logStats		default: 1	log round stats enable/disable

Commands (client-side):

When g_showStats is on (1), upon entering limbo mode, players will be shown the number of kills and revives (if applicable) they made during that life. Additionally, the accuracy percentage (shots landed / shots fired) of any bullet weapons used is displayed. Note that accuracy is still displayed for flamers since they have a pistol and the ability to switch to a venom, mauser, or SMG.

New to 2.02: Stats for the entire round (including team kills, gibs, team gibs, shots fired, shots hit, head shots, ammo given, and health given, in addition to the above stats) are now printed in the console at the end of the round for each player. This feature cannot be turned on/off.  Current stats for the round may be viewed at any time using the client command "stats".

  g_showTeamCount	default: 1	turn team left reporting on/off

When g_teamLeft is on (1), when a player enters limbo mode, the number of axis and allies left per team is displayed to every player in the center of his/her screen. These totals take into account who has respawns left, thus it is particularly useful for OLTL play. If g_maxlives is 0, this information is not displayed, regardless of g_teamLeft.

  g_allowPF		default: 0	allow/disallow panzerfausts

When g_allowPF is off (0), players will be unable to select the Panzerfaust as their weapon. If they attempt to, they are told that it is not allowed and are automatically switched to their team's default SMG (Thompson or MP40).

  g_allowStartVotes	default: 1	allow/disallow map-starting votes
  g_maxStartVotes	default: 3	number of attempts allowed before player
					is kicked

When g_allowStartVotes is off (0), map-starting votes are disallowed. Specifically, start_match and map_restart are not allowed at any time, and reset_match is not allowed during warmup (so that reset_match can still be used during actual round play in the event of a massive, intentional teamkill). The number of attempts to call a disallowed vote is tracked, and players are warned not to call them after attempting to do so. If the number of attempts meets or exceeds g_maxStartVotes, the player is kicked.

  g_allowLateJoins	default: 0	allow/disallow late joins
  g_lateJoinTime	default: 15	time after round start when one is late

If g_allowLateJoins is off (0), any players joining the game after g_lateJoinTime seconds will be killed. This method is preferrable to blocking joins using other methods since it allows players to pick their team immediately, without affecting gameplay. Late joins are logged in the following format:
Late Joiner: <clientNum>: <clientName>

  g_fun			default: 0	turn fun mode on/off

When g_fun is on (1), the following applies:
    /spawnGuns	drop between 1 to 10 random guns near player
    /spawnNades	drop 10 nades randomly around player in a "nade shower" 

  Additional Features:
    Give Ammo on Demand - players are given one grenade and ammo for their two-handed weapon when calling for ammo
    Give Health on Demand - players are given 20 health when calling for a medic

  g_shootLTPenalty	default: 1	turn LT damage return on/off
  g_shootLTPenaltyTime	default: 2	amount of time LT penalty applies

When g_shootLTPenalty is on (1), any damage given to a friendly LT for g_shootLTPenaltyTime seconds after calling for ammo is doubled and returned to the shooter. This is intended to curb the practice of shooting LTs to "remind" them to give out ammo.

New to 2.02: If an enemy is nearby, LT damage return is automatically disabled!

Commands (server-side):
  launch <clientnumber>
  throw <clientnumber>
  fling <clientnumber>

Launch propels a player into the air, while throw pushes them forward and slightly into the air. This is intented to be used in conjunction with programs such as Wolfenstein Admin Bot which can parse "say" or "say_team" commands for "launch" and "throw" and a player name and send the appropriate command along with the client number derived from the specified player name. However, there's nothing stopping you from experimenting with the command manually. e.g., if you're the first person to connect, a "launch 0" will launch yourself.

New for 2.02: fling has the upwards velocity of launch and a random direction on the x-y plane.

Commands (server-side):

Cancelvote cancels a vote taking place.

  g_flagPoints		default: 0	allow/disallow flag points

When g_flagPoints is off (0), players do not receive points for retrieving flags.

  g_ammoGivesSyringes	default: 1	turn on/off syringes in ammo packs
  g_ammoGivesPistol	default: 1	turn on/off pistol rounds in ammo packs

When g_ammoGivesSyringes is on (1), medics will receive one syringe per ammo pack that they pick up. The ten syringe limit still applies. Similarly, when g_ammoGivesPistol is on (1), pistol ammo is refilled by ammo packs.

  g_allowSpecChat	default: 0	turn on/off spec chat to non-specs

When g_allowSpecChat is on (1), spectator chat using the "say" command will also be relayed to non-spectator players, i.e. axis and allies.

  g_sinkCorpses		default: 1	turn on/off corpse sinking

When g_sinkCorpses is off (0), corpses will remain on the ground indefinately, unless gibbed by an explosive or other force. Note that this setting will only take affect if g_maxlives is 1.

Commands (client-side):

Upon issuing the "classes" command (either via bind or in the console using /classes), a player will receive, in the center of his/her screen, the number of each class on his/her team.

Gib Reporting
  Player gibs (when someone transitions from being revivable to limbo or directly from alive to limbo) are now reported in the console and server log. Team gibs are given a red-colored message to distinguish themselves from enemy gibs.
  FORMAT: Gib: <gibberClientID> <gibbedClientID>: <gibberName> gibbed <gibbedName>

Gib Points
  Players now receive 1 point for gibbing an enemy and a 3 point deduction for gibbing teammates or gibbing him/herself.

Medic Reminders - new for 2.02
  Five seconds after a player dies, the nearest, living medic is told that the player is down and needs a revive. This process is repeated every 15 seconds.

No Medic Reminders - new for 2.02
  If a player dies but is revivable, and there is no medic left on his team in OLTL mode, then he will be reminded of such.

Helmet Protects from Head Shots
  If a player still has his helmet on, the first head shot he receives shoots his helmet off and only takes 5 damage. This applies to all shots except those coming from a sniper, where normal damage still occurs.

Don't Drop Client if Down
  If a player is down and waiting for a revive, the server will not drop him/her for inactivity. Thus, g_inactivity can still be used without worrying about its effect on OLTL games.

Revive Logging
  Revives are now logged in the server log.
  FORMAT: Revive: <reviverClientID> <revivedClientID>: <reviverName> revived <revivedName>

30 second team-change wait is disabled
  Players no longer need to wait 30 seconds before joining or switching teams

/kill logging
  /kills are not logged as actual kills, but are logged in the following format:
  Suicide: <clientNum>: <clientName>


You may use the included .DLL or .SO file with your RTCW server. You may distribute the .DLL or .SO file if and only if this text file is included. You may not make modifications to the .DLL or .SO file. You may not hold "shrub" responsible for any damage of any kind resulting from the use of the included .DLL or .SO file.


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