------------------------------------------------------------------------------      
                        DeathMatch Manager for Quake 2
                                Version 2.4

                           By Steve Streeting 1998
                         email: sjs@sadavar.demon.co.uk
                Web Page: http://www.telefragged.com/dmmanager/
------------------------------------------------------------------------------      

CONTENTS
========

1.	What is Deathmatch Manager?
1.1	Release Notes
2.	Installing Deathmatch Manager
3.	Using Deathmatch Manager
3.1     Server Configuration
3.1.1	Configuring Maps
3.1.2	Configuring Midi
3.1.3	Setting Up Messages
3.1.4	Configuring Sound Effects
3.1.5   Configuring Eraser Bots
3.1.6   Starting the Server
3.2	Client Configuration
4.	New CTF Options
5.      Troubleshooting
6.      References
7.      Acknowlegdements
8.      Comments
9.      Legal Stuff

-------------------------------------------------------------------------------------------		

1. What is Deathmatch Manager?
==============================

Deathmatch Manager is the complete tool for customising and running Quake 2
deathmatch and CTF games.

It includes a comprehensive GUI utility for managing your settings and
launching your server, and an underlying modification to the Quake 2
code (gamex86.dll) which applies your preferences and customisations
during play. ALL settings are configurable in the easy to use front end,
so there is never any need to type a single command line.

DMM includes the following features:

  - Map Lists
     Allows you to specify a list of maps to run, and the Quake 2 server
     will automatically cycle through them. Unlike some other map mods,
     it also allows you to start part way through the list if you come
     back after a coffee break!

  - Midi Music
     With DMM you can specify a list of MIDI files to be played on the server
     to accompany your DM / CTF games. The MIDI files are synchronised with
     the map list, so you can have specific music for the maps you like.

  - Death Messages
     Fully customise those messages that appear when players get killed,
     by others, or by their own devices!

  - Capture the Flag
     Deathmatch Manager now supports CTF play as well as deathmatch. The
     CTF code is automatic, so there are no parameters to specify to
     enable CTF play; it will come into use as soon as you start a CTF
     map.
     To play CTF, you must copy the pak0.pak from your ctf folder into
     the DMM folder. This pak includes all the CTF sounds, skins, maps
     and graphics.

     ** New for 2.1 - DMM supports 2 extra CTF features, namely custom CTF
     skins, and an 'Offhand Grapple', a grappling hook you can use while
     still holding other weapons.

  - Eraser Bots
     Need extra players to make up the numbers in CTF? Or playing alone?
     Bots are computer-controlled players who will fill those gaps.
     DMM includes the hugely popular Eraser Bot (see legal.txt) in its
     Quake 2 mod, and allows you to customise the bots and their settings
     from within the GUI.

  - GibStats Compatible Logs
     Deathmatch Manager will log everything that goes on to a log file if
     you so wish. This log can be loaded into GibStats (or any frag
     analyser conforming to the log standard) so you can analyse your
     performance in the most detailed way!
     See the 'References' section for where to obtain GibStats.

  - Visible Weapons
     When you wish you could have seen that your enemy had a BFG in his
     mitts before you decided to take him on, it's time to enable
     viewable weapons! Deathmatch Manager's gamex86.dll supports the
     VWep viewable weapons pack (pak2.pak). If you don't have this pak
     file, see the 'References' section for it's location. You'll need
     this pak file before enabling viewable weapons (it is not included
     in this archive because of size, and the fact that many people have
     it already)

  - Server & Client GUI
      Start the server and clients from hand GUI front ends. The server 
      utility lets you customise every aspect of DMM, and launch the server
      to your specifications.

      The client utility simplifies starting clients, and also downloads
      datafiles from the server (maps, skins, sounds) to ensure the client
      is up to date. It also synchronises the client MIDI with the server.
      

------------------------------------------------------------------------------


1.1 Release Notes
=================
Changes at Version 2.4
----------------------

 - Bug fixes:
	1. Fixed bot ping reloading - was only loading the first digit

 - Enhancements
	1. Eraser code updated to v0.992. This addresses a couple of bugs:
	    - Bot aiming for Chaingun and Machinegun
	    - Bots standing around uselessly sometimes
	2. Obituaries and CTF messages now have players names highlighted

Changes at Version 2.3
----------------------

 - Bug fixes:
	1. DMMClient fell over if the client midi file hadn't been created by the
	   server in time (if, say the client started first)
	2. 'Teamplay' option causes a runtime error in certain circumstances. In 
	   fact standard teamplay (by skin or by model) has now been removed anyway
	   in favour of the Eraser teamplay configuration (see enhancements)
	3. Dedicated servers didn't pick up timelimit / fraglimit / maxclients

 - Enhancements:
	1. Eraser bot updated to v0.991. Bots can now use the grapple, and there
           is also an unusual "camera" feature for watching the action. Try
	   "cam on" for a look.
	2. Added support for Eraser teams. Use the "Edit Bot Teams" button to edit
	   the teams, and "Team Spawning" to change which teams are spawned, both
	   on the Eraser Bots page of the server manager.
	3. Added a "Countdown" timer to the HUD. You now know how long you have until
           the timelimit runs out.
	4. Added support for CTF flags i.e. Force Join and Disallow Tech Powerups
	5. Added support for PPM (Plugin Player Models) VWep extensions. Previously
	   all models except for the Quake2 standard ones did not use VWep. v2.3
	   lets you configure extra models for VWep, as long as you have the extra
	   PPM-specific MD2 files (or a pak file with them in).


Changes at Version 2.2
----------------------

 - New Deathmatch Manager Client (DMMClient.exe)
     Handles the starting of client games, and also will automatically
     download maps / skins / sounds from the server prior to play when
     set up on a LAN (requires the server to share their Quake2 folder
     to the network)

     Client MIDI playing! (Again, on a LAN)

 - New "Randomise" option for maps and midi lists

 - Bug Fixes:
      - Unlimited Ammo option wasn't working
      - Using the offhand grapple after player was killed crashed Quake2
      - Offhand grapple didn't reset completely when fired into sky
          (required extra keypress)
      - Fixed typo on entry banner

Changes at Version 2.1
----------------------

 - Bug fix to GibStats logging (Suicides were not being reported in the 
   right format)

 - CTF Custom Skins
     Now DMM looks for red / blue versions of your own skin before forcing
     the standard CTF skins on you. See section 4 ('New CTF Options') for 
     details.

 - CTF Offhand Grapple
     Grapple while holding other weapons! See section 4.

Changes at Version 2.0
----------------------

Major changes to the code to implement:

gamex86.dll:
- CTF
- VWep
- Eraser Bots
- GibStats compatible logging (DM & CTF)
- Various bugfixes and enhancements to DMM, CTF and Eraser
        (CTF changes - made Capturelimit independent of Fraglimit)
	(Eraser Changes - sounds & logging
			- Increased randomness of bot choice
                        - Created alternative multiple specific bot spawning
                          mechanism (via specbots.sav) since launcher.cfg
                          multiple entries proved unreliable)

GUI:
- Eraser bot configuration page
- Server parameters are saved & restored automatically
- Added ability to load/save map and midi lists to files
- Added CTF, VWep, Log flags


Changes at Version 1.2
----------------------

Full incremental release to support Quake2 v3.14 (works with v3.12 and above). Includes 
all Id bug fixes, extra DM flags (e.g. fixed FOV, friendly fire), and supports 33 individual
death messages as introduced by Id, ranging from whether you forgot to let go of a grenade,
to the difference between a near miss and an a direct rocket hit.

I thought Id's messages were still a bit unimaginitive, so DMM is by default set up to
the ones I use. Customise as you like!

Also added an "Extra Params" box in the "Launch" page as suggested by a user, for adding
other options for particular sites if required.

Changes at Version 1.1
----------------------
This version is a temporary fix for DMM to work with Quake2 v3.13.

This is not a final release for v3.13, since the full source code has not yet been released
by ID. This 'fudge' is just enough for DMM to continue working. I will issue a full patch
after ID release the source code.

Changes at Version 1.0
----------------------
Fix to the DMFLAGS settings to ensure higher bit flags get set correctly. This probably
wasn't noticed by very many (if any) people since the higher bit ones are those least
frequently used (like infinite ammo - what fun is that? ;)

Changes at Version 1.0b
-----------------------
None - initial release.

------------------------------------------------------------------------------------------

2. Installing Deathmatch Manager
================================

Server Machine
--------------
After unzipping the archive, run SETUP.EXE. Choose to install DMM to a folder
DIRECTLY BELOW your Quake2 folder (e.g. c:\Quake2\DMM). 

IMPORTANT: DO NOT use spaces in the name of the folder to create, since Quake2
does not work properly if you specify a game dir with a space in it .

e.g.(Quake2.exe +set game "DM Manager" is interpreted as +set game "DM" by
Quake 2) I believe this is Id's problem since it doesn't work even if you
surround the game dir with quotes, as shown above. It doesn't matter if the
path to your Quake2 folder has spaces in it, just make sure that the folder
you install DMM into beneath it doesn't.

The install will copy the majority of files into this folder; the
exception is the WAV files which will be placed in the baseq2\sound folder
underneath your Quake2 folder.

Additional Files
================

As mentioned before, DMM supports CTF and VWep, but does not include the
PAK files needed to run them (because of size limitations). After installing
DMM, do the following:

1. Copy the PAK0.PAK from your CTF folder (under your Quake2 folder) to the
   folder you installed DMM into (usually DMM under your Quake2 folder).
   DO NOT copy it into your BASEQ2 folder!!! It has the same name as one of
   the main Id PAK files.

2. Copy the PAK2.PAK from the VWep archive into either the DMM folder or
   your BASEQ2 folder.

See the 'References' section to find out where to obtain these archives.

If you don't have access to the Internet, and cannot get hold of these files
elsewhere, then you can still use DMM, but you won't be able to play 
CTF or use the visible weapons option.


Client Machines
---------------
Install as per the server. When clients are started, they will grab the
maps / skins / sounds on the server if they are more up to date.

However, you will need to copy the CTF PAK0.PAK and VWep PAK2.PAK into the
client's DMM folders if you want to play using these options.

------------------------------------------------------------------------------


3. Using Deathmatch Manager
===========================

3.1 Server Configuration
========================

General
-------
To configure a Deathmatch Manager server (note that if you are playing on your
own, which you can feasibly do with the Eraser Bots, you need to start your own
server just for yourself), click on the "DMManager" shortcut on your programs
menu.

Use the GUI to set up all your settings (or just use the ones provided).
When you are ready to start your server, use the "Launch Server" button
at the bottom of the window.

------------------------------------------------------------------------------

3.1.1. Configuring Maps
=======================

DMM allows you to specify a list of maps for the server to cycle around while
you play.

When you start Deathmatch Manager, the window will default to the "Maps" tab,
showing a list of maps to be run. To add maps, type them in the box supplied,
and click "Add" (or press return).

For a quicker way to add custom maps, click on "Browse" (the Explorer icon).
This will give you a list of the BSP files in your Quake2\baseq2\maps folder.
Select as many as you like, using the standard <shift> or <CTRL> combinations
to select multiple items, and click "OK" to add them in.

Once you have a list, you can use the arrow buttons to move maps up or down
on the list, or the toilet button to ditch the map from the list.

When you run the modifications, Quake2 will automatically change maps at the
end of a DM session. When the list is exhausted, the server will jump back to
the first map on the list. If, at any time, you manually jump to a map that is
in the middle of the list, the server will note the point at which you jump
in, and continue the list from that point.

You can use the Open and Save buttons at the top of the tab to save and load
map lists. For example, you might want to save a CTF map list, a 4-8 player
map list, and a 16+ player list. Use these buttons to do so.

Use the "Randomise" button (the green question mark) to randomise the map list
if you get bored with the order.

-------------------------------------------------------------------------------------------

3.1.2. Configuring MIDI
=======================

DMM allows you to specify a list of MIDI files to play. Click on the "Midi"
tab to use this feature.

Adding MIDI files is the same as adding maps to the list. The difference is
that MIDI files must be in the DMM installation folder. Copy your MIDI files
in here to use them. Again, use the "Browse" button to add MIDI files easily.
Don't worry about long file names for MIDI files, they will work fine.

You can listen to the MIDI files both while in the "Browse" window, and when
in the main MIDI window by using the play / stop buttons in the window. Just
click on the MIDI file you want to hear and click on the play button.

Use the "Randomise" button (the green question mark) to randomise the MIDI list.

New for v2.2 - clients can now play MIDI, as well as the server. See section
4 for details of starting clients using the DMMClient program.

-------------------------------------------------------------------------------------------

3.1.3. Configuring Messages
===========================

DMM allows you to change those messages that Quake 2 sends when people kill
each other (or themselves!). Simply click on the "Messages" tab to edit them.

By default, the messages I use will be there. Just edit the text as
appropriate, using '$v' to represent the victim's name, and '$a' for the
attacker's name. Quake 2 will insert the names at run-time.

Click on the appropriate cause of death in the top section of the page, and
edit the message that appears in the box below.

There are 34 separate messages for suicides, environment deaths and
weapon-specific kills.

Do NOT use the attacker variable ($a) in suicide or environment deaths, since
there is no attacker! Your messages will not work properly if you do.

Don't get too extravagant with the messages; people don't have time to read
lengthy ones in the heat of battle! The limit is 100 characters, including
names, so aim for a limit of about 50 characters per message. This is easily
enough IMO. Messages can only be one line.

-------------------------------------------------------------------------------------------

3.1.4. Configuring Sound Effects
================================

This version of DMM allows you to alter the sound effects for picking up
weapons and items (separate sounds per weapon and category of item), and to
add extra sounds when players are killed.

Click on the "Sound Effects" tab to alter these sounds. 

To change a sound, click on the effect you want to change and either type the
name of the WAV you want to use (no path), or preferably use "Browse" to find
the one you want.

Note that to work in Quake2, sounds must be in WAV format, must be MONO and
8-bit. The configuration manager will play ANY wav sounds, so check / convert
formats using a WAV editor if you get problems. All the WAVs provided with
DMM have been converted already. Sounds must be in the "baseq2\sound"
subfolder underneath your Quake2 folder. The "Browse" option will only let
you select from this folder too.

------------------------------------------------------------------------------
3.1.5. Configuring Eraser Bots
==============================

New in Deathmatch Manager 2.0 is the support for the Eraser Bot. Please read
the legal.txt for details on conditions of Eraser's use.

The Eraser Bot tab in Deathmatch Manager lets you configure the list of bots
available to the server. By default, this will be one bot for each of the
standard Quake2 skins. You can edit the existing bots, or add new ones using
the bot page.

Editing a bot is simple - just double-click on a bot in the list. In the
resulting window, change the attributes as appropriate. To specify a
skin, use the "..." button next to the Model/Skin field to pick a .pcx file
to use as the skin. Be sure to pick the .pcx file without the _i as part of
the file name, since the _i files are the face pictures displayed on the
score boards.

Creating a new bot is almost the same; just click on "Add Bot" under the bot
list, and complete the details as in the "Edit Bot" window.

You can choose how to spawn the bots by using the "Bot Spawning" frame.
Select "Random" and specify the number of bots to pick a random set of
bots from the list. Or use the "Specific Bots" option, and specify the bots
you want by using the "Add" button next to the specific bot list (it will add
the currently selected bot in the bots list)

To adjust the skill of the bots, use the "Bot Skill" drop down list.

The "Bot Automatic Skill Adjustment" box switches auto skill adjustment
on / off - when on it means that the bot skill is increased when they are
killed, and decreased when they kill you.

The "Map Learning Off" option is to do with the way the Eraser Bot works.
It works from a series of 'route files' which tells the bot how to get around
the level. Deathmatch Manager comes with route files for q2ctf1, q2ctf2,
q2dm1 and q2dm2. When a map is entered, the Eraser bot usually tries to
determine if it needs to learn more about the map. If it does, it switches
learning on, and learns from your movements, saving what it learns as a new
or updated route file. This happens whether there are bots in the game or not.
This 'learning' feature takes up CPU time, so if you want maximum performance,
check the "Map learning off" box to ensure that the learning feature doesn't
kick in. However, with map learning off you will only be able to use bots on
maps which already have route files.

Bot Teams
=========

If you don't want to play CTF, but like DM teamplay, use the "Edit Bot Teams"
button on the Eraser Bots page. Make up any teams you like - if you like you
can have real player only teams by creating a team with no members (you and other
players can them join the team).

You can configure which teams are spawned at the start of the game by using the
"Team Spawning" button. During play, you can join a team by typing "join <teamname>"
at the command line.

------------------------------------------------------------------------------
3.1.6. Launching the Server
===========================

Once you have customised to your hearts content, click on the "Launch Server"
tab. In this page you can specify all the server options by clicking on
checkboxes and altering drop-down lists.

If there are other, more obscure options you like to set, type them in to the
"Extra Params" box. This must be expressed in correct Quake2 command-line
format, e.g. "+set logfile 1".

When you are ready, click "Launch Server". Quake2 will start and you will be
straight into the first map. Clients had better join quick! ;)

Note that by default "Viewable Weapons" is turned off. This is because you
will need the VWep pak2.pak to see viewable weapons (see section 2 on
installation for details).

Deathmatch Manager will create log files of the DM / CTF exploits to a log
file name <hostname><date>_<time>.log if you select the "Enable Logging"
option. These files can then be loaded into GibStats (see References) to give
you various reports and graphs of the performance of players / teams. A new
log file is created every time the server is started.

------------------------------------------------------------------------------
3.2. Client Configuration
=========================

To start clients, use "DMMClient.exe" located in the Deathmatch Manager
folder.

This program will start the Quake2 client, and it will also download maps,
skins and sounds from the server if the server holds later versions than
the client. This feature is only useful on a LAN, but since this is the
target platform for DMM, I expect most of you are using DMM for LAN games.

To enable this file downloading, the server must share it's Quake2 folder.
I hope you know how to do this, but if not, here's a quick guide for 95/NT:

On the server:
 - Make sure you have file & printer sharing installed (Network Control Panel)
 - Right-click on the Quake2 folder, and click "Sharing"
 - Click the "Shared As" radio button, and click OK.

If your server's id was "sinbad", you could then get to the quake2 share from
clients by using the sharename "\\sinbad\quake2".

When the DMMClient program starts, it asks for the location of the server's
shared Quake2 folder. Supply this in any of the formats shown (via a mapped
drive, or just via "\\computername\sharename".

You can cancel this prompt if you want, but bear in mind that the client MIDI
syncronisation also uses this share, and if it doesn't exist, you won't be
able to hear MIDI on the client.

Follow the on-screen prompts, and click "Start Game" to start up the client
game.


------------------------------------------------------------------------------
4. New CTF Options
==================

Deathmatch Manager introduces 2 extra CTF options:

  Custom Skins
  ============

  The only problem with CTF is the fact that you can't recognise the players
  when you see them. 

  DMM addresses this problem by letting you use your custom skins in CTF; the
  only restriction is that you must create red and blue versions of your skins.

  All you have to do is create red and blue versions of a skin. Skins are held in 
  the baseq2\players\<model> folder under your Quake2 folder, and are PCX files.
  Load them into a paint program and edit them as you like. Just make sure you
  stick to the original palette.

  Save the red and blue versions of the skin as the same skin name, but suffixed 
  with _r for the red skin, and _b for the blue one.

  Important: Every skin in Quake2 must have an associated 'index' picture (the
             small headshot that appears in the scorechart). These pictures are
	     called <skinname>_i.pcx

	     Although CTF does not display the headshots, you must still make sure
	     that headshot pictures are available for the _r and _b versions. They
	     do not need to be coloured red or blue, though. Just copy the original
             <skinname>_i.pcx file to <skinname>_r_i.pcx and <skinname>_b_i.pcx and
             all will be well.

   For example, if your skin was "sinbad" (my own skin), create a blue skin called
   "sinbad_b.pcx" and a red one called "sinbad_r.pcx". Make 2 copied of the
   "sinbad_i.pcx" file and call them "sinbad_b_i.pcx" and "sinbad_r_i.pcx". That's it!

   When playing the game, never select the _r or _b versions of the skins. Just use 
   the simple name of the skin (e.g. sinbad), and in DM you will be given the standard
   skin, but in CTF levels you will be given the red or blue version depending on what
   team you join. The selection is dynamic, so you will always get the right skin if
   you change teams or skins.

   Offhand Grapple
   ===============

   You can now use the grappling hook without switching weapons!

   Bind a key to "offhandgrapple" (e.g. type 'bind a offhandgrapple' at the console) to
   use it. The offhand grapple is exactly the same as the standard grapple, except that
   rather than having to hold down the key to keep firing / hang on, the offhand grapple
   key works as a toggle - tap the key once to fire the grapple out, and tap it again to
   let go. 

   This means you can use the grapple quickly without having to tie up a finger holding
   down a key all the time. If you fire the grapple and wish you hadn't, tapping the
   offhand grapple key again cancels the grapple.

   The standard grapple weapon is not affected by the change, it works in the same way,
   (although why you'd want to use it instead of the offhand grapple is a mystery!)
   
------------------------------------------------------------------------------
5. Troubleshooting
===================

Q. My server starts, but modifications don't seem to be working?
     A. You've probably included a space in the folder you installed DMM
        into. Remove the space and try again.

Q. Why have all the players got white cubes overlaid on them?
     A. You've enabled Viewable Weapons, but you haven't installed the
        VWep pak2.pak into your BASEQ2 folder. See "References" for details
        of where to get VWep.

Q. I get the message "Unable to spawn bot! Route table not found." Why?
     A. You have tried to spawn a bot for a level you do not have a route
        file for, and have checked the "Map learning off" feature on the
        bots page. Hence the bots cannot learn the level, so will not spawn.
        Uncheck "Map learning off" to allow bots to learn that level (you
        can turn map learning off again after they know the level well
        enough)

Q. Why do I get a message "local map version differs from server"?
     A. You have a copy of the map the server is running, but at a
        different version. Copy the .bsp file from the server (or the
        pak0.pak if it is a standard CTF map) and try again.


Q. Why is a player running around in the 'Grunt' skin in CTF?
     A. You've created _r and _b versions of the players skin, but have
        forgotten to create the _b_i  and _r_i versions too (or named 
	them incorrectly). See section 10 to see how to correct it. 
------------------------------------------------------------------------------
6. References
==============

VWep
----
Obtain the VWep pak file from http://www.telefragged.com/tsunami

Unzip the pak2.pak into your BASEQ2 folder, and enable visible weapons
in the DMM "Launch Server" tab to enable viewable weapons.


CTF
---
Obtain CTF from any official Id site (try http://www.idsoftware.com), or from
many ftp mirrors.


GibStats
--------
Obtain Gibstats (Quake / Quake2 log analyser) from
http://www.planetquake.com/gibstats

------------------------------------------------------------------------------

7. Acknowledgements
====================

Original Map Mod code - Jeremy Mappus (modified for DMM)
Eraser Bot            - Ryan Feltrin
VWep                  - Hentai
CTF                   - Zoid
------------------------------------------------------------------------------

8. Comments
============

Comments and feature requests (I'm not promising anything) to me at:
			
				sjs@sadavar.demon.co.uk

Check the following Web Page for updates to Deathmatch Manager:

				http://www.sadavar.demon.co.uk/DMM.html

-------------------------------------------------------------------------------------------

9. Legal Stuff
===============

See legal.txt

-------------------------------------------------------------------------------------------




