Pure CTF Manual

Pure Ctf v1.40 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. It doesn't have any "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 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

Thanks to Overfiend, U_Discharge 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

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.

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. This will put the server in a kind of "paintball" mode. You start with all weapons and play until one team is gone, or one team has captured the flag. To make this work as intended, one team should stay in the base and the other should attack. The thought is that this will help you develop cooperative skills in attacking and defending.
  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.:

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
(v1.30) adminpass Gives access to the Pure CTF admin functions. none = off
(v1.30) 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
(v1.30) adminvote Allow players to become admins through server vote. 0 = no votes 1 = enable votes.
Pure CTF features
(v1.30) 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
(v1.30) 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
  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.)
(v1.30) 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.30) ankamaps Toggle the use of "anka" maps. 0 = disable, 1 = enable
(v1.30) hastespeed Sets haste's additional playerspeed. 1.25 = default
(v1.30) hasterate Sets haste's firerate. 2 = default
(v1.30) voteexit Enable the players to vote to exit the map. 1 = on
(v1.30) quietstandby Don't allow players to shoot during standby mode. 1 = disable shooting
(v1.35) specmaxrate Limits rate for spectators to ease server load. Default is 2500. value = max rate
(v1.35) playermaxrate Limits rate for players. value = max rate
(v1.35) tf Enable tossflag 1 = enable flag tossing
(v1.40) hookpull Multiplier for how fast you're pulled by a hook.1 =default. If not value is set, it will use "hookspeed".  
(v1.40) disableimpulses Disables the new "best weapon" impulses, 50 and 51  
Debug Settings - Normally you shouldn't have to change these, they're just intended for server testing and suchlike.
  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
(v1.30) notimer Countdown timer 1 = disable
(v1.30) noautofriction Autofriction is set from 6-9 to compensate sv_maxspeed 1 = disable
(v1.30) nodynamicmaps Turn off the dynamic map conversion. 1 = disable conversion
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)
(v1.30) default_timelimit Default value for timelimit  
(v1.30) default_fraglimit Default value for fraglimit  
  etc... The same for all default values.  

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.
(v1.30) settings Shows a compact table with all settings.
(v1.30) autoshot Toggles auto scoreboard screenshots.
(v1.30) autodemo Toggles auto FAQ demos.
(v1.30) mapqueue Shows the current mapqueue
(v1.30) admin Starts a vote to make you admin
(v1.30) super Apply to be Superadmin. you need rcon for this.
(v1.30) voteexit Starts a vote to exit the current map.
(v1.35) tossflag Tosses your flag. It will return to the enemy base in 5 seconds, so make sure someone is there to pick it up!
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.
  pause Freeze all players (For standby mode to get everyone's attention.)
  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

Add these settings to your config or type them in the console. All settings are set with setinfo, e.g.:

 

Setting Values Description
statusbar 0 = off, 1-11 = position Sets your statusbar 
autodemo "" = off, or <name> 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.. )
autoshot 0 = off, 1 = on Makes the player take an automatic screenshot of the scoreboard at level ends.
     

 

Ping ban

You can set the server to "hpb only" by setting serverinfo pingban <value> where "value" is the lowest ping allowed. 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:

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

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.)

Todo and known bugs.

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

 

History

v1.40 - 980409

v1.35 - 980404

v1.30b - 980401
Fixed two small bugs:

v1.30-980401
Major features:

Other features

v1.20 - 980322 - First Public Release

v1.11 - 980316

v1.10 - 980314

v1.03 - 980312

v1.02 - 980310

v1.01 - 980308

v1.00 - 980308