================================================================
Title                   : VanillaCTF
Version			: 0.7
Filename                : vanctf07.zip
Date			: October 28, 1998
Author                  : James Abbatiello
			   (member of Clan Noname:
			    http://www.WPI.EDU/~mongoose/ClanNoname/)
Email Address           : abbeyj@frag.com
Description             : Q2 gamex86.dll mod
			  Basic CTF play
Additional Credits to   : Id Software (of course)
			  Zoid (zoid@idsoftware.com) for 
			   Threewave CTF from which I took the
			   idea and a bit of code for this
			   patch
			  Mongoose (mongoose@wpi.edu) for sound
			   advice and level conversions
			  OpenQuake (http://www.openquake.org)
			   for just being there
			  MutMut (thomase@idcomm.com) for a
			   bugfix
			  Deltoid[DPS] for testing and Q2DMx
			   map conversions
			  Kai "L-Fire" Kenner (LFire@yyz.com)
			   for info regarding 3.15 VWEP support
			  Everyone on the PQ Q2Coding mailing
			   list
================================================================

* Files Included *
readme.txt		The file you're reading
gamex86.dll		Compiled version for Win95/NT
gamei386.so		Compiled version for Linux (libc5)
maps\*.ent		Files containing flag placement information
maps.lst		Default map list
maps*.lst		Sample map lists


* Description *
This is a Q2 mod to add CTF teamplay.  This is a server-side
only mod, so there is no client download necessary.  It has 
optional support for Zoid's Q2CTF which, when enabled, requires 
the clients to have Q2CTF installed or be able to autodownload
the necessary files.


* Features *
- Two Flags :) (with cool laser beams marking the flag bases) 
- HUD: Displays flag status and team scores
- Teams: male (Red) vs. female (Blue).
- say_team variables (%l, %a, %h, etc) are supported
- Tractor Beam (Grappling Hook): supports regular operation
	("use grapple") or offhand mode ("+hook") if enabled
- Runes: The 4 standard Threewave runes.
- MOTD:	Server can add a custom message without recompiling
- External entity definitions: 	Convert levels for CTF 
	without recompiling the .BSP files
- Q2CTF Support: Allows the use of Q2CTF skins, flag models
	and levels
- Player Identification: "id" displays the name of the player 
	you are looking at
- Reconnecting to a server restores your previous team / score
- Customizable map rotation order 
- Ability to ban certain IPs from connecting to the server
- Anti-Zbot code
- VWEP support
- Ability for server to eliminate undesirable weapons (ie, BFG)
	from the levels
- Server admins can switch a person's team
	

* Installation *
Notes:
- This is server-side only.  Only the server has to follow
these instructions.  Everyone else just plays as normal.

- This was designed and tested on Quake2 v3.19, using the
3.14 source.  This means that certain features of v3.19 may
not be available (like spectator support, and the sv_maplist 
cvar (although map cycling is supported thru the use of a 
textfile)).

- Please make sure that there is no gamex86.dll file in your
main Quake2 directory (for instance, c:\Quake2).  This will 
cause problems with most mods and should not be there.  If 
there is one, move or rename it.

For Win95/98/NT:
extract "vanctf07.zip" to your main Quake2 directory
(for instance, C:\Quake2).  It will automatically create
a subdirectory called "vanctf"  If you use pkunzip, 
be sure to use the -d option.  Make a copy of your existing 
Quake2 icon (right click on the Start button, select Open,
then double click Programs and then Quake2 to get to it).  Edit
the properties of the new icon and add the following to the end
of the line in the Target box:
	+set game vanctf
Now use the new icon to launch Quake2.

For Linux:
Basically follow the above instructions, but ignore all the
stuff about shortcuts.  Tack the following onto the end of 
your command line:
	+set game vanctf

If you are on an Alpha, complain to me to compile an Alpha
version. :)


* Server Cvars *
Runes: the number of runes in the level is configurable
through the "runes" server cvar.  This specifies the number of
each rune to spawn in the level.  Thus a value of 1 means 4
runes, 2 means 8 runes, etc.  The default is 1.  Examples:
	set runes 0		// no runes
	set runes 2		// 2 of each rune

Offhand hook: Default is disabled (0).  To enable:
	set offhand 1		// enable offhand hook

Q2CTF support: if you want to use the Q2CTF skins and flag
models (and thus require all of your clients to have Q2CTF
installed or be willing to wait through a small autodownload).
Default is disabled (0).  To enable:
	set zoidctf 1		// use Zoid's skins and flags

Scoreboard setting: if you liked the deathmatch scoreboard and
run a server with a maxclients setting of 12 or less, you may want
to try using this to bring it back.  Default is to use the new
ctf scoreboard (1).  To use the old scoreboard:
	set ctfscore 0		// use non-ctf scoreboard

Team score limit: once either team's total score hits this, the
level is over (default is 0, meaning no limit):
	set teamscorelimit 300	// level's over at 300 points

Weapon banning: lets you remove any weapon from the level.  Add
up the values corresponding to each weapon you want to ban in
the following table, then use that value of the weaponban cvar.
Default is no weapons banned (0).
		Shotgun			   4
		Super Shotgun		   8
		Machinegun		  16
		Chaingun		  32
		Grenade Launcher	  64
		Rocket Launcher		 128
		HyperBlaster		 256
		Railgun			 512
		BFG10k			1024

	set weaponban 1024	// no bfg
	set weaponban 1280	// no bfg and no hyperblaster

AntiZbot: There are two cvars: az_logonly and az_retry.  The
first controls whether people using the zbots are only logged
in the console (1, default) or both logged and then kicked 
from the server (0).  The second controls how many retries to
give a person before determining that they are a zbot.  It is
probably wise to leave this at the default (5) unless you have
some really important reason for changing it.  Example:
	set az_logonly 0	// kick zbots


* More Server Configuration *
Displaying a MOTD: Create a file called "motd.txt" in
your vanctf folder.  This will be displayed to all clients upon 
connecting.  There is room for 4 lines of up to 27 characters
(more if you don't care about the text scrolling outside the
boundaries of the graphic).

Modifying the map rotation: Create a file called "maps.lst"
in your vanctf folder.  Put one map name per line.  When the
server is run, it will cycle through only those maps in the
list (in order).  For example, something like this:
	fact3
	q2dm8
	q2ctf1
	q2ctf4a
For the above example, you probably want to start the server
with "+map fact3" on the command line to start at the first map 
in the list.  There are several sample lists included:
	mapsall.lst	All the supported maps (see above)
	mapssingle.lst	The single player maps
	mapsdm.lst	The Q2DM levels
	mapsctf.lst	The Q2CTF levels
	mapsctfa.lst	The Q2CTF levels with Q2CTF4a
	mapsmost.lst	Mostly all the maps (default)
	mapsmosta.lst	Mostly all the maps with Q2CTF4a
        mapsrandom.lst  mapsmost.lst in "random" order
        mapsrandoma.lst mapsmosta.lst in "random" order
You can copy any of these files to maps.lst to use them.

Running Q2CTF levels: this requires that the clients have
Q2CTF installed.  Copy the pak0.pak file from your Quake2\ctf 
directory to your Quake2\vanctf directory.  Edit the maps.lst
file to include the levels in the rotation (see: Modifying the
map rotation above).  Clients connect as normal.

Switching a person's team:
Use the command "sv forceteam", for example:
sv forceteam Player blue	// puts Player on blue team
sv forceteam # 0 red		// puts the first client on 
				// the red team

* Startup *
The server has to start a multiplayer server on one of the
supported levels  (Or any other level that was designed for 
CTF or has been converted for it by the use of .ent files):
base1		"Outer Base"
base2		"Installation"
base3		"Comm Center"
train		"Lost Station"
bunk1		"Ammo Depot"
ware1		"Supply Station"
ware2		"Warehouse"
jail1		"Main Gate"
jail2		"Detention Center"
jail3		"Security Complex"
jail4		"Torture Chambers"
jail5		"Guard House"
security	"Grid Control"
mintro		"Mine Entrance"
mine1		"Upper Mines"
mine2		"Bore Hole"
mine3		"Drilling Area"
mine4		"Lower Mines"
fact1		"Receiving Center"
fact2		"Processing Plant"
fact3		"Sudden Death"
power1		"Power Plant"
power2		"The Reactor"
cool1		"Cooling Facility"
waste1		"Toxic Waste Dump"
waste2		"Pumping Station 1"
waste3		"Pumping Station 2"
biggun		"Big Gun"
command		"Launch Command"
strike		"Outlands"
city1		"Outer Courts"
city2		"Lower Palace"
boss1		"Inner Chamber"
boss2		"Final Showdown"
q2dm1		"The Edge"
q2dm2		"Tokay's Towers"
q2dm3		"The Frag Pipe"
q2dm4		"Lost Hallways"
q2dm5		"The Pits"
q2dm6		"Lava Tomb"
q2dm7		"The Slimy Place"
q2dm8		"WareHouse"
q2ctf1		"McKinley Revival"
q2ctf2		"Stronghold Opposition"
q2ctf3		"The Smelter"
q2ctf4		"Outlands"
q2ctf4a		"Outlands II"
q2ctf5		"Capture Showdown"

Clients join the game.  Fun ensues.


* Client Commands *
"ctfhelp"
	- displays a short help message
"drop tech" or "drop rune"
	- drops the rune you are carrying
"flagstat" or "cmd flagstatus"
	- displays the status of the flags (if they are at
	base or carried, who they are being carried by, 
	etc.)  
"id"
	- identifies the player you are looking at.  The
	person does not have to be directly under the
	crosshair, just close.
"team blue"
	- switches to the blue (female) team
"team red"
	- switches to the red (male) team
"use grapple"
	- switches the current weapon to the hook
"+hook"
	- fires the offhand grappling hook (if available)


* Reporting Bugs *
Mail me with bug reports (abbeyj@frag.com) and put 
"CTF bug" in the subject of your message.


* Copyright / Permissions *
Authors MAY use these modifications as a basis for other
publically available work provided that they follow
Id's license.

I haven't put anything intentionally dangerous
in here, but here we go with legal stuff ...

This software is provided "as is" with no warranties,
either express or implied.  In no way shall James
Abbatiello be held liable for any damage, either direct
or indirect, resulting from the use of this software.


* Availability *
You can get this from:
	http://www.frag.com/vanctf
