------------------------------------------------------------------------------ DeathMatch Manager for Quake 2 Version 2.0 By Steve Streeting 1998 email: sjs@sadavar.demon.co.uk Web Page: http://www.sadavar.demon.co.uk/DMM.html ------------------------------------------------------------------------------ CONTENTS ======== 1. What is Deathmatch Manager? 1.1 Release Notes 2. Installing Deathmatch Manager 3. Using DMManager 4. Configuring Maps 5. Configuring Midi 6. Setting Up Messages 7. Configuring Sound Effects 8. Configuring Eraser Bots 9. Starting the Server 10. Troubleshooting 11. References 12. Acknowlegdements 13. Comments 14. 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. - 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) ------------------------------------------------------------------------------ 1.1 Release Notes ================= 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 ================================ Upgrading from a previous version --------------------------------- It's best to uninstall the previous version of Deathmatch Manager before installing the new version. You can uninstall DMM from the Control Panel. If you want to keep your settings from the previous version, make a copy of all the .txt files in the folder before you uninstall it, and copy them back afterwards. 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 --------------- Quake2 clients do not have to have copies of most of the DMM files, since the server dictates all the game mechanics. However, certain data files are needed: - Clients must have copies of the maps to be played (in BASEQ2\MAPS) - Clients must have copies of the special sounds (in BASEQ2\SOUND) - Clients must have the CTF and VWep PAK files to play these options It's best to install DMM on clients anyway (including the 'additional files'), and start the clients as servers using the GUI. They can then just use the menus to join the machine who will act as the server. This is by far the simplest way of ensuring clients are running the right files. If you don't want to install DMM on the clients, then you can: 1. Start the clients as standard Quake 2 clients. Clients won't be able to play CTF games, and may not be able to see viewable weapons (depends if they have the VWep PAK2.PAK in their BASEQ2 folder) 2. Start the clients using the CTF client shortcut (if they have it). They will the be able to play CTF games as well as DM games (the server switches the rules appropriately. Clients will only be able to see the visible weapons (if the server has them enabled) if they have the VWep PAK2.PAK in their BASEQ2 folder. ------------------------------------------------------------------------------ 3. Using Deathmatch Manager ================== General ------- To start Deathmatch Manager, 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 DMM ONLY needs to be run on the server. Clients can just run standard Quake2, or the CTF client if they want to play CTF games (note - they can run the CTF client to play DM too; the server automatically switched between the two). Note that custom maps and custom sounds need to be copied to clients, however, as specified in the previous section. ------------------------------------------------------------------------------ 4. 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 or 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. ------------------------------------------------------------------------------------------- 5. 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. HOWEVER - MIDI files will ONLY play on the server. This is an unavoidable limitation, I'm afraid, since Quake2 was never designed to play MIDI files, so I had to add MIDI code to the gamex86 DLL. Since this only runs on the server, only the server machine will play music. If you're a LAN party, turn up those speakers! ;) ------------------------------------------------------------------------------------------- 6. 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. ------------------------------------------------------------------------------------------- 7. 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. ------------------------------------------------------------------------------ 8. 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. ------------------------------------------------------------------------------ 9. 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 _