*====================================================================*
* TeamFortress v2.6 Clan Update                         qwserver.txt *
*====================================================================*
Setting up a QW 1.64 TeamFortress server
=----------------------------------------=
The new QW allows us to do more powerful server settings in TF.
The new settings _always_ override any options that were set
in the code before compilation.

An advantage of this method, apart from the fact it makes it
easier for admins to operate their server, is that it allows players
to learn more about the server before they connect.

=--------------=
N.B QuakeWorld 2.0 supports the "localinfo", which works pretty much
    identically to the serverinfo, and has 32k memory for it. 
    So, we advise that you move all the TF keys to localinfo...
    you can stop using abbreviations now too, since there's heaps
    of room now.

=--------------=
Various toggleable options can be set on the server, as follows:

    "localinfo autoteam on"
    "localinfo autoteam off"
    "localinfo a on"			// Abbreviations
    "localinfo a off"
        Turn ON/OFF the Autoteaming.
        If it's ON, players who join will automatically be assigned to the 
        team with the lowest number of players in it.

    "localinfo teamfrags on"
    "localinfo teamfrags off"
    "localinfo t on"			// Abbreviations
    "localinfo t off"
        Turn ON/OFF the TeamFrags.
        If it's ON, player's frags will always be equal to their team's score.

    "localinfo fullteamscore on"
    "localinfo fts on"			// Abbreviation
        Turn ON/OFF the Full Team Score.
        If it's ON, player's frags will always be equal to their team's score.

    "localinfo spyinvis on"
    "localinfo spyinvis off"
    "localinfo s on"		  	// Abbreviations
    "localinfo s off"
        Turn ON/OFF the Spy's invisibility.
        If it's ON, Spies become invisible when they go undercover.
        If it's OFF, Spies change their skin/color when they go undercover.

    "localinfo grapple on"
    "localinfo grapple off"
    "localinfo g on"			// Abbreviations
    "localinfo g off"
        Turn ON/OFF the Grappling Hook.
        If it's OFF, players will never have access to it. If it's ON,
        players will have access to it on maps that don't forbid it.

	"localinfo respawn_delay 10"	// 10 Seconds
	"localinfo respawn_delay 5"	// 5 Seconds
	"localinfo rd 10"				// Abbreviations
	"localinfo rd 5"				
		Turn ON a Respawn Delay.
		You can set the delay to any numerical value you like. High
		Respawn Delays aren't much fun.

    "localinfo flag_emu on"
    "localinfo fe on"          // Abbreviation
        Turn ON Flag Emulation. 
        When this is on, TF will replace any TF goals using the 
        old Quake keys for flags with the new TF Flag. Good to turn
        on for the old TF maps, like 2fort4.

    "localinfo use_standard on"
        Turn ON Use War Standard.
        When this is on, TF will replace any TF Flags with the 
        new TF War Standard.

These variables can all be set using the one key, "temp1". The key is a 
bitfield, with the bits as follows:
			Respawn Delay 		    4
			Autoteam On			    64	
			TeamFrags On		    128	
			SpyInvis On			    512	
			Grapple On			    1024
            FullTeamScore           2048
            Flag Emulation On       4096
            Use War Standard On     8192
If any bit is NOT set, then that option is OFF.
For example, if you wanted to have the grappling hook, autoteaming, and
spyinvis on, you could do "localinfo temp1 1600" (64 + 512 + 1024 = 1600).

=--------------=
The "team" variable for each team can be set as follows:
	
	"localinfo team1 blue"
	"localinfo team2 red"
	"localinfo team3 yell"
	"localinfo team4 gren"
	"localinfo t1 blue"	// Abbreviations
	"localinfo t2 red"
	"localinfo t3 yell"
	"localinfo t4 gren"

		These set each of the 4 Team's "team" variables. 
		e.g. any player in Team 1 will have a "team" variable of "blue".

		N.B. Make sure the variable is not more than 4 characters.

Please note that you only need to do these if you want them to be
something other than "blue", "red", "yell", "gren". They revert to these
defaults automatically if the server keys are not set.

=--------------=
The teamplay options can be set using the teamplay variable,
which is also a bitfield, as follows:

	Bit 1:	    Teamplay On.
	Bit 2:	    Team-members take 1/2 damage from direct fire.
	Bit 4:	    Team-members take No damage from direct fire.
	Bit 8:	    Team-members take 1/2 damage from area-affect weaponry.
	Bit 16:	    Team-members take No damage from area-affect weaponry.
	Bit 32:     Team Equalisation : give advantage to team with less members.
	Bit 64:     Team Equalisation : give advantage to team with lower score.
	Bit 128:	Team-members only lose 1/2 armor from direct fire.
	Bit 256:	Team-members lose no armor from direct fire.
	Bit 512:	Team-members only lose 1/2 armor from area-affect weaponry.
	Bit 1024:	Team-members lose no armor from area-affect weaponry.
    Bit 2048:   Team-members take 1/2 mirror damage from direct fire.
    Bit 4096:   Team-members take full mirror damage from direct fire.
    Bit 8192:   Team-members take 1/2 mirror damage from area-affect weaponry.
    Bit 16384:  Team-members take full mirror damage from area-affect weaponry.

Area Effect Weaponry
	Anything which explodes, hurting people in an area around it.
	e.g. Rocket blasts, grenades.

Direct Fire
	Anything which does damage directly to one person.
	e.g. Shotguns, rifles, assault cannon, and nails.

N.B. QSpy sorts servers based upon the teamplay variable. For QSpy to be
     able to sort your server, make sure you put "?TF" after the teamplay
	 variable.

For example, if you wanted to have teammates take 1/2 damage from 
area effects, No damage from direct fire, and full team equalisation,
you'd set "teamplay 109?TF" (1 + 4 + 8 + 32 + 64 = 109).

The Team Equilisation gives an advantage to a team by altering the
amount of damage they do and take.  It is designed to be subtle, but
it can still help the losing team fight back. Not good for tournaments
though.

=--------------=
If you're running a server which allows players to injure their 
teammates, you should probably setup the AutoKicker.
The AutoKicker kicks any player in the game that kills a set
number of teammates within a set time limit.
You can set both these variables as follows:
    "localinfo autokick_time 60"   // 1 minute Time period
    "localinfo akt 60"			    // Abbreviation
        The time period for the AutoKicker, in seconds.
        Players will be kicked if they kill the set amount of 
        teammates within this time.

    "localinfo autokick_kills 5"   // 5 teamkills b4 being kicked
    "localinfo akk 5"			    // Abbreviation
        The number of teammates a player has to kill within the
        autokick time period to trigger the autokick.

So, if you set the AutoKicker time period to 60, and the
number of teamkills to 5, any player who kills 5 or more
teammates within 1 minute would be kicked.

=--------------=
You can restrict the number of players in each team that can play
the same class.
    "localinfo cr_scout 3"     // No more than 3 scouts on a team
    "localinfo cr_sniper 3"    
    "localinfo cr_soldier -1"  // No soldiers on any team
    "localinfo cr_demoman 3"   
    "localinfo cr_medic 3"     
    "localinfo cr_hwguy 3"     
    "localinfo cr_pyro 3"    
    "localinfo cr_spy 0"       // Redundant. (infinite spies allowed)
    "localinfo cr_engineer 3" 
    "localinfo cr_random 1"    

    "localinfo cr_sc 3"        // Abbreviations
    "localinfo cr_sn 3"    
    "localinfo cr_so -1"  
    "localinfo cr_de 3"   
    "localinfo cr_me 3"     
    "localinfo cr_hw 3"     
    "localinfo cr_py 3"    
    "localinfo cr_sp 0"    
    "localinfo cr_en 3" 
    "localinfo cr_ra 1"    

Setting any class's limit to -1 prevents anyone from playing that class.
Setting any class's limit to 0 is the same as not specifying that class's
restriction at all... no prevention on the number of players playing that class.

N.B. RandomPC is considered a separate class. If the Soldier limit of 2,
     a team might still have more than 2 soldiers at one time, if a player
     somewhere is a RandomPC, as a soldier.
     So, if you want to rigidly enforce the class limits, for clan battles or
     whatever, prevent anyone from playing RandomPC.
     e.g.
        "localinfo cr_random -1"
        "localinfo cr_ra -1"   // Abbreviation

=--------------=
Server administrator's can give other trusted players "admin" passwords,
which gives them the power to perform admin commands without rcon.

Admin Passwords
    To enable player-admins, you must recompile the code.
    Edit the options.qc file. There's a line like this:
        //#define ADMIN_PASSWORD  ""
    Uncomment it, and put in your desired password. e.g.:
        #define ADMIN_PASSWORD  "tfrocks"
    Once this has been done, you simply give this password to
    the people you want to allow admin access to.
    
    The admins must put their password into a client setinfo
    key called "adminpwd". E.g. each admin would do this
    command in the console:
        setinfo adminpwd tfrocks
    This must be done BEFORE joining the TF server.
    As soon as the player joins, TF will recognise the admin
    password, clear it to prevent others seeing it, and then
    mark that player as being an admin.

Admin Commands
    Any admin can perform these commands.
    "countplayers"
        Simply displays the total number of players in the game,
        and how many are in each team.

    "kick"
        Cycles through the players in the game, asking you if you
        want to kick each of them. If you do, type "yes".
        If not, use the "kick" command again to cycle to the 
        next player.

    "ceasefire"
        Toggles cease-fire on/off. While cease-fire is on, players
        cannot move or shoot.

=--------------=
Finally, the maps the server can cycle through are now defined in cfg files.
Create a directory under the quake\fortress directory called "qwmcycle".
In this directory you can put cfg files that the patch will use.

The directory, qwmcycle, can be overridden by setting the "cycledir"
or "md" localinfo keys to an alternative directory.
e.g
    "localinfo cycledir server1" 
    "localinfo cd server1"         // Abbreviation
    Both make the server take it's map cfg files from the 
    fortress\server1 directory.

Each cfg file should be called "mapX.cfg", where X is the map number in
the map loop. 
E.g. If you wanted to cycle between three maps (2fort_32, storm1, well6), you 
	 would make 3 cfg files as follows:
		map1.cfg	which contains the following line:
						map 2fort_32
		map2.cfg	which contains the following line:
						map storm1
		map3.cfg	which contains the following line:
						map well6
	
NOTE! At the end of the list, you _MUST_ create another cfg file,
which consists of one line which sets localinfo n 0.

E.g. in the above example, you would also need this:
		map4.cfg	which contains the following line:
						localinfo n 0

And last, you must put a map command in your server.cfg file which
changes map to the first map in the list, and a localinfo n 1 to prevent
the first map playing twice
E.g. in the above example, at the end of your server.cfg you would put:
		map 2fort_32
		localinfo n 1

There is no limit to the number of maps you can cycle between. You can also
use the cfg file to change any server details. Lets say that in the above
example, you wanted to only allow 16 players onto storm1, and 32 onto the rest.
You would change the following files:
		map2.cfg	would become:
						maxclients 16
						map storm1
		map3.cfg	would become:
						maxclients 32
						map well6

If you want to make a server rerun the same level over and over again,
you will still have to make a map1.cfg that contains a map command, and
a map2.cfg that sets localinfo n 0.
	
N.B. Make sure all the maps in the list are spelt correctly and that they
     are in your server's map directory. If they're not, the server will 
     crash when it tries to enter the map.

N.B. The "n" localinfo key stores the current map number in the list. If
	 you want to jump around the levels, you can just set the key to 
	 (desired level number - 1).
	 e.g. if you wanted to jump to map 3 in the list, enter this:
				localinfo n 2
	 	  and then end the level.

=---------------------------------------------------------------------------=
TEAMFORTRESS v2.6 Clan Update    		27/6/97
TeamFortress Software Pty. Ltd.
Company WWW: http://www.teamfortress.com/
TF Web Site: http://www.planetquake.com/teamfortress