tttop2.JPG (29557 bytes)


Help Contents

Player Info
1. Your /Quake2/lmctf/ directory
2. Binding keys & configs
3. Position info (autotext) & compass
4. Team-radio sounds
5. Local voice sounds
6. The Gamespy tab
7. Eraserbots
8. Gibstats
9. Clan model & skin add-on paks

Server info
1. The GUI server tool
2. The LM server for DM & CTF
3. Server options
4. The rcon
5. Tournament mode
6. Referee mode
7. Practice mode
8. Implementing clan skins & models
9. How to implement gibstats

Editor Info
1. Creating clan model paks
2. Creating clans skin paks
3. Creating local voice sounds
4. Creating team-radio sounds
5. Custom entities

General
Loki's Minions Contacts and Credits
 



 
 
Player Info
  1. Your /Quake2/lmctf/ directory 
We are looking at /Quake2/lmctf/ -- Note: Do not put the lmctf directory in /Quake2/baseq2/ Don't forget to make sure you're using at least Quake2 version 3.16 and you'll want Gamespy 2.01.     
/ent/ - edits to entity placement in maps (editor section 5)
/maps/  3d party maps are placed maps here
/pics/  portraits of models and skins must be copied into here (editor section 1)
/players/  new clan skins and models are added here, like /lmctf/players/daemon/ (editor section 1)
autoexec.cfg - Important! (player section 2)
config.cfg - ignore - it rewrites after every session
server.cfg - for running a server, this is your config file 
skins.ini - where server specifies skins & models
pak0.pak - id's Q2CTF maps 
pak4.pak - LMTE features 
pak5.pak - lmctf01 to 10 maps, skies, textures
pak6.pak - lmctf11 to 20 maps, skies, textures
motd.txt - message of the day text; edit as you please
help.txt - server may edit LMTE help menus
maplist.txt - edits map cycle; to override, type gamemap lmctf15 in console
 

2. Bindings Keys & Configs
If you're having problems binding commands for LMTE, create a new text document (using notepad) called precisely autoexec.cfg. Place it into your /Quake2/lmctf/ directory. In it you may put commands and bindings. It will set your bindings whenever you launch LMTE.

If you're using a Gamespy 1.52 you should upgrade to 2.01 or you might experience a stall in the loading process (right before map). If this happens rename the autoexec.cfg as a new file called yourname.cfg, delete the /lmctf/autoexec.cfg and put it in /baseq2/ (so Gamespy will find it). It won't automatically launch unless it's activated within Gamespy (see Gamespy section). If you are not using Gamespy, type in the console, exec yourname.cfg.
 

// more bindings -- go in Quake2/lmctf/autoexe.cfg 
//special command binds    
bind x "cmd team red"   
bind x "cmd team blue"   
bind x "cmd flagstatus"   
bind x "cmd ctfmenu"  
bind x "drop artifact"  
bind x "drop flag"  

// radio mode commands (either command works) 
bind x "radio "0" 
bind x "radio off" 
  
bind x "radio "1" 
bind x "radio on" 
  
bind x "radio "2" 
bind x "radio text" 
  
bind x "radio "3" 
bind x "radio both" 
  
//camera modes 
bind x "observe 1" 
bind x "observer 0" 
bind x "togglecamera" 

//retrieving game stats 
stats <playername> 
statsall 

// offhand-grappling hook command  
bind x "+hook"  

//(inferior) normal-style grapple   
bind x "use grappling hook"  
 

Autotext and compass commands
Team radio commands
Local voice commands
The Bind is the good site devoted to CTF commands and config strategies.


3. Position info (autotext) & compass
Note the "%p" binding is an enhanced autotext function that substitutes your present location in the map with a description.  For instance if you bind "p" "say_team" "I have flag am near %p" and you are standing near where quad respawns then your team reads, "I have flag and am near the quad hole."

 Command / Text message appears
"say_team" "Available Rune %p" - Available Rune in the blue basement
"say_team" "Enemy flag carrier located %p" - Enemy flag carrier located in red base
"say_team" "Base is clear: %f" - Base is clear: Flag is in base
"say_team" "Hello %v" - Hello [HD] Hurr|cane
"say_team" "Our flag carrier is %c" - Our flag carrier is in lower red hall
"say_team" "Does anyone care that I have %a?" - Does anyone care that I have 100 armor?
"say_team" "I'm on defense with %t" - I'm on defense with Haste rune
"say_team" "I have flag and am at %h" - I have flag and am at 12 health
"say_team" "Can no one to challenge the %n?" - Can no one to challenge the blue team?

compass mode commands (either command works)
"compass off" or "compass 0"
"compass 1" or "compass on"
"compass 2" or "compass facing"
"compass 3" or "compass flag" (points to friendly carrier)
 

4. Team-radio sounds
The following are LM team-radio sounds, audible messages that broadcast to all teammates. Servers may allow for team-radio sound customization detailed in the editing section.
 
Command - Your team hears
"play_team" "attack" - Offense, attack now
"play_team" "attack10" - Attacking in ten seconds
"play_team" "capit" - Cap it already
"play_team" "clear" - Base is clear
"play_team" "defense" - Need defense
"play_team" "escort" - Got the flag, need escort
"play_team" "incoming" - Incoming attack
"play_team" "overrun" - Base is overrun
"play_team" "q60" - Have quad, respawn in 60 seconds
"play_team" "quad" - Incoming quad
"play_team" "qattack" - Get quad and attack
"play_team" "qwaiting" - Waiting for quad
"play_team" "ready" - Ready on offense
"play_team" "recover" - Recover our flag
"play_team" "regroup" - Fall back and regroup
"play_team" "roger" - Roger
"play_team" "status" - Requesting base status
"play_team" "work"  - Good work team!
 

5. Local Voice Sounds
The following are LM local voice sounds, audible voices that broadcast to players nearby. Servers may allow for local voice customizations detailed in the editing section.
 
 Command - Players nearby hear
"play_voice" "damn" - Damn!
"play_voice" "escort" - I need escort!
"play_voice" "followme" - This way!
"play_voice" "getflag" - Go get the flag
"play_voice" "goodshot"  - Good shot
"play_voice" "gotcha"  - Gotcha
"play_voice" "laugh"  - hehe
"play_voice" "silly"  - <burp>
"play_voice" "stopshoot" - Stop Shooting me!
 

6. The Gamespy Tab
Use the tab included in your LMTE v4.0 zip, or download the LM tab. Launch GameSpy. Go to the "View" menu, highlight "Custom Tabs," click "Import" and browse/select the custom tab file. An LM tab should be available next to your other tabs. Right click on it, select properties to alter the settings in the dialogue box.   

You may name tab anything you wish but the +set game lmctf line is a MUST.  

If you do not have Gamespy 2.01 and cannot put bindings in your autoexec.cfg you may automatically execute /baseq2/yourname.cfg  through this window or manually in the console: exec yourname.cfg  (see section 2) 
  


7. Eraserbots
NOTE: The Eraser bot routes are not ready for the July 15 release of TE 4.0. They expected to be finished "real soon." We are planning to support Eraserbots in our own code but that will take some time. It will be implemented later than "real soon." In a month or so.

You will not be playing with any of Loki's Minion CTF code, not yet at least (no offhand grapple, no special laser fire, etc....) until we port Eraser code into LMCTF a project we're saving for later day. You will be using THREEWAVE CTF that ERASER & CRBot are merged with. You will only get:  

You've need Q2CTF, the latest version of Quake 2 and LMCTF.
     
    LMCTF4.0 and the 3.0_maps Available from our downloads page if you don't have them already.
    Three Wave CTF around 11 +megs.
    CTF Bot Eraser & CRBotv1.10  support CTF
    QPed Any PAK utility will do though.
     
    1. For ERASER use the Pak Explorer to extract the 'pics' directory from the pak5.pak into the Eraser folder. (This is the one that came with Eraser) Then delete the pak file. (pak5.pak) -- This is moving the Eraser Console background so its not overwritten.

    2. For Eraser & CRBot copy pak4.pak & pak5.pak and pak6.pak from the LMCTF folder into the Eraser or CRBOT folder. (Watch your drive space, you're looking at an extra 100 megs.)

    3. To change maps, run your favorite CTFBot, go to the console & type:  map LMCTF05 (where xx = 01 through 10) or your id ctfmap, or 1st person map of your choice.

You'll see the new Loki logo's for the Wolf and the Lion in place of wherever the Hammer & Bolt were. (on any CTF map now. Including those of Threewave.) If this bothers you, you can either move the Loki CTF pak files into a separate directory, or rename the '.pak, extension to something else. If you want the old CTF textures back. (this will disable all the Loki's Minion stuff INCLUDING the MAPS! Unless you extract them!) All your old commands for Grapple, and weapon switch, etc. will be the same as before. The icons will still be the hammer & bolts. (i.e., team indicators)  ERASER path.nodes.

99.9 % of this came from FREAKBOY. So a BIG Thanks goes to him for all of the hassle.   -Floyd
Der Kommissar updated this for LM's tutorial (mostly cosmetic changes) If there is anything wrong, please tell him.


8. Gibstats
Currently Gibstats does not allow players to retrieve stats while in the game. What LMTE does allow is the ability of players to retrieve stats via the commands stats <player name> to view anyone statistics or statsall to spy everyone's doings.


9. Clan model & skin add-on paks
Players merely need to extract the player add-on paks into /lmctf/player/ directory and copies of portrait pictures into /lmctf/pics/. For instance, the Demonhordes.zip would extract into /lmctf/players/daemon/ and /lmctf/players/rino/. The servers skins.ini file determins which skin will be used.
 
Server info
1. The GUI server tool
The files LMCTFGUI.EXE and LMCTFHLP.HLP must be in the Quake 2 directory, and the SPIN.VBX and VBRUN300.DLL files must be either in your Windows system directory or in the Quake 2 directory as well.

NOTE: The GUI tool is not ready for the July 15 release of LMTE 4.0. It is expected to be finished "soon." Sorry.


2. The LM server for DM & CTF
Unzip the zip file into your Quake2 directory. If you do not already have VWEP, download it and unzip it into your Quake2 directory.

We recommend downloading the LMTE GUI tool for Servers (see above). It will configure and run your server for you by showing you a dialog box with check boxes for each option you may want.  This is only available for Windows 95 and Windows NT.

To run, unpack the lmctf3.0.exe file into your Quake 2 directory. If you are using pkunzip, don't forget the -d parameter.  You should now have an "LMCTF" subdirectory of Quake 2. Next, read the lmctf.txt file that comes with the zip file. It contains important information on configuring your server. There are a few important files to look at: The "ent" subdirectory contains all the "override" entities that improve the id maps to better support CTF.

If you want to support id CTF maps, you will need to copy the CTF "pak0.pak" into your LMCTF directory.


3. Server options
Server options are changed by selecting the desired value in the menu, and then using the inventory use key, which will either set that value (in the case of timelimit/fraglimit) or toggle the value (dmflags/ctfflags). All the DMFlags, CTFFlags, time limit, and fraglimit are changeable via a referee menu, toggling individual flags by name.  
 
Flags are just bits in a larger variable. To set them, find the variable you want to set flags for, such as CTFFLAGS. Find the options you want to set, such as CTF_WEAP_BALANCE and CTF_OFFHAND_HOOK. Add the associated numbers together. In our case CTF_WEAP_BALANCE has a value 1, and CTF_OFFHAND_HOOK has a value 16. We add them to get 17. Set the variable equal to this number: set ctfflags 171
 
// dmflags->value flags
#define DF_NO_HEALTH 1
#define DF_NO_ITEMS 2
#define DF_WEAPONS_STAY 4
#define DF_NO_FALLING  8
#define DF_INSTANT_ITEMS 16
#define DF_SAME_LEVEL 32
#define DF_SKINTEAMS 64
#define DF_MODELTEAMS 128
#define DF_NO_FRIENDLY_FIRE 256
#define DF_SPAWN_FARTHEST 512
#define DF_FORCE_RESPAWN 1024
#define DF_NO_ARMOR 2048
#define DF_ALLOW_EXIT 4096
#define DF_INFINITE_AMMO 8192
#define DF_QUAD_DROP 16384
#define DF_FIXED_FOV 32768

// CTF CODE -- LM_JORM
// ctfflags->value flags
#define CTF_WEAP_BALANCE 1
#define CTF_ALLOW_INVULN 2
#define CTF_TEAM_RESET 4
#define CTF_TEAM_NOSWITCH 8
#define CTF_OFFHAND_HOOK 16
#define CTF_NOVOICE 32
#define CTF_NO_GRAP_DAMAGE 64
#define CTF_TEAM_NOTEAMS 128
#define CTF_FLAGS_NOFLAGS 256
#define CTF_SCORE_BALANCE 512

// refset->value flags
#define CTF_RED_FLAG_FROZEN 1
#define CTF_BLUE_FLAG_FROZEN 2
#define CTF_GREEN_FLAG_FROZEN 4

//servers in general probably don't want to permanently set anything in refset.
//these are for practice mode purposes.  Each bit locks a flag in place.
//Green flag isn't implemented, but is there for future expansion.
 
// Flags for runes
#define RUNE_DAMAGE 1
#define RUNE_RESIST 2
#define RUNE_HASTE 4
#define RUNE_REGEN 8

The help menu is a multi-page menu that reads all it's information out of a "help.txt" file in the lmctf directory.  This will allow server administrators to add any text they want to our existing help.  It also means we can change player help without recompiling the server.


4. The rcon
The rcon may do any server console command remotely using the standard:

The rcon may also use special options in the referee menu, such as saving the currently configured server options to the server.cfg file.  Rcons log on as referee with the command: referee put_the_correct_rcon_password_here
 
Remote opening of closed server - Due to a problem with the implementation of rcon control, server passwords cannot be set to "" (clear).  LMTE allows you to clear the server's player password via the referee menu, if you are an rcon.  This allows a server to be opened or closed by the rcon without having to restart the server.
 

5. Tournament mode
Players and referees log on, change to correct colors. The ref starts a match after configuring server and setting the time limit, then picks a map.  The server loads this map right away, and an automatic announcement warns 60 seconds till match begins.  In this 60 seconds, players may NOT pick anything up, and any kills they get are irrelevant.  As the 60 seconds is nearly up, you see a 30 second written warning of impending match, then a 15 second written warning, then a auditory countdown from 10 to 1.  At 0, you hear a voice shout, "GO!", and you respawn, your stats and kills wiped blank, and starting in a team spawn point as if you just joined the server.

Game play proceeds till the goal of the match is achieved (either time limit or fraglimit).  If the goal is fraglimit, you get no warnings (a rare form of game, only supported for the freakish chance someone wants it).  For time limited games, the far more common form, written warnings are given every minute detailing how long till the match ends. When the match nears completion, you hear the countdown of 10 to 1 (clocked properly to match with the number or seconds), then a load horn/buzzer and message telling you which side has won.  Players' scores are immediately frozen, and though they can still fight and capture the flag, none of it counts.  The level lasts an additional 5 minutes like this, allowing the referee to verify the captured log, allowing players to take screenshots of the scoreboard, and allowing people to "stats" other players.  At the end of 5 minutes, the server switches back to normal play mode and moves to the next map.
 
At any time, the referee can restart the match, be it during countdown, the game itself, or the post-game. During play time, if a player is disconnected and reconnected, that player will retain all stats.

At the end of the match, the server sits in 'intermission' mode, allowing players (and refs) to retrieve stats information via stats/statsall, and to take screenshots, etc.  The referee can abort this wait early via the referee commands (by setting a new level or match in progress).


6. Referee mode
To enable referees on a server, the server must add to server.cfg: set refpassword put_referee_password_here  A referee logs on using the syntax: referee put_referee_password_here Referee abilities are primarily accessible via the ctfmenu function. These abilities include:


7. Practice mode
Along with all the referee options a this allows referee or rcon to freeze one or both flags, allowing one team to play offense while the other plays defense, by preventing the defensive team from taking the offense team's flag. Referee may find the pause function useful in calming down excitable players.


8. Implementing clan skins and models (add-on paks)
Skins.ini is an OPTIONAL file letting server operators override which skins/player models are displayed for which team.

The file is very simple.  It contains two sections, one for red, and one for blue.  Each is a list of the exact directory where the skin in question can be found.  Since all skins MUST be in a subdirectory of quake2/players, if you wanted to add the female skins "jenny.pcx" to the list of valid skins for the red team, you would write the following in the skins.ini file:
        [red]
        female/jenny

Note that the above entry is the exact same thing as what your "skin" console variable is set to in order to use the skin in deathmatch mode.

The "skinset" console variable is still supported on LM servers, and serves two purposes.  First of all, if NO skins.ini file can be found, the skinsets work the way they did under 3.0, giving current servers backward compatibility. Secondly, even if you are using a skins.ini (highly recommended), the skinset variable determines which sounds are played for red and blue captures.  A new skinset, skinset 3, was added so the "war" sounds could be supported.


9. Implementing Gibstats
Setting set stdlogfile 1 in your server.cfg turns on standard logging.

set stdlogname "lmctf/Standard.log" names your standard logfile as being Standard.log in the lmctf/ directory under quake2. _Unless_ you set logrename.  See below.

set logrename "lmctf" overrides stdlogname.  If this variable is set to anything other than "" logging will attempt to create a directory matching this name, and store logfiles there. These logfiles will be named matching the current date, and as a result, will be automatically rotated on a daily basis.  For example, the logfile today would be: quake2/lmctf/13Jul1998.log. The logfile is closed at the first end of level which occurs after midnight.

set logfile 1 enables console logging, to lmctf/qconsole.log.  This is a standard feature of quake2, and is not modifiable by us, but servers may wish to be aware of this feature.

Automated logfile renaming (either daily or per level) If server sets (in server.cfg): set logrename "directory_name" logs will then be autonamed by date, and closed at midnight each day. The purpose of this is to enable automated processing of gibstats.  Logs will appear in directory matching directory_name, which might typically be set to "lmctf" or "lmctf_logs" or some such.
 
Editor Info
1. Creating clan models paks
The skins.ini file (see server section 8) can be used to allow server operators to support new skins (see below) OR new models.  The requirements of the add-on authors are different depending on which you want.

Adding models requires a few more files.  You not only need to have the skins, as above, and the portraits in the pics directory, but you also need to support VWep, the sounds, and supply the model itself.  For a "Daemon" model, here is a list of the files you might need:

        quake2/players/daemon/a_grenades.md2
        quake2/players/daemon/bump1.wav
        quake2/players/daemon/death1.wav
        quake2/players/daemon/death2.wav
        quake2/players/daemon/death3.wav
        quake2/players/daemon/death4.wav
        quake2/players/daemon/dh-bd1.pcx
        quake2/players/daemon/dh-bd1_i.pcx
        quake2/players/daemon/dh-rd1.pcx
        quake2/players/daemon/dh-rd1_i.pcx
        quake2/pics/dh-bd1_i.pcx
        quake2/pics/dh-rd1_i.pcx
        quake2/players/daemon/drown1.wav
        quake2/players/daemon/fall1.wav
        quake2/players/daemon/fall2.wav
        quake2/players/daemon/gurp1.wav
        quake2/players/daemon/gurp2.wav
        quake2/players/daemon/jump1.wav
        quake2/players/daemon/pain25_1.wav
        quake2/players/daemon/pain25_2.wav
        quake2/players/daemon/pain50_1.wav
        quake2/players/daemon/pain50_2.wav
        quake2/players/daemon/pain75_1.wav
        quake2/players/daemon/pain75_2.wav
        quake2/players/daemon/tris.md2
        quake2/players/daemon/w_bfg.md2
        quake2/players/daemon/w_blaster.md2
        quake2/players/daemon/w_chaingun.md2
        quake2/players/daemon/w_glauncher.md2
        quake2/players/daemon/w_grapple.md2
        quake2/players/daemon/w_hyperblaster.md2
        quake2/players/daemon/w_machinegun.md2
        quake2/players/daemon/w_railgun.md2
        quake2/players/daemon/w_rlauncher.md2
        quake2/players/daemon/w_shotgun.md2
        quake2/players/daemon/w_sshotgun.md2
        quake2/players/daemon/weapon.md2
        quake2/players/daemon/weapon.pcx

Then, in your skins.ini, you might add:

        [red]
        daemon/dh-rd1

        [blue]
        daemon/dh-bd1

Don't forget to tell server operators which "skinset" setting you want them to use so the proper capture sounds are played.  In our case, we might want "skinset 1" so DEMON ROARING sounds are played.
 

2. Creating clans skin paks
The skins.ini file (see server section 8) can be used to allow server operators to support new skins OR new models.  The requirements of the add-on authors are different depending on which you want.

To add new skins to a server, merely drop the skin and the portrait into the male or female directory on the server (quake2/players/male).  IN ADDITION, drop the portraits into the pics subdirectory, or else players will not be able to see their self portraits (quake2/pics).  As an example, for a "jenny.pcx" skin you make, you would have the following NEW files on your server to use it:

        quake2/players/female/jenny.pcx
        quake2/players/female/jenny_i.pcx
        quake2/pics/jenny_i.pcx

Next, add the following entry into your skins.ini.

        [red]
        female/jenny

Now, your "jenny.pcx" is a valid skin for players on the red team to use.  Anyone with autodownload will automatically grab this skin.  You might wish to publish this skin otherwise, though, to make it faster for people to grab the needed skin.


3. Creating local voice sounds
Sounds should be 16- bit (8-bit will work though) at 22,050 MHz. Put them in a /lmctf/voice/ directory for all the players and the server in question. Use male_ and fem_ as prefixes if you want it to work for different sexes. Local voice sounds now allow you to prefix a "_" in front of the sounds to specify that the sound is non-gender specific. Example: play_voice _hello would play the wav file _hello.wav  Note the sound file itself must have the _ in front of it. Also, you can specify to play the male gender: play_voice male_hello would play male_hello.wav


4. Creating team radio sounds
Sounds should be 16-bit (8-bit will work though) at 22,050 MHz. Put them in a /lmctf/radio/ directory for all the players and the server in question. Use male_ and fem_ as filename prefixes if you want it to work for different sexes. Team radio sounds now allow you to prefix a "_" in front of the sounds to specify that the sound is non-gender specific. Example: play_team _die would play the wav file _die.wav  Note the sound file itself must have the _ in front of it. Also, you can specify to play the male gender: play_team male_die would play male_die.wav


5. Custom Entities
Two new entities have been added to LMCTF. They are info_position, which provide room/area descriptions for autotext, and func_explosive, which are exploding walls with the ability to respawn. Worldcraft users can download the lmctf.fgd file which contains all the CTF and LMCTF entities, QER user can download the lmqer.zip file which contains all the CTF and LMCTF entities, Qoole user can download the lmqoole.zip which contains all the LMCTF entities, and finally BSP users can download lmbsp.zip which contains all the LMCTF entities.


General
 Contacts and Credits 


All items on this web site are under copyright © 1998 by Mike Scandizzo
Quake II is a registered trademark of id Software ® 1998
12-15-98