BubbleMod for Half-Life

Version 2.2.3b - Revision 9/2/2003
indicates changes since 2.2.2. The latest revision of this document can be found at www.bubblemod.org


Welcome to BubbleMod!

BubbleMod is a server side only mod for Half-Life. What does that mean? That means that you do not have to download and install it to play it. All you have to do is find an HLDM server running it and join in.

Why did we create this mod? Well, um... because... we could? That sounds good. This mod was an evolving project over several years. It is no longer developed by the original author, and the source code has now been released for public consumption. Basically this mod started out as a way to change the standard Half-Life game to make it more challenging. The big damage weapons were weakened, and key things were changed to allow a more skillful game. The tau/grenade/RPG bind combo is easily countered. Some new weapon modes were introduced to expand teamplay.

I'd like to thank the following players for their input, help, bug hunting, and just being fun to play with. Sorry if I've missed anyone, it just gets hard to remember all the names!

Old skool greetz to:

Acproductions, Alidoe, Azure, Big, [T-S]*BlackWidow*, Blondie, Blork, BootyLiciousHootyHo, Brat, [K9]Bulldog, CBF, Cpt._Ferrel, Chris_Redfield, Creepingdeath, Danny Glover, DarkStar, Doo, Dr.FeelGood, Dr.Form, Dr Monkeybone, Dr.Seuss, Dr.Sexy, Ducky, DWIZARD, GaylordFocker, Gulls, Hawk, Heidi Klum, !KeyholeFamily, Jaguar, Jerry Blade, Lady Spider, Laurence Fishburne, Maggothead, Merlinmast, Miss Fire, Mr. Anderson, Mr. Proliant, Nurse GoodBody, Ozzie, PitBull, Puppy Love, Redeyexpress, [T-S]*Robotic*, Ron_Post, Sammy, Scoob, Scut Farcus, Sgt Baker, Sgt.Fury, Shark (cartilaginous), Smoker, Sophocles, soupy release, [K9]Sparky, Spleen, Supafly!, Toe, Tin Weasel, Tyrian, Underdog[K-9], /UPsMaN/, Vestigal, WorldCraft, and anyone else I've missed

- Eggplant! 7/2003


NOTE: You DO NOT need to install BubbleMod if you only wish to play on other BubbleMod servers.

Server Requirements

BubbleMod 2.2.3 requires at least Half-Life x.1.1.0 or LATER to run. BubbleMod does not require any additional resources above regular HLDM.

** METAMOD USERS ** If are running any Metamod plugins with BubbleMod (admin_mod, HLGuard, etc.) You will need an updated version of the Metamod .dll/.so. To function properly, BubbleMod requires special entity definitions that are not (yet) included in the Metamod distribiution.

For your convenience, an up to date drop-in Metamod dll/so can be obtained from the files section at bubblemod.org. If you find that archive out of date, ask Eggplant to make a new one. :)

If you would rather compile your own based on the source code from metamod.org, you should include the following entities in the metamod/ents folder and rebuild linkgame.cpp by running the mklinkgame.sh script:

// BubbleMod  
//    http://www.bubblemod.org
// Version 2.2.3


If you want to run a server or play the mod on your local LAN, the last stable version can be downloaded from the files section at bubblemod.org.

That archive contains both the Windows and Linux versions. Be sure to use the -a option under Linux when unzipping to convert the ASCII files.


Simply copy the bubblemod .dll or .so file over the old one, add the cvars you need to your bmod.cfg file, and you are done! If you are running Metamod, be sure you are running a version that is compatable with this version of BubbleMod. You may have to grab an updated Metamod .dll or .so from the bubblemod site.

Linux Installation

  1. Unzip the archive into a warm, safe place. (under Linux be sure to use -a)

  2. Copy the bubblemod_i386.so file into valve/dlls.

  3. Copy any maps or map.cfg files you want into your maps folder.

  4. Edit the liblist.gam file in the valve directory. Copy the "gamedll_linux" line and modify it so it looks like this:

    //gamedll_linux "dlls/hl_i386.so"
    gamedll_linux "dlls/bubblemod_i386.so"
  5. Copy the bmod.cfg file into your valve directory, add "exec bmod.cfg" to the end of your server.cfg (or listenserver.cfg if you plan on playing and serving from the same machine) and edit the CVARs to your taste.

  6. Make any changes to the MOTD that you wish (it now supports 960 characters max)

  7. If you are running metamod, see the metamod section for installation tips. Be SURE you have a BubbleMod compatable version of metamod!

  8. Run the server. You do not need to specify any game type at the command line.

Windows Installation

  1. Unzip the archive into a warm, safe place.

  2. Copy the bubblemod.dll file into valve\dlls.

  3. Copy any maps or map.cfg files you want into your maps folder.

  4. Edit the liblist.gam file in the valve directory. Copy the "gamedll" line and modify it so it looks like this:

    //gamedll "dlls\hl.dll"
    gamedll "dlls\bubblemod.dll"
  5. Copy the bmod.cfg file into your valve directory, add "exec bmod.cfg" to the end of your server.cfg (or listenserver.cfg if you plan on playing and serving from the same machine) and edit the CVARs to your taste.

  6. Make any changes to the MOTD that you wish (it now supports 960 characters max)

  7. If you are running metamod, see the metamod section for installation tips. Be SURE you have a BubbleMod compatable version of metamod!

  8. Run the server. You do not need to specify any game type at the command line.

Metamod Installation

There's one trick to getting BubbleMod working with Metamod. First, be sure to read the Metamod installation instructions located at metamod.org.

Since BubbleMod is a replacement for the regular hl.dll and hl_i386.so, you must specifically tell Metamod to load the new object. (Metamod apparently does not read the liblist.gam file).

To accomplish this, you need to use the "localinfo" feature when starting your server.

  • For Linux, add "+localinfo mm_gamedll dlls/bubblemod_i386.so" to your command line options when running the game. An easy way to keep from having to remember that every time you run the server is to edit the hlds_run script to add it for you. Change line 10 of the script to read HL="./hlds +localinfo mm_gamedll dlls/bubblemod_i386.so"

  • For Windows, just add the string +localinfo mm_gamedll dlls/bubblemod.dll to the target field of your hlds shortcut.


If you wish to revert back to the standard Half-Life game, simply edit the liblist.gam file. Comment out the "bubblemod" line and enable the old "hl" line.

Building From Source

BubbleMod is no longer under active development, and the source code is freely available from bubblemod.org. This section provides some notes on building the mod from the source code and some hints on how it is structured.

The sourcecode is based on the unmodified Half-Life 2.2 SDK, and there are a few limitations and other potential problems you may face when trying to build the mod.

  • Under Linux, the source will not build on any gcc later than egcs-2.91. This is because of the less than ANSI style in which the original SDK was written. There are patches to get the SDK to compile under more modern compilers, but I've never had the time or patience to patch them into the current build of BubbleMod. A Makefile to build both generic i386 and i686 optimised shared objects is provided.

  • Under Windows, I have successfully compiled this with Visual C++ 5 with current service packs. A VC++ 5 workspace is provided. I've never tried compiling this under VC++ 6.0. Good Luck.

  • Since this is a server side only mod, you only need to build the server object. Only the dlls section of the source code is provided and you will need a copy of the 2.2 or 2.3 SDK to build the mod.

  • I highly recommend you read through the FAQ and SDK sections at Botman's Bots if you are new at this. It will answer many of your questions and avoid a huge number of potental problems.


Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it in any way, subject to the following restrictions:

  1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from defects in it.

  2. The origin of this software must not be misrepresented, either by explicit claim or by omission.

  3. Altered versions must be plainly marked as such, and must not be misrepresented (by explicit claim or omission) as being the original software.

  4. It would be nice if I got a copy of your improved version.

  5. This notice must not be removed or altered.

Unpacking the Source

Only the server side dll code is provided in the archive. It contains both a MSVC++ 5.0 workspace and a Makefile for Linux. You will need a copy of the 2.2 SDK to build the server object. After unpacking the 2.2 SDK, replace the dlls directory in the source tree with the one provided in the BubbleMod source archive.

Building the Linux Shared Object

The source will not build on any gcc later than egcs-2.91. The Makefile supplied with the mod can build both a generic i386 version that will run on any Intel architecture and an i686 optimised version that will run on any Pentium Pro chip or better. To build the i386 version simply cd into the dlls directory of the SDK source tree and execute the following commands:

$ make clean
$ make

To build the i686 optimised version, you should set an environment variable OPT. Under a bash shell you could do the following:

$ export OPT=opt
$ make clean
$ make

This will produce a bubblemod_i386.so or bubblemod_i686.so file in the dlls directory. Simply copy this file to your game server and follow the installation instructions found elsewhere in this document.

Building the Windows Library

A MSVC++ 5.0 workspace is provided, and the source should build if you have the latest MSVC++ 5.0 service packs from Microsoft. To build, simply open the workspace file found in the dlls directory and choose "Build" from the build menu, or press F7. If you have HL installed in C:\SIERRA (the default) the bubblemod.dll file will be copied to your game directory. Otherwise you will get an error on the last step, and have to copy the file manually. Again, just follow the installation instructions found elsewhere in this document.

Understanding the Mod Source

Parts of the mod are documented in comments within the source. Some parts are documented in detail, while others are not documented at all. The forums on bubblemod.org are the best place to ask any questions about the source code.

Several classes and files were added to the source. Any source or header files that are completely new have BMOD_ prefixed to the filename. For example:


Are new files completely seperate from the original SDK. Sections of the original SDK that are changed, or sections added to existing files are enclosed in comments and labeled indicating their function. For example:

    // BMOD Begin - no trip spawn mines and flashbang
    if (m_bIsFlashbang)
        m_pBeam->SetColor( 120, 180, 180 );
        m_pBeam->SetBrightness( 25 );

    if (BMOD_IsSpawnMine())
        pev->owner = m_pRealOwner;
        pev->health = 0;
        Killed( VARS( pev->owner ), GIB_NORMAL );

        if (m_bIsFlashbang)
            UTIL_ClientPrintAll( HUD_PRINTTALK, UTIL_VarArgs( "%s tried to place a spawn flash mine!\n",
                STRING( VARS( pev->owner )->netname ) ) );
            UTIL_ClientPrintAll( HUD_PRINTTALK, UTIL_VarArgs( "%s tried to place a spawn mine!\n",
                STRING( VARS( pev->owner )->netname ) ) );
    // BMOD Begin - no trip spawn mines and flashbang

Is a section in tripmine.cpp that handles the detection and notification of spawn mines when a tripine or flashbang mine arms.

Customizing Your Mod

There are three constants in BMOD_constants.h that control how your mod appears on the BubbleWatch pages.

// ---------------------------------------------------------------
// Branch customizations
// Information in the next three constants will be used for servers
// running your mod on the BubbleWatch pages on bubblemod.org. Fill
// these in with the information you would like to appear on that page.
// If you do NOT want servers running your branch to appear on the 
// BubbleWatch page, simply set BMOD_VERSION below to "", or run your
// server with no master server reporting.

// Fill this in with the title of your bubblemod branch
#define BMOD_BRANCH_NAME    "Custom Bubblemod"

// The version of your branch
#define BMOD_BRANCH_VERSION "1.0.0"

// The URL of the website describing your branch
#define BMOD_BRANCH_URL     "http://www.bubblemod.org"

// End branch customizations
// ---------------------------------------------------------------

General Gameplay Features

There are a few things that have been fixed or altered in standard gameplay. I won't go over the bug fixes. The idea being that a bugfix would be a welcome addition.

Spectator Mode
When you first enter the game you will be in Spectator Mode. This is to allow you time to read the MOTD without getting fragged. Which you should seriously consider doing, as there is often important stuff in the MOTD you'll want to know about. There are two submodes: Free Roam and Chase Cam. Free Roam allows you to roam the map in a no-clip mode. Chase Cam will lock you onto a player of your choice.

Spectator mode controls:
Fire - Spawn into the game.
Jump - Toggle between submodes.
Alt. Fire - Cycle through players while in Chase Cam mode.

If you wait long enough after you die, you will automatically be placed back into Spectator Mode.

Spawn Protection - Optional: see bm_spawnkilltime, bm_maxspawnkills, bm_bantime, bm_spawneffects
When you first spawn into the game, you may have several seconds of protection from getting Spawn Killed. A small message and a countdown of your remaining spawn time will appear in the top left corner. Your Spawn Protection will remain in effect until one of the following occurs:

  1. You switch to ANY other weapon from the one you spawn with.
  2. Fire any weapon.
  3. Use a func_tank entity.
  4. Your spawn protection counter runs out.
Players that have Spawn Protection will appear holographic to other players, and a "DO NOT SHOOT" message will appear in Player ID.

Spawn Killing - Spawn killing is the weak practice of killing a spawning player before they have a chance to defend themselves. If a player spawn kills, a nasty message will be broadcast to all players telling of the evil deed, and there will be no points awarded for the kill or death. If a player continually spawn kills, they may be banned from the server.

Type Protection - Optional: see bm_typekills, bm_typecam, bm_maxtypekills, bm_bantime
You can invoke Type Protection by switching to the crowbar weapon and facing a wall for more than 4 seconds. While in type mode, bubbles and lights will swirl around your player. If someone tries to kill you while in type mode, there will be no score, no weapon dropped, and a ban warning will be issued. You will remain in type mode until one of the following occurs:

  1. You switch to ANY other weapon from the crowbar.
  2. Swing the crowbar.
  3. Walk in any direction.
  4. Pick up any item.
  5. Press your "use" key.
While in type mode, players can use a back-facing fisheye camera to make sure the coast is clear before they come back into the game.

Player ID
Player ID - Holding the crosshair over another player will print their name and model info in the center of your HUD. In teamplay, you can also see the health / armor levels of your teammates, and in observer mode you can see all of this info for any player.

If you look at a player who is under Spawn Protection or Type Protection, a special message will appear warning you not to shoot them.

Starting Weapons/Ammo - Optional: see bm_guns, bm_ammo
Starting Weapons - By default, when you spawn you have in your arsenal the following:

Crowbar (now more powerful, see below)
9mm Glock - 17 bullets in the clip, 34 extra.
357 Magnum - 6 bullets in the clip, 12 extra.

Spawn Mines/Satchels - Optional: see bm_spawnmines, bm_spawnsatchels
Spawn Mines - Spawn mines are the cowardly way some players like to place tripmine beams across spawn points so that newly spawning players die immediately. If a player attempts to place a spawn mine, the mine will automatically detonate when the beam arms, and a message will be broadcast to all other players informing them that there is a dorkus on the server.

This also applies to Snark Mines, Flash Mines, and Satchel Charges.

Map Voting - Optional: see bm_voting, bm_votetime, bm_maxtime, bm_maxfrags
Map Voting - Players can vote on what map they would like to play. Voting is initiated with the "rockthevote" player say command. Once voting starts, players can vote for their map choice with the "vote" player say command. Voting continues for three minutes, or until a map wins the majority vote. A map needs 75% of the votes to win. If no map wins, then the map stays the same, otherwise the map is changed immediately to the winning map.

Players can also vote to extend the current map by 30 minutes and 25 frags by saying "vote extend"

Damage Messages - Optional: see bm_dmg_messages
Damage Messages - Damage done to you or by you is displayed in the top corner of your screen. If you kill someone while using the same weapon, it announces a match-kill, and if you kill more than one person at a time, a message is broadcast to all players informing them of your accomplishment.

Match-Kills - Optional: see bm_matchkills
Match-Kills - Match kills will appear in the damage messages section when you kill someone holding the same weapon you are using and you do not have a rune active. Match-kills do not have any effect in game, but they are logged and may have an effect in stats generated from the logs.

Multi-Kills - If a player gets multiple frags with a single shot, the server will announce that fact and log it. This has no effect on the game being played, but may be parsed with stat scripts.

Auto-Kick/Banning - Players that exceed the server setting for maximum spawn kills, type-kills or spamming can be automatically kicked or banned from the server for a period of time.

Map Customization
Map Customization - BubbleMod allows server admins to add, remove, or replace most of the 'entities' on any map. Valid entities are:

1. Weapons and ammo.
2. Armor batteries and health kits.
3. Long jump modules.
4. Spawn points.

The server admin can create a separate config file for each map indicating what (if any) entity changes will be made. The config file can also change any of the other global server settings for just that map. For example, weapon mods can be changed, values like the fraglimit or gravity can be changed for only that map. See the Custom Map Configurations section for more information.

Weapon Mods

Several weapons have been altered, or have new abilities. Many also now have tracer effects to more easily tell where an attack is coming from. The 357, shotgun, crossbow (both modes), and snarks (what the hell) all leave a smoke trail or tracer.

All weapon mods are completely optional. If a server you are playing on has a particular weapon mod turned on, details of the mod will appear in the center bottom of your HUD in green text.

Crowbar - bm_cbar_mod
Flying Crowbar - The crowbar now has an alternate fire mode. The alternate fire mode on the crowbar will now throw the crowbar at your intended target. Tricky to use, but it will deal 90 base damage to the target. The crowbar will drop to the ground and can be picked up again after hitting an object. You can only carry one crowbar at a time.

MP5 - bm_mp5_mod
MP5 (9mm Assault Rifle) - The mp5 has been weakened in a few ways. First, contact grenades do slightly less damage (80 down from 100). Also, the recycle time (rate of fire) on the contact grenades has been lengthened to 1.5 seconds. (The same as the double barrel shotgun). And last the maximum number of grenades you can carry is five and you only get one for each pack you pick up.

Shotgun - bm_shotty_mod
Shotgun - By default, the shotgun is the normal HLDM shotgun. But server admins have the option of making all shotguns "super" shotguns that fire faster and reload in one clip. These super-shotguns do not fire as fast as the shotgun rune.

Crossbow - bm_xbow_mod, bm_xbowtracers
Crossbow - The crossbow bolt now leaves a tracer and the sniper damage has been lowered to 90 from 120.

RPG - bm_rpg_mod
RPG - The RPG damage has been lowered to 100 points from 120 points of explosive type damage.

BubbleGun - bm_gluon_mod, bm_thrust
Gluon Gun (Bubble Gun) - The gluon gun is now the Bubble Gun. The bubble gun has two fire modes:

Primary: The primary fire mode will shoot a stream of bubbles in front of the user. The bubbles are completely harmless, but can be used to replenish your air under water. Be sure to point and laugh at people who don't read the MOTD on this one.

Alternate: The alternate fire mode can be used to heal yourself and any players (friend or foe) nearby. This works much like the charged attack on the tau cannon. You must hold down alt fire, and charge the bubble gun for 50 energy units (about 5 seconds). When the gun discharges, you and anyone close by will be healed 70 health points. If you have the armor rune active, the bubble gun will give armor instead of health. This fire mode is disabled for 30 seconds after use.

Tau Cannon - bm_tau_mod
Tau Cannon - The Tau cannon works exactly the same as it always has with one tiny exception. When firing through walls, it only does 2 points of area effect damage, instead of 200. In the original game, the Tau did 200 points of area effect damage, plus whatever charged damage if you got a direct hit through a wall. Potential damage was 400-1200 points in one shot!

This modification allows you to still kill through walls, but you have to be just as accurate as shooting someone dead on. You can't just randomly blast walls hoping for kills.

Hornet Gun - bm_hornet_mod, bm_freezetime

Hornet Gun - The hornet gun has been completely replaced. The gun now has five fire modes and is sort of the swiss army knife of the game. Use the secondary fire button to switch modes, and the primary fire button to fire. The ammo used depends on the mode, but most will use hornets which will recharge themselves over time.

Squid Spit - Fire mode one is spit. This fires the bull squid acid spit from the single player game. Each "loogie" does 30 points of damage, and uses 3 hornets.

Zap Gun - The second mode is a lightning attack much like the alien slaves from single player. This is VERY powerful, dealing 90 points of base damage to the target, and using 4 hornets to fire. NEVER fire the lightning attack while standing in water... didn't your parents teach you anything?

Multizapper - The multizapper is similar to the zap gun, execpt it will fire a bolt that will randomly fork and bounce off of walls. The damage in each fork will decrease slightly, but the potential for getting multiple hits in one shot with this mode can mean instant death for even the most armored players. Unlike the zap gun, this mode has a limited range. Each shot costs 12 hornets.

Freeze Ray - The fourth fire mode is the freeze ray. The freeze ray uses all 12 hornets and will freeze a target for about four seconds if you hit them. A frozen player cannot be hurt with any weapon. But... that doesn't mean you can't kill them... use your imagination. You can use the freeze ray to get away, or even protect teammates from damage.

Snark Launcher - The fifth mode will launch high velocity snarks (if you have any). Chuck them over buildings for random acts of snark.

Tripmines - bm_trip_mod
Tripmines - Tripmines now have a secondary fire mode. Using the secondary fire button will place a Flash Mine. Flash mines have a less distict beam than regular tripmines, and will blind any players that can see them within a certain distance. The closer the victim is to the mine when it goes off, the worse the blinding effect. Flash mines will also set off any nearby tripmines or snark mines.

Snarks - bm_snarks_mod, bm_snarktrails
Snarks - The snarks now have an alternate fire mode. Using the alternate fire on snarks will place a Snark Mine. Snark mines work a lot like tripmines, but will spawn snarks instead of exploding. Placing a snark mine uses 5 snarks.

Note that a single nearby explosion will trigger snark mines, but will not kill the snarks. Use this to build very nasty traps by placing one explosive (tripmine or satchel) in a group of snark mines.


We have also added Rune Objects. Rune Objects give you temporary powers while you have the rune active. Touching a rune object will pick it up an allow you to wreak havoc until the rune wears off. The rune will then spawn in a new location randomly on the map. Anyone who has an active rune will glow the same color as the rune. Runes spawn around player spawn points, so look for them there.

Super Crowbar - bm_rune_cbar
Super Crowbar - The super crowbar rune will make your crowbar a one hit, one kill weapon when used in primary fire mode. The secondary fire mode will throw unlimited Flying Crowbars.

Life Span: 30 seconds.
Respawn: 1 minute.

Mega Grenade - bm_rune_gren
Mega Grenade - This rune makes hand grenades explode into very powerful, very satisfying explosions. We recommend throwing them VERY FAR away from yourself.

Life Span: 30 seconds.
Respawn: 2 minutes.

Super Magnum - bm_rune_357
Super Magnum - The super magnum will deal 100 points of bullet damage to your foes while active. The regular magnum does 40 points.

Life Span: 30 seconds.
Respawn: 1 minute.

Extra Health - bm_rune_health
Extra Health - The extra health rune doubles the health you get from medkits and first aid machines for as long as the rune is active.

Life Span: 30 seconds.
Respawn: 1 minute.

Extra Armor - bm_rune_armor
Extra Armor - The extra armor rune doubles the armor you get from batteries and HEV chargers for as long as the rune is active. Having this rune active will also make the bubblegun give you armor instead of health.

Life Span: 30 seconds.
Respawn: 1 minute.

Super Shotgun - bm_rune_shotty
Super Shotgun - This is a very powerful rune. It triples the fire rate of the shotgun (in both primary and secondary modes) and reloads only take one "click."

Life Span: 30 seconds.
Respawn: 3 minutes.

Custom Map Configurations

You can now add a custom configuration file for each map. When a map loads, it will attempt to execute a config file called "(mapname).cfg" in your maps directory. In this file you can modify CVARs, or issue any special commands to customize gameplay for that map. Note that if you modify a CVAR in a map.cfg file, you MUST have the CVAR listed in your server.cfg as well. If you do not, the map.cfg file will change the cvar when the map loads and the variable will remain changed for all maps that follow it.

BubbleMod adds some special server side commands to help you customize maps. See the new entity commands create, remove, delete, and replace.

Example 1:

This config will override the mp_timelimit set in the server.cfg to 45 minutes. It will also add several 357 ammo packs and snarks to the surface area and a hornet gun in the tunnels of gasworks.

// gasworks.cfg
// config file for gasworks.bsp
mp_timelimit 45
create ammo_357 -1100 713 36 -1
create ammo_357 -1200 713 36 -1
create ammo_357 -164 1684 -651 -1
create weapon_snark -453 1705 -651 -1
create weapon_snark -95 978 36 -1
create weapon_snark -329 363 36 -1
create weapon_hornetgun 643 1036 -651 270

Example 2:

This config file will lower the gravity to 600, replace all the crossbow weapons and ammo with shotguns and shotgun ammo, and add a longjump (with random facing) on the bridge in boot_camp. Be sure that you have "sv_gravity 800" in your server.cfg file so that gravity gets reset back to normal after the next map loads.

// boot_camp.cfg
// config file for boot_camp.bsp
sv_gravity 600
replace ammo_crossbow ammo_buckshot
replace weapon_crossbow weapon_shotgun
create item_longjump 2258 -113 64 -1

Example 3:

This config will disable the frag limit, remove all the crossbows and gluons, replace all the satchels with NEW gluons (commands are executed in order!), create one longjump, one battery and one health pack on the bridge, and overide all rune settings to create three random runes limiting them to crowbar and grenade runes.

// boot_camp.cfg
// config file for boot_camp.bsp
remove ammo_crossbow
remove weapon_egon
replace weapon_satchel weapon_egon
create item_longjump 2258 -113 64 0 
create item_healthkit 2258 -163 64 0 
create item_battery 2258 -213 64 0 
mp_fraglimit 0
bm_rune_cbar 0
bm_rune_gren 0
bm_rune_357 0
bm_rune_health 0
bm_rune_armor 0
bm_rune_shotty 0
bm_rune_rand 3
bm_runemask 3

Player Command Reference

Player commands fall into two categories. "Console" commands and "say" Commands. Console commands are always entered on the console display. Say commands are issued by saying keywords with the "say" or "say_team" commands.
Player Console Commands