Title    : Brutal Battle Server Patch
Filename : brutalsrv11.zip
Version  : 1.1
Date     : 11 Nov 1997
Author   : Dr. Banzai
Email    : banzai@v-wave.com
           

Type of Mod
-----------
Quake C  : yes
Sound    : no
MDL      : no
BSP      : no

Category : Server Patch (Normal Quake Only, NOT QuakeWorld)

Source Included :  yes

Introduction
------------

This is a great, original server patch which I have been 
running on my server for some time. It provides for 
enhanced deathmatch and teamplay Quake, and adds new 
features and weapons.

Note that this patch is server-only, so clients do not
have to download a .PAK file to play on a server that
is running this. This is the best kind of patch, in my
opinion.

New features include:

Runes
	The Runes are from Capture the Flag by
	Dave "Zoid" Kirsch. The runes include
	Haste, Regeneration, Strength and Resistance.	
Grappling Hook
	This is also from CTF. You can hook onto
	walls and ceilings, and the hook will pull
	you up. You can also hook onto other players
	to disembowel them. This alone is perhaps the 
	most revolutionary mod available for Quake.
MOTD
	This is yet another feature from CTF. It
	provides a startup message which is displayed
	to all clients when they connect to the server.
Boobytraps
	These are very interesting. They are based off
	of a small amount of code I got off the net.
	I have enhanced them greatly. A player can lay
	either Rocket traps, or Napalm traps. Rocket
	traps take 20 rockets. The trap looks exactly
	like a regular box of rocket ammo. An opponent
	touches the trap and BOOM! it explodes, severely
	damaging or killing the victim. Napalm traps
	take 150 nails. Upon detonation, the trap will
	engulf the victim in flames. The flames will
	keep burning, sucking health away, until the
	player jumps in some water or touches armor.
	They add a whole new level of strategy to the
	game. Booby traps are a blast!
BlazeGun
	This is a patch by Nelno the Amoeba which I 
	have integrated into this server patch. It 
	converts the nailgun into a flamethrower, 
	with which players can set others on fire!
	The burning players will have to find water
	or armor to extinguish the flames. One can
	also use the BlazeGun to fly upwards. Just
	point down, jump and shoot, and you have your
	own multi-use jetpack!
Random Map Chooser
	This code is from the "randmap" patch
	by Stefan Schwoon. When the timelimit
	or fraglimit expires, the server will pick
	a new level randomly. This adds an element
	of surprise when a new level is chosen.
Voting
	This patch works with the Random Map Chooser. 
	To use it, players input a command to 
	vote for a new level. When over 50% of
	players have voted, a new level is
	automatically selected by the patch  and
	the server changes to it. This is especially 
	useful when the server changes to a large level
	when there are only 3-4 people on.
Remote Administration
	This is a patch by Doug Keegan which 
	allows server administrators to change
	game settings and levels while connected
	as a client. The player simply enters
	an impulse sequence to be verified as
	an administrator, then they have full
	access to all functions including:
		Changing to any level
		Changing the fraglimit/timelimit
		Setting the deathmatch/teamplay variables
		Altering gravity and friction
		Kicking players
Multiple Deathmatch Modes
	This patch includes the usual deathmatch 1 and 2,
	but it also includes deathmatch 3. This mode is
	similar to the regular Deathmatch 1 except the
	weapons stay there when you get them, a la
	deathmatch 2. This is very useful for servers
	that have a large number of players, because
	everyone has a chance to get a decent weapon.
Variable Item Respawn Times
	When the server gets a lot of people on it, items,
	armor and weapons will respawn faster, keeping up
	the fast action needed to make your server the most
	popular place to frag.
Balanced Weapons
	Ever noticed how if someone gets the rocket launcher
	they are automatically top of the heap? This patch
	attempts to power up the lower weapons so they are
	more balanced.

There are also countless tweaks and optimizations
to make this patch a blast in Deathmatch, from
two to sixteen players (two to 32 players in QuakeWorld).

There is also One-Player and Co-Op support, if you are in to
that kind of thing. I won't cover one-player or coop in the
documentation, though.



Installation
------------

Unzip the contents of brutalsrv11.zip into a dir
under the Quake dir (for example, "quake\brutal").
If you are using PKUNZIP, be sure to use the -d
paramater.

The Regular Quake source is placed in the "brutal\src"
dir. The progs.dat and text files are placed in the 
"brutal" dir (or whatever name you chose).

Please read the entire text of this document if
you plan on including this patch on your server.

First you need to customize your server config file.
Open "brutal.cfg". Make sure you only edit this file
in a monospaced ASCII editor like Windows Notepad.

If you are using this patch on a public server, be sure
to change the Admin password. To change it, first go into
the "brutal\src" directory. Then edit "admin.qc" and put your 
three-impulse sequence in where it says "// Put Password Here".
The default is 164, 56, 145. 

Also open the file "maplist.qc" and put in the
maps you want the server to choose from. There is
a maximum of 26 map files per Group.

You will then need to recompile the source using ProQCC. 
I have included ProQCC v1.60 with this patch, to make things easier.
ProQCC is written by Lee Smith (lees@infoave.net).

To compile the patch, just open up a Win-95 MS-Dos Window and change
to your "quake\brutal\src" directory. Then type "proqcc". If there are any
errors, you must have done something wrong when you were editing the .QC files.
If there are no errors, you have just successfully compiled the Brutal
Server Patch! The default progs.dat in the "brutal" dir will be overwritten
with your newly compiled progs.dat.

To start up your Normal Quake DEDICATED server, use this command
line:

winquake -dedicated 8 -game brutal +exec brutal.cfg

	where 8 is the maximum number of players you
	want to allow at one time (max 16), brutal is
	the directory you extracted the zip file into,
	and brutal.cfg is your Server Config file.

To start up a Normal Quake LISTEN server (server and client
rolled into one) use this command line:

winquake -listen 8 -game brutal +exec brutal.cfg

	where 8 is the maximum number of players you
	want to allow at one time (max 16), brutal is
	the directory you extracted the zip file into,
	and brutal.cfg is your Server Config file.

Unfortunately there is no QuakeWorld support in this version
of Brutal Server. If I get enough requests for a QW version
I may think about doing one. But what is the point, with Quake 2
on the horizon promising to make Quake-C obsolete?

Please mail me comments, requests for new features
and questions about this patch. Also give me a mail
if you include this patch on your server, so I can
check out the action.


Using This Patch On Your Server
--------------------------------

Administrator Impulses

	Please refer to the Installation section on how
	to set up your admin password. You can only
	use admin commands if you have been verified
	by inputting the password.

	To enter your password (which consists of a 3-impulse
	sequence), just enter each impulse on a separate line
	like this:

	impulse 164
	impulse 56
	impulse 145

	In single-player you will need to bring the console
	up then down again after each impulse is entered.
	Then enter this impulse:

	impulse 99	Show a menu of all administrator impulses

	All other impulses should be self-explanatory
	from looking at the menu. There is one thing that
	isn't in the menu: You can switch to any episode/level
	except for the DM levels by using a 3-digit impulse in 
	this format:

		The hundreds place is always 2.
		The tens place is for the episode.
		The ones place is for the level.

		For example, to switch to episode 3 level 4 you
		would enter "impulse 234".

	Use impulses 49 - 54 for the six DM levels (dm2, dm3 etc).
	This is described in the menu.

	If you are good with Quake-C and you want to know more
	about the admin function just open up and examine admin.qc.

Player commands

Players can enter these commands into the console
to perform the described functions. Players can enter 
the "modhelp" command (without quotes) in the console
to get info on the commands described below.

	impulse 22	Select Grapple (This can also be accomplished by
				        selecting the axe twice)

	vote		Register your vote
	votestat	Check voting status

	rtrap		Lay Rocket trap
	ntrap		Lay Napalm trap

	modhelp		Print help menu

The patch will auto-bind "9" for setting Rocket traps, 
and "0" (The number) for setting napalm traps. This 
auto-binding will occur when a player joins the server. 
The MOTD, displayed a few seconds after they join, explains
how to access the help menu which contains info on how to use 
all the above commands. Of course, players don't really need
to know all these commands to have fun playing on this server.


Notes on the source code
-------------------------

Every piece of new Quake-C in this patch is surrounded
by these indicators:

	// HKCSRV START: <description>

	< ... New code ... >

	// HKCSRV END

Any original id Software code that has been modified will usually be in
this format:

	< ... Modified code ... >	// HKCSRV: Modified: <description>

In any case, you should be able to find all new and changed code
by searching for the string "HKCSRV".


Known bugs
----------

None

Copyright and Distribution Permissions
--------------------------------------

You may alter this code for use on your own
server only.

You may modify the source code and redistribute
altered versions of this patch, as long as you
ask for permission from me and from everyone who 
has written code which is included in this patch.
You must also include this text file, unaltered,
and all of the source code in the new distribution.
For a list of people who's code I have integrated
into this patch, see below.

You may not sell this patch under any circumstances.


External code (code not written by me)
--------------------------------------

Runes, Grappling Hook and MOTD
  Author: Dave "Zoid" Kirsch
  E-Mail: zoid@threewave.com

Blazegun
  Author: Nelno the Amoeba
  E-Mail: nelno@ionstorm.com

Random Map Chooser
  Author: Stefan Schwoon
  E-Mail: ssch0098@rz.uni-hildesheim.de

Remote Administration
  Author: Doug Keegan
  E-Mail: doug.keegan@tamu.edu


Revision History
----------------

1.1 	- Added alias support (players can enter words in the console instead
		of impulses)
	- Added deathmatch mode support. Server operators can now choose between
		deathmatch 1, 2 and 3 modes.
	- Greatly improved documentation.
	- Various bug fixes.

1.0 	- Initial Release.

