# Pure CTF Manual

Pure CTF v1.51 by Methabol Pure CTF - CTF.SE

This CTF patch is for those of us who like me still love QW and who prefer to play the original CTF without "cute effects", gazillions of new runes, new weapons or other things that changes gameplay too much. What it do have is all the bugfixes Zoid never got around to and lots of useful features to simplify server configuration and setup of clan fights. Every new feature, and even some of the bugfixes that might affect gameplay, are totally optional. This is intended to be the Pure Thing.

# Index

Server configuration
Quick Installation or upgrade | - | Installation instructions
- Installing from scratch | - | Install Pure CTF
- Upgrading | - | Upgrading from Pure or any other CTF patch.
- Easy setup table | - | Quick guide to server settings setup.
Admin Functions | - | Admin modes, levels and commands
Server Modes | - | The major server modes.
Server Settings | - | Server.cfg settings.
The freeze function (v1.51) | - | An enhancement to the pause function in QW.
Anticheat features (v1.51) | - | Several anticheating measures.
Paintball Mode | - | The paintball and practice mode.
The Map queue | - | Configuring the map queue.
Message of the day (MOTD) | - | Configuring MOTD
Ping ban | - | Using the Ping ban feature
CTF Rank | - | The ranking system CTF Rank
CTF Showdown | - | CTF Showdown Mode and commands
Player Settings and commands
Player Command reference | - | Commands for the player.
Player Settings | - | Player Setinfo Settings
Patch info
Optimizations | - | Info about optimizations
Fixed Bugs | - | Info of the Threewave CTF bugs fixed.
Todo and known bugs | - | Coming attractions.
History | - | Version history
Related files
server.txt | - | Original Threewave CTF doc
pingstat.txt | - | pingstat doc

# Credits

Methabol for nearly all of the new coding, most of the bug fixes and features. Also made this documentation and the web page. [LoRD]Tar for some help and bug fixes. (The "floating flag" bug and the "multiple capture" bug.) [LoRD]Tar and [LoRD]Conar for CTFRank. [LoRD]Tar for the original CTF Showdown mod, based on the QWDuel mod by Fang^FAQ^. Max Tauntor for the toss rune code. Possum for the dropquad/ring code and some misc. ideas I got from his Random CTF patch. Steve Jankowski for the original Qstat. ...and of course Zoid and the rest for the original Threewave CTF. Credits for this can be found in the original Threewave CTF documentation Thanks to Overfiend, U_Discharge, Madman, Lakris, Harvester and others for useful suggestions.

# Quick Installation or upgrade

First unzip the pure CTF zip into your CTF server directory. Note: this will not replace your old server config or your MOTD file, so you won't risk losing any settings. Check the upgrade or new install sections below.

Note: You don't need to convert the ID maps to use them with Pure CTF. All converting is done on-the-fly by the QuakeC code. If you run with converted maps anyway (e.g. Q-mans conversions), Pure CTF will detect this and not change anything, but then you waste 43 megs of HD space. If you already have converted them you can safely remove this files from the quake/CTF/maps/ directory: e?m?.bsp dm?.bsp end.bsp *.ent

## Installing from scratch

- If you want to change the MOTD, rename motd_new.qc to MOTD.qc, edit it and recompile. More about this in the MOTD section.
- Rename the file purectf.cfg to server.cfg and change the settings you want. There's a lot of settings there, but you can leave most as they are by default. The important ones to change are:

- The Server info section. Change all settings there to reflect your server. (v1.30) The admin section. More about this here. R emember to change the rcon_password! The deathmatch setting in game rules. 1 is respawning weapons, 3 is static. The map queue. Enter your favorite maps to cycle on the server, or select "samelevel 0" for standard mapvote. Note: toss rune, drop quad, dropping, GL glow and shirt lock are on by default. All these can be found in the Pure CTF features section. Also, check the easy setup table below

- You're ready to go! Check out the server modes and server settings sections in this manual for more configuration info.

## Upgrading

For all mods: Just unzip Pure CTF and remove the converted maps (see above) and you should be ready to go since Pure CTF is backward compatible. It's recommended however that you scrap your old config and replace it by renaming purectf.cfg to get all new settings and options as the admin commands, etc.

- Pure CTF: There are a few new settings for your config. Check out the admin section, and then the Server Settings section. All that's new is marked in this document with: (v1.30), (v1.35) and so on.
- Threewave CTF: It's recommend that you scrap your old config and start fresh with by replacing it with purectf.cfg. Just move over your rcon_password, deathmatch and misc. serverinfo settings. Make sure to check out the admin, mapqueue and MOTD sections. If your running the server as a clanfight server, check out the competition mode in the server modes section
- CTF Showdown: Remember to add "serverinfo mode 4" to your config to put the server in showdown mode. For more information, read the CTF Showdown section.

Easy setup table

| modechange | adminvote | servermode | voteexit | revert | Comment
Public server | 0 | 0 | 0 | 1 | 0 | This server will run along as a public server. Vote exit is enabled and players that you only give adminpass can't change mode.
Part time Public/Match | 1 | 0 | 0 | 1 | 10 | This works as public server most of the time, but those with adminpass can change to comp. mode to play a match. It reverts back after 10 min if they forget to change back to normal mode.
Private match server | 0 | 0 | 1 | 0 | 0 | The server is locked in competition mode. You can loan the server to others for matches by giving them adminpass if you don't trust them with rcon.
Showdown server | 0 | 1 | 4 | 0 | 0 | This will run as a public showdown, e.g. a 2o2 or suchlike. The players can run this themselves by typing showdown commands directly or vote for an admin.

# Server Modes

Switch mode using "serverinfo mode #".

| Mode | Name | Description
| 0 | standard | This is the standard server mode, suitable for a public server.
| 1 | competition | This mode is a mode intended to greatly simplify clan fights. All players is in "standby mode" until every one types "ready". Then, after a 15 second countdown, the match starts. (v1.30) If you want to use this mode, make sure to read about the admin functions, since these will help you a lot.
| 2 | practice | Clan practice mode. Read more about it in the Paintball mode section.
| 3 | rljumpctf | This is a weird game I just threw in for the fun of it. You play with only one team, and the purpose is to make a capture as fast as possible. The catch is that after you grab the flag you can't move or hook - just rocket jump your way home. :)
(v1.30) | 4 | showdown | CTF Showdown mode. This is a kind of "duel" mod, intended to run on public servers so that players can set up small matches without needing rcon or admin access. If you want an private match server use mode 1 instead.

# Admin Functions (v1.30)

The admin functions adds a lot of commands that's easier to use than rcon commands, or does things that you can't do with rcon , such as swapping players, or start fights in competition mode. There can never be more than one admin at any time and there are three different "admin levels":

| Access | overrides | modechange limitations | Comment
Voted admin | by server vote "adminvote" must be enabled on the server | none | Can never change servermode | Most useful for public showdown servers.
Standard admin | by typing "setinfo admin <pass>" "adminpass" must be set on the server | any voted admin | Can change servermode if "modechange" is set on the server | Give this to people you want to give admin access, but don't want to give full rcon access.
Super admin | by typing the command "super" You must have the rcon_password | any admin, including another super admin | Can always change mode. | Any with rcon have access to this.

An admin have access to all admin commands and showdown commands. They are listed in the player commands reference.

# Server Settings

All these settings are set with localinfo, e.g.:

- localinfo tr 1 // Enable Toss rune.

Default values for all settings

| Setting | Description | Values
Admin settings - for more info and a quick setup guide, go to the admin functions section.
| rcon_password | Gives access to the console. Read more about this in the QWSV manual. | none = off
| adminpass | Gives access to the Pure CTF admin functions. | none = off
| modechange | Allow standard and vote admins to change mode. Voted admins can never change mode and super admins can always change. (Supers have rcon anyway.) | bitmask: 1 = standard admins 2=vote admins
| adminvote | Allow players to become admins through server vote. | 0 = no votes 1 = enable votes.
Pure CTF features
| mode | Sets server mode, making the server restart the map directly in the new mode. | 0 = standard 1 = comp 2 = practice 3 = rljumpctf 4 =showdown
| revert | After the last player leaves, the server will wait this many minutes and then revert to standard mode. Useful for a part time match server if someone forgets to change back to public. | 0 = off, value = minutes
(v1.50) | paintball | Enables paintball mode. | Bitmask: 1 = enable paintball 2 = auto teamswapping
| tr | Enables Toss rune. | 1 = enable
| dq | Enables Drop quad. | 1 = enable
| dr | Enables Drooping | 1 = enable
| pingban | Enables Ping ban. | ban with ping below "value"
| glglow | Enables GL red/blue glow | bit mask: 1 = players with powerups, 2 = powerups, 4 = flags
| shirtlock | Locks the players topcolor to their team color | 0 = off, 1 = only on connect, 2 = always
| disablepowerups | Disable powerups. | bit mask: 1 = quad, 2 = pentagram, 4 = ring
| discharge | Discharge bug fix/features | 0 = bug fixed - Only players in water take damage. 1 = off - Only the player who discharges take damage. 2 = as v4.2 - All players in reach take damage
| runes | Runes feature. The improved haste is from Threewave CTF v4.21 and means that you run and grapple 25% faster with haste. (Why is this default? 1) It's in the latest "official release". 2) I like it better because haste is arguably the weakest rune and it makes it stronger..) | 0 = fixed - With the improved haste from v4.21. 1 = off - No runes. 2 = as v4.2
| hook | Hook bug fixed and features | 0 = fixed - The "multiple hooks" bug fixed. 1 = off - No hook. 2 = as v4.2 - Multiple hooks possible. 3 = as v4.21 - Zoid's hook fix. (Don't work correctly.)
| ankamaps | Toggle the use of "anka" maps. | 0 = disable, 1 = enable
| voteexit | Enable the players to vote to exit the map. | 1 = on
| quietstandby | Don't allow players to shoot during standby mode. | 1 = disable shooting
| specmaxrate | Limits rate for spectators to ease server load. Default is 2500. | value = max rate
| playermaxrate | Limits rate for players. | value = max rate
| tf | Enable tossflag. | 1 = enable flag tossing
| disableimpulses | Disables the new "best weapon" impulses, 50 and 51 | 1 = disable
| disablefreeze | Disables the freeze features selectively. | Bitmask: 1: Freeze by admin. 2: Auto freeze in matches. 4:Freeze by vote
| anticheats | Enable cheat checking/kicking. Check the cheat |
Game tweak parameters - parameters you can tweak to make CTF the way you want it.
| hastespeed | Sets haste's additional playerspeed. | 1.25 = default
| hasterate | Sets haste's firerate. | 2 = default
(v1.50) | strength | Strength damage multiplier. Default is 2. (Double damage.) |
(v1.50) | resistance | Resistance damage multiplier. Default is 0.5. (Half damage.) |
(v1.50) | regrate | Regeneration rate. Default is 5. |
(v1.50) | regmax | Regeneration max. Default is 150. |
| hookpull | Multiplier for how fast you're pulled by a hook.1 =default. If not value is set, it will use "hookspeed". |
| hookspeed | Sets the hookspeed, as a multiple of the standard hook speed. Note: hookspeed also changes with sv_maxspeed. | 0 or 1 = standard speed other values = faster or slower
(v1.51) | quadrespawn | Seconds until a quad respawns. (Default is 60) | values in seconds
(v1.51) | pentarespawn | Seconds until a penta respawns. (Default is 300) | values in seconds
(v1.51) | ringrespawn | Seconds until a ring respawns. (Default is 300) | values in seconds
Debug Settings - Normally you shouldn't have to change these, they're just intended for server testing and suchlike.
(v1.50) | puredisable | Disabling for misc. fixes and features. 1: Wrong deathmessage fix. 2: Out of spawnspots fix. | Default=0 Just add the values for the features you want to disable.
| floatflagbug | Debug parameter: Disables the fix for the bug where the flag "floats around" after being dropped on a teleporter. | 0 = enable fix 1 = disable fix
| logbug | Debug parameter: Disables the new messages for killing the flag carrier. | 0 = enable fix 1 = disable fix
| teledebug | Debug parameter: Enables teleporter debugging, useful for tracking down faulty teleporters. | 0 = disable debugging 1 = enable debugging
| singlecap | Debug parameter: This disables the block to pick up the flag if there is no one in the other team. | 0 = disallow single caps 1 = allow single caps
| nodynamicmaps | Turn off the dynamic map conversion. | 1 = disable conversion
| notimer | Turn off the countdowntimer. | 1 = disable timer
| disableimpulses | Disable the "best weapon" impulse (50&51); | 1 = disable
Mapqueue settings - More about this in the mapqueue section
| votemap | Sets the episode vote map to provide allstar and ctfep support. See map queue. | Legal values: ctfstart, allstart, epstart, twstart.
| defaultmap | Sets the default map to take if you're not in the map queue. | <mapname>
CTF Showdown Defaults - these are the values set when you use the "default" command. (v1.30)
| default_timelimit | Default value for timelimit |
| default_fraglimit | Default value for fraglimit |
| etc... | The same for all default values. |

# The freeze function

Since v2.20, QW has included a pause function. The freeze function in Pure works like it but have many enhancements. Only admins are allowed to freeze, or you can enable freeze by vote. Also in matches, you can set it so it automatically freezes, if someone disconnects. The game is freezed until the player or a replacement returns. To freeze or start a vote to freeze, use the command "freeze".

All features are on by default. You can disable them with the localinfo variable "disablefreeze"

Bit | Comment
1 | Disables freezes by an admin.
2 | Disables auto freezes when a player disconnects in a match.
4 | Disables freezes by vote.

# Anticheat features (1.51)

Pure has several anticheat features. Add the values for the features you want and use the localinfo variable anticheats to enable them.

Bit | Comment
1 | Botcheck - checks for "botlike behavior".
2 | Botkick - Autokicks bot. use with caution. The botcheck detector is far from perfect and gives false alarms from time to time. Best used for a public server. (Needs Botcheck set to work.)
4 | Alternate botdetection method.
8 | NOT USED
16 | Modelkick - kick players with illegal models. Pure should recognize the original model and the correct CTF models.

If you have problem with the modelkick method kicking people that has correct models, but models that Pure don't recognize, you can add your own "approved" models. Use localinfo emodel1, emodel2, pmodel1 and pmodel2 to set the allowed checksum values.

# Paintball Mode

Paintball mode works very much like clan arena, but is adapted to CTF. You start in your base with weapons, ammo and runes. (Each team get two random runes.) Paintball is played in rounds and the goal for each round is to make one capture or eliminate the other team. You only have one life per round, and when you die you become an observer so you can watch the remaining players battling it out. To enable paintball mode you use the localinfo variable paintball. Practice mode enables paintball by default.

> Bit | Paintball
> 1 | Enable paintball.
> 2 | Enable automatic swapping after each round.

# The Map queue

The map queue function in Pure CTF are totally compatible with allstar, ctfep, etc. You set map queue mode with the "samelevel" command. Most server admins will probably want to use the "custom" map queue (samelevel 2) to run their favorite maps only.
The status of the map queue is updated automatically into server variable "map queue". If the value there is "*broken*" your queue has an error and should be corrected.
If you use "samelevel 0" you have to set the votemap depending on which maps you want to play according to one the following:

serverinfo votemap ctfstart | Standard Threewave CTF v4.0+
serverinfo votemap epstart | CTF Expansion Pack
serverinfo votemap allstart | Allstar CTF.
serverinfo votemap twstart | Thunder walker CTF v3.0

Samelevel | Name | Description
0 | Standard | This is the standard map queue from CTF 4.0+ and Allstar CTF. You vote for a episode to play at the votemap, then play all maps in the episode and then return to the votemap. Set "votemap" to the start map for your mod.
1 | Samelevel | This repeats the same level over and over.
2 | Custom | Custom map queue with localinfo as in QW 2.0. Syntax is "localinfo <from> <to>", and you have to do one of these for every map. Set "defaultmap" to catch any maps not in the queue.
3 | Random | Select maps randomly. Set "localinfo maps XX" where XX is the number of maps to pick from, then "localinfo mapYY <mapname>" where YY is the map to pick and <mapname> is the shortname for the map. Note: You can't have more than 50 maps to pick from.

### Example Map Queues

Standard mapqueue This will cycle 14 maps in order. | Random mapqueue This will pick one of 6 maps every map change.
samelevel 2 localinfo defaultmap e2m1 localinfo e2m1 e2m2 localinfo e2m2 e2m5 localinfo e2m5 e3m6 localinfo e3m6 e4m3 localinfo e4m3 dm3 localinfo dm3 dm6 localinfo dm6 ctf2m1 localinfo ctf2m1 ctf2m2 localinfo ctf2m2 ctf2m3 localinfo ctf2m3 ctf2m7 localinfo ctf2m7 e1m1 localinfo e1m1 e1m4 localinfo e1m4 e2m1 | samelevel 3 localinfo maps 6 localinfo map01 ctf2m1 localinfo map02 ctf2m2 localinfo map03 ctf2m3 localinfo map04 ctf2m5 localinfo map05 ctf2m7 localinfo map06 ctf2m8

# Player Commands Reference

These are the new player commands and their corresponding impulses. Check the admin and showdown sections for more info on the corresponding commands.

| Command | Description
Helptexts
| commands | Shows available commands
| adminhelp | Show adminhelp
| showhelp | Show showdown help.
| options | Show options for changing dmm, teamplay, etc.
| ctfopt | Show more showdown options like grapple, runes, etc.
| modehelp | Show Modes help
(v1.35) | faqhelp | Show FAQ settings and commands.
Standard Commands
| scores | Shows scores with number of caps and disconnects included
| models | Shows which models all clients have.
| tossrune | Tosses the rune you are holding.
| tossflag | Tosses your flag. It will return to the enemy base in 5 seconds, so make sure someone is there to pick it up!
| settings | Shows a compact table with all settings.
| autoshot | Toggles auto scoreboard screenshots.
| autodemo | Toggles auto FAQ demos.
| mapqueue | Shows the current mapqueue
| admin | Starts a vote to make you admin
| super | Apply to be Superadmin. you need rcon for this.
| voteexit | Starts a vote to exit the current map.
| impulse 50 | Select best non-exploding weapon in the following order: 8, 5, 3, 4, 2. Never selects the Lightning Gun in water.
| impulse 51 | Select best weapon in the following order: 7, 6, 8, 5, 3, 4, 2. Never selects the Lightning Gun in water.
(v1.50) | cprint | Disables centerprinting.
(v1.51) | cam | Changes the type of camera for spectating. (Fixed or chasecam.)
Competition Mode - these will only work in the competition modes
| ready | Sets your status to ready for the match.
| break | Sets your status to not ready for the match.
| status | Shows all players status's.
Admin Commands - commands for admins.
| swap | Swap a player to the other team.
| swapall | Swaps all players smartly. (It remembers the previous game and sets colors according to it.)
| kick | Kicks a player.
| ban | Kicks a player and puts a short ban on him.
| start | Force the match to start regardless if everyone typed ready.
(v1.40) | kos | Kick on sight. First it asks if you want to kick the player you aim at, and the kicks him if you use kos again.
| restart | Restart the map, and start match countdown directly.
(v1.51) | freeze | Freeze all players (Like the built-in pause function in QW, except that you can use all admin commands which you can't do with "pause".)
| nospecs | Kicks all spectators and lock them out.
| noadmin | Removes your admin status.
Showdown Commands - commands for showdown mode (always available for admins)
| default | This sets all server settings to default. The default settings are read the first time the server is started. (Which means they're taken from server.cfg)
| setinfo map <maps> | this change map to <map>
| timeup/timedown | Add/Sub 5 min to the timer.
| fragsup/fragsdown | Adds/Sub 10 frags to the fraglimit
| dm | Change deathmatch
| tp | Change teamplay
| powerup | Toggle powerups
| dropquad | Toggle dropquad
| dropring | Toggle dropring
| discharge | Toggle discharges
| grapple | Toggle the Grapple
| runes | Toggle runes
| droprune | Toggle tossrune
| maxspeed | Change sv_maxspeed (320-400)
| anka | Toggle Anka Maps
| spectalk | Toggle Spectator talk allowed
| maxspecs | Toggle Maxspectators
(v1.35) | faqloc | Toggles FAQ locations disable.
(v1.35) | faqtimer | Toggles FAQ powerup timer disable.
(v1.35) | faqsound | Toggles FAQ sound messages disable.
(v1.35) | faqlag | Toggles FAQ proxylag disable.

# Player Settings(v1.51)

Add these settings to your config or type them in the console. New for v1.51 is that all settings is set with one setinfo variable, "pure", to prevent setinfo overflow. Add the values you want from the table and then add a line like this to your config:

> setinfo pure 1 // This turns of the status bar

An easy way to do small changes is to go to a Pure server and use the related commands to set the settings you want. After each change Pure will tell you the new value of the pure variable for your config.

NOTE: If you use some of the old variables, Pure will acknowledge them when you enter a server and tell you the correct new setting for "pure". After you have added it, remove the old ones. (Avoids trouble.)

Values | Related command | Description
0-15 | impulse 70-81 | Sets the position of your statusbar. 0 is off.
16 | autoshot | Makes the player take an automatic screenshot of the scoreboard at level ends.
32 | autodemo | If you turn this on, and plays with the faqproxy, it will automatically start recording a demo when a match starts, with the name "<name>#". (where #=1,2,3.. )
64 | autodemo | Same as above, but records with QW's built-in demo recording.
128 | cprint | Disable centerprinting messages.
256 | cam | Disable Pure's advanced Spectator tracking.
512 | cam | Enable Chasecam for tracking instead of fixed cam.

# Ping ban

You can set the server to "hpb only" by setting serverinfo pingban <value> where "value" is the lowest ping allowed. Note that if you're using qw2.21 or higher you don't need any external program since QW finally has a way to check pings. Otherwise you need an external program to poll the pings. I've included the program "pingstat" which is a quick hack of Qstat v1.6 by Steve Jankowski. There's more info in the pingstat readme.

# Message of the day (MOTD)

Changing message of the day is the only server setting you have to recompile to change. Due to QuakeC's limitations it's just not possible to put it in your server.cfg. (At least if you want more than one line.) NOTE! You can't compile Pure CTF with regular QCC, since it's just to big. Proqcc or fastqcc works ok.

To change the MOTD, edit motd.qc and change these lines:

- motd1 = "Welcome to this Server! \n";
  motd2 = "Running Pure CTF by Methabol \n methabol@hem.passagen.se \n\n";
  motd3 = "Your admin is Mr.Anonymous \n admin@server.com \n";
  motd4 = "http://quake.server.com/ \n";
  motd5 = " ";
  motd6 = " ";

# Recompiling

# CTF Rank

Pure CTF supports the server ranking system "CTF rank". For more info, check out ctfrank's homepage.

# CTF Showdown (v1.30)

Showdown mode is intended to run on a public match server where players can set up small fights by themselves without needing rcon. All the showdown commands works in all modes, but may be locked. They are available to a player if 1) He is admin 2) The servermode is Showdown and none else is admin. This means that you can set up a Showdown server so that everyone can change modes normally, but an admin can take "control" for a clanfight or suchlike.

All showdown commands can be found in the player commands reference.

# Optimizations

- TeamCheckLock
- GetShortTeamColor
- CheckDimlight

# Fixed Bugs

Name | Bug Description
Capture Server hang Bug | This bug makes the server hang in certain circumstances when someone captures the flag. To recreate the bug on a standard server, do the following: On DM4, select red team. Get the blue flag and return to your base. Don't capture but go so close to your flag as you can. Kill yourself, by jumping in lava or suicide, not the "kill" command. After respawn, go back to pick up the flag and capture right after.
Multihook bug | If you grapple and then do "impulse 22" when the grapple is out, another hook is released while the last hook is in the air. This makes it possible to grapple someone and then almost instantly shoot several hooks into them, which can take out a player with 200a + 250h in seconds. Zoid tried to fix this bug in v4.21, but it's still possible to shot multiple hooks even if it's slower, and worse, your hook could freeze in the air, leaving you without hook until you die. This bug can be disabled with: localinfo hook 2 (Check server settings for more options.)
The floating flag bug | Makes the flag "float around" after it been dropped on a platform. This bug can be disabled by: localinfo floatflagbug 1
Teleporter servercrash | This fixes the servercrashes when the server encounters a faulty teleporter. The teleporters that bugs are the big round ones that are used as gateways to the secret levels in single player. If you trigger the teleporter by grappling up in it or standing on top of it, it may crash or teleport you to a faulty location. Two of these that crashes the server are the ones in the red bases on E4M5 and E4M8. e1m4.ent: t40/*85 e1m7.ent: t15/*15 e2m6.ent: t88/*77 e3m4.ent: t174/*83 e3m6.ent: t169/*65 e4m5.ent: t178/*95 e4m8.ent t273/*75
Maps with Errors | Some maps have some faults, most often illegal start positions. The maps fixed are: e1m7: Added 4 new: "930 400 216" "930 225 216" "930 .100 216" "930 -250 216" e3m5: removed "563 -1397 448" and "563 -1455 448" (Wrong base and stuck.) e4m4: changed "832 -1496 24" to correct (blue) team. e4m5: Changed "1110 2370 120" to "1110 2300 120" (was stuck in wall) ctf2: Changed the following respawns: (6) To fix these, you have to "convert" the maps again with qbsp.
Carrier kill bonus | When you kill a carrier and are awarded a 2 points bonus, only you see this message. This makes all client log parsers calculate the scores incorrectly. The new strings that are printed are: "<name> killed the flag carrier, no bonus" "<name> killed the flag carrier, 2 bonus frags" This bug can be disabled by: localinfo logbug 1
Discharge Bug | This bug makes discharges affect all players in radius from the discharger, not just the ones in water. With the fix only players in water will take damage. This bug can be disabled by: localinfo discharge 2 (Check server settings for more options.)
Hook Jitter | This fixes the hook "jittering" resulting from the prediction in QW not considering the hook.
Missile deathmessages | This fixes the bug that shows the wrong deathmessage when you shoot some with GL or RL and swaps weapon before they die.

# Todo and known bugs.

List of things I may (or may not) do/fix.

### Known bugs

- If the distribution qwprogs.dat works ok, but it don't work when you recompile it: Make sure you don't use regular QCC since it can't handle too large files. Both Proqcc and fastqcc (my first choice) works ok.
- Bug: e2m6 isn't converted quite correctly. Does anyone really play this anyway? :)

### Todo

- Clanrring CTF support. (but Pure CTF's comp. mode really handles things more cleanly, IMHO. I might be a bit biased though. :)
- Oncle support. It wouldn't take long, but I don't know anyone who would want this. :) (At least until there's a Oncle 2)
- Improve spectator tracking to integrate it with "normal" tracking.
- Misc. things from QW 2.0 squishes, dmm4, dmm5 etc.
- Fix custom skins and team. (Although I don't like that really. Some admin switch I guess? )
- Seems like hook 2 doesn't work exactly like Threewave v4.2. Perhaps connected to my impulse tweaks.
- Dynamic Anka maps. Don't know if this really is needed. Perhaps just a forced map change when you switch that.
- Some anti-cheating fixes. Perhaps add a a botkick module if it works as it is supposed to. I have some ideas of how to find out about fake pings and rates.
- Ghost codes, and advanced handling of disconnects. But you already get your frags back so...

# History

v1.51 - 980525

- Freeze function to enhance the pause function in QW. Pauses is only allowed by admins or by vote. Also the game is automatically paused if someone drops in a match, and when he returns the games is continued.
- Fixed most of the remaining overflow problems with QW 2.21 and hopefully fixed the "color 0" bug.
- All setinfo settings are now in one variable, "pure".
- Anticheat features: Botcheck/kick and kick on illegal models.
- Fixed most bugs in DM. (Armor is set correctly, hook and runes is off automatically.) Yes, some people actually use the competition mode in Pure to play DM fights. :) You just have to reset the bit 256 in teamplay to disable CTF.
- When you kick/ban/swap someone you have to confirm it. (Pure could select the wrong player in some circumstances.)
- The autodemo feature now supports QW built-in record command along with FAQ-recording. Gives you one demo per round, nicely cut at the start and end so you don't have to watch 15 minutes of "prematch", and with a unique name.
- New chasecam mode in spectator/observer tracking. Switch with the "cam" command.
- Lots of small fixes: Fixed some annoying cprinted messages. Removed some debug impulses for spectators. Fixed a bug in e2m1. Did some small CPU optimizations. Added parameters for powerup respawn times.

v1.50b - 980517

- Fixed a bug that could crash a server running QWSV v2.2.

v1.50 - 980515

- MAJOR FEATURE: New paintball mode. You start in your base with weapons and runes, and each round goes on until only one team is standing or one team made a cap. Then a new round starts. This is much like "practice mode" but some new features is auto teamswapping after every round, and observer mode when you wait for next round. If you've played Clan Arena it's very much like it. (But for CTF :)
- 3WAVE FIX: The missile obituary message bugs are fixed. (Quite easy to do really, and I know it's been done before, but couldn't find a mod that had it.)
- 3WAVE FIX: The "hook jitter" resulting from prediction when you hang from the roof etc is (mostly) fixed.
- BUGFIX: Misc. servercrashes fixed. (Entity>=512 bug, color 0 0 bug., swapping players in endgame.)
- FEATURE: Presets for settings to easily set up matches and stuff. Presets included are: "standard", "3wave", "2on2" and two Tourneys: "ctfsm" and "oncle".
- FEATURE: Variable startdelay which works like a "fairstart" but on a public server. You get a countdown before start so every one gets a chance to get on the server after a mapchange.
- FEATURE: You can tweak some more stuff to your liking, like runestrengths.
- FEATURE: Optional support for clientpaks from other mods. (Rocket arena sounds and visible weapons.)
- BUGFIXES FOR SPECTATORS: Tracking works a little better: In tracking you get "outside the world" less often. When you track an item (quad, rune etc.) and someone picks it up you track them instead. Target selection is smarter. No binding for specs. (Screwed up some peoples configs.) Impulse 141 works as it should.
- FIX: You can turn off centerprinted messages and the advanced spectatortracking. (Some found these annoying.)
- MISC. BUGFIXES from Pure v1.40: Players appearing at the final scoreboard after a map fixed. Misc. bugging messages fixed. (KoS, "you got flag", capture time, "turning of proxy", flooding in practice mode.) "Teamplay 0" works. Xdressing checks faster. Penta glow overrides Quad. Dynamic e1m5 works. Bug in tempban fixed. Tossflag can be turned off. You don't get stuck in other players on matchstart when you're out of spots. LG diss in standby fixed. Lock maxclients works safer. (Got an unconfirmed bugreport.) Removed flooding when trying to pick up flag by yourself.

v1.40 - 980409

- Hopefully practice mode works ok now. I think I fixed all servercrashes when restarting a practice round, and now you get a score bonus for winning a round. The scoreboard also maintains total team victories. (Using practice mode for a 2on2 "paintball" game on a small map like e2m2 is a blast. :)
- Kick on sight. You just aim at someone and use "kos" to kick them.
- Included a beta of pingstat.
- A player that disconnects in a match gets his frags back immediately. With multiple disconnects and swapping of players, the frags might not go to the right player, but the teamscore will always be intact. (That's all that matters in a match anyway, right?)
- Misc. fixes: Smaller info texts when you track a player. You se a player's rune when tracking. Added a lot more helptexts. Illegal topcolors are not allowed anymore. Spectator admin status are remembered at map changes.(might bug?) To change maps you just type the name of the map.(as in the showdown/duel mods) The info message in spectator mode is removed after 15 seconds. Spectator skins are set to speed up skinchecking for all clients.
- Fixed bugs: Mapqueue works correctly now, but has a limitation to the next 10 maps. Fraglimit works again. Swapping players with flags works ok. Timer showed 60 sometimes instead of 0. Missing spawnfunction for e1m7 replaced. Freezes works correctly. Restarts only work in comp. mode.

v1.35 - 980404

- Improved spectator tracking a lot. Now runes works ok, tracking don't changes randomly and you get a bunch of info on the item you track. (Such as health/armor when you track a player.)
- Rate limit for both players and spectators.
- Added some info messages for standby mode. (Now you see who it is who can't spell to "ready". :)
- Optional flagtossing.
- Added support for disabling faqproxy functions.
- Added capture time.
- Bugfix: Fixed most bugs for the map conversions.
- Bugfix: Crashes in practice mode.
- Bugfix: Commands flooding if you typed a command while being dead.
- Bugfix: Quiet standby now works.
- Bugfix: Autoshot and autodemo now works as in v1.20.

v1.30b - 980401
Fixed two small bugs:

- Showdown mode didn't work without admin. (Doh! :)
- Frags now resets at matchstart.

v1.30-980401
Major features:

- Dynamic Map conversion: This converts all the id maps on-the-fly by the QuakeC code! This means that you don't have to do the work of converting them when you set up a server and that you save 43 meg of HD space. As a bonus this means that all map bugs I've found (bogus teleporters, spawnspots in the ground, etc.) are fixed automatically.
- Showdown Support: CTF showdown is a competition mode intended to run on a public server where players can set up small games (2on2 or suchlike) by themselves without needing rcon. This version of showdown has more options and some improvements from the original CTF showdown by [LoRD]Tar. In showdown mode (and always as admin) you can easily change timelimit, fraglimit, teamplay. dq, dr, tr, sv_spectalk, maxspecs, hook, discharge, runes, etc.
- Admin function: The admin functions helps to configure and administrate the server more easily. They include a lot of commands that's much easier to use than rcon , and some commands that does things you can't do as rcon such as swapping players or teams. Also, you can give people a special admin pass so you don't have to give the full rcon access. Admin commands include: kick, ban, swap, swapall(smartly), start, restart

Other features

- LPB Spectators rate is limited to 2500 so they don't bog down the server.
- Fixed the bugs in ctf2.
- Voteexit for public servers.
- "settings" gives a comprehensive table with all important server settings.
- "mapqueue" gives the mapqueue.
- "models" autochecks for changed models.
- autoshot and autodemo is timed better, and have to commands to turn them on/off easy. Autoshot captures a screenshot with both scoreboard and the scores with included disconnects.
- Variable to revert a match server to standard mode after x minutes.
- Runes respawn much more randomly now.
- Variable hookspeed. Hookspeed is also accelerated with higher sv_maxspeed.
- "Standby mode" optionally quiet (no shooting or players freeze), by admin or localinfo.
- Powerup disable works without restarting map:
- Tweaked impulses to work faster.
- Fine-tune haste with hasterate and hastespeed.
- Sets friction automatic.
- timestamps for connects & disconnects
- Hooks that hits teammates disappear. (Because that's what all other missiles do.) This prevents "floating hooks".
- Support for Anka maps on the following maps: e2m1, e2m2, e2m3, e2m5. (If you don't know what this is, just forget it. :)
- BUGFIX: powerup disable works ok now.
- BUGFIX: Rocket damage when no discharge mode set works ok.
- BUGFIX: dropring fixed
- BUGFIX: all bugs with servermode change.
- BUGFIX: removed missiles at match start.
- BUGFIX: Bug with two dropped quads picked up.

### v1.20 - 980322 - First Public Release

- Added "autodemo" and "autoshot"
- Cleaned up a lot of serverinfo variables.
- Added option for faster maxspeed with haste. (Was introduced in v4.21)
- Hook disable.
- Added some serverinfo variables for server status: "mode" shows the server mode, "status" show competition match status and "map queue" shows the map queue starting with the current map.
- Fixed some small bugs from earlier versions.
- Finally finished the documentation. (Hey, your reading it right now! :)

### v1.11 - 980316

- Added practice mode.
- Some bug fixes from v1.10, mostly with Competition mode and toss rune
- Made some simple performance tweaks to GetShortTeamColor and TeamCheckLock

### v1.10 - 980314

- Started on new documentation.
- New command, models, to show all player models.
- Extended scores, with disconnects and caps.
- Countdown timer.
- Simple Competition Mode.
- Added "lock always" to shirtlock. (previously nosetshirt)

v1.03 - 980312

- Big addition: Extended Spectator tracking.
- Renamed runesoff to disablerunes

v1.02 - 980310

- Expert statusbar
- Spectator interaction ok.
- glglow on flags
- Fixed id maps with errors
- added disable discharge
- added alias commands

v1.01 - 980308

- added disable powerups

v1.00 - 980308

- Renamed my old servermod to Pure CTF and cleaned up some code.