This feature and manual page has been inherited from the FuhQuake client
made by A Nourai aka 'fuh' (#fuhquake on Quakenet irc).
Introduction
This file documents the match tools available in the client. A summary of the
match tools available are:
Auto Demo Recording
Compatabile Servers
Auto recording only works on compatible servers. Kteams, and
ktpro server are all compatible. OZTF (v1.45 and above) servers also work
when in clan mode.
Variables
- match_auto_record (Default: "0")
- When set to 1 or 2, a temp demo will automatically be recorded
when a match starts (usually when the countdown starts).
match_auto_record 2 automatically saves the demo after the match
is completed. 'match_auto_record 1' requires manual saving (see
the "match_save" command below).
- match_auto_minlength (Default: "30")
- When using 'match_auto_record 2', temp demo's auto recorded won't
be saved automatically if they are shorter than the number of
seconds 'match_auto_minlength' is set to. If a temp demo is too
short to autosave, you can still save it manually with
"match_save" (see below).
- match_auto_spectating (Default: "0")
- When set to 1, auto recording will also occur when in spectator
mode.
- demo_dir (Default: "")
- This is the default location easy recorded and saved auto recorded
demos will be saved to. It is relative to your basedir. If it is
"" then the demos will be saved to your current gamedir (default
qw behaviour). It's recommended setting this to something like
"qw/demos/recording" to have your demos put into
c:\quake\qw\demos\recording . Note that this only affects easy
recorded demos and saved auto recorded demos. It does not affect
demos recorded with "record" (these go into your gamedir).
Commands
- match_save
- If you are using 'match_auto_record 1' then a temp demo will
be recorded to c:\quake\ezquake\temp\_!_temp_!_.qwd each time
a map starts. This temp demo will be overwritten when the next
match starts. If you want to keep the temp demo, use
the "match_save" command. This will move the demo to the same
folder and filename that easyrecord would have used.
- match_forcestart
- Simulates the start of a match (so that auto recording etc is
triggered). Useful if you join a ktpro server after countdown
has started, or you are playing a mode that doesn't have a
proper countdown (eg race mode).
Most importantly this is useful for tf servers, since you can use
a msg_trigger to execute match_forcestart on "MATCH BEGINS NOW".
Command Line Parameters
- -democache <size in KB>
- If you specify a democache size on the command line, then
the client will record demos to memory instead of to disl. When
the demo is completed, the client will then copy the demo from
memory to disk. This can reduce hard disk activity and result
in more smooth gameplay when recording for many people, but not
everyone. Don't use it if it gives you problems.
You should specify a -democache size slightly bigger than than
the size of demos you usually record. Ex, if most of your qwd
recorded demos are 15mb in size, "-democache 20000" is good.
Don't make the democache too big unless you have the RAM for it.
Important: If the democache space runs out (because your demo is
too big for it), you will get a big lag while the client empties
some of the democache to disk.
Important: When using -democache and demo recording finishes,
there can be a long pause while the demo is copied from memory to
disk. The bigger the demo, the longer the pause.
Important Notes
Demo recording starts whenever the "status" serverinfo key changes from
"standby" to something other than "standby". On KT servers this happens
when the countdown begins.
Auto recording stops in the following situations:
- The "status" serverinfo key changes from something other than "standby" to
"standby" (eg. people vote to break during countdown).
- 4 seconds after the final match scoreboard is displayed.
- You type "stop" to stop recording.
- You "disconnect" from the server (includes connecting to another server,
starting demo playback, etc).
- A new map starts on the server.
If you are using "match_auto_record 1" then after an auto recorded demo has
completed (it will tell you), you can use "match_save" to save the demo.
The demo will be saved to the same name easyrecord would use (you can
customise this name...see the MATCH NAME section below).
If you are using "match_auto_record 2", auto recorded demos will automatically
be saved unless the length of the demo is less than the number of seconds in
the match_auto_minlength variable. If they are too short to be auto saved, the
client will say "Autorecording cancelled." but you can still manually save the
demo with "match_save".
Auto Console Logging
Variables
- match_auto_logconsole (Default: "0")
- When set to 1 or 2, a temp console log will automatically be
created when a match starts (usually when the countdown starts).
match_auto_logconsole 2 automatically saves the console log after
the match is completed. 'match_auto_logconsole 1' requires manual
saving (see the "match_save" command above).
Important Notes
The client can log your console to a .log file automatically when a match begins.
This is useful if you have a stats program that generates stats from logs.
It works exactly the same as auto demo recording except "match_auto_logconsole"
is used instead of "match_auto_record" and "log_dir" is used instead of
"demo_dir". "match_save", "match_auto_minlength" and "match_auto_spectating"
still apply.
If you use 'match_auto_logconsole 1' and 'match_auto_record 1' then "match_save" will
save both the log and the demo for the match.
If you use 'match_auto_logconsole 1' and 'match_auto_record 2' then "match_save" will
only save the log for the match, and the demo should be saved automatically.
It's all common sense.
Note, the "log_readable" variable may be useful here. Setting it to 1 will
make the console logging convert all non-printable characters to printable
equivalents.
Scoreboard Screenshot Taking
Variables
- match_auto_sshot (Default: "0")
- Set to 1 to automatically take a screenshot of the final
scoreboard when a match ends. If your console is down or you
are in the menus, then the client will remove the console/menu
for a split second so it can take a screenshot of the scoreboard
without any interference.
- sshot_dir (Default: "")
- This is the default location screenshots will be saved to. It is
relative to your basedir. If it is "" then the demos will be
saved to your current gamedir (default qw behaviour). It's
recommended setting this to something like "qw/sshots" to have
your screenshots put into c:\quake\qw\sshots . Note that this
affects all screenshots, those taken with the "screenshot"
command, and those automatically taken with 'match_auto_sshot 1'.
- sshot_format (Default: "tga" for GL, "pcx" for software)
- This defines the image format of screenshots. Software client version
can only use "pcx" and "png". OpenGL client version can use "tga", "png"
or "jpg" (recommended). Note that if you specify an extension in
the fiilename given to the 'screenshot' command, that image type
is used regardless of 'sshot_format'. Ex. "screenshot blah.jpg"
will take a screenshot in jpg format (GL only) regardless of
sshot_format. But "screenshot blah" would use the format set by
'sshot_format'.
- sshot_applyGamma (Default: "1")
- If set to 1, your gamma/contrast settings will be applied to all
screenshots taken.
Important Notes
The client can automatically take a screenshot of your scoreboard if you set
'match_auto_sshot' to 1. Unlike auto recording and auto console logging,
there is no way to take a 'temp' screenshot of the final scoreboard and
manually save it. In essence, the screenshot taken with 'match_auto_sshot 1'
is automatically saved.
The name of the screenshot taken by 'match_auto_sshot 1' is the same name
easyrecord would use (with the proper extension, eg ".tga", ".pcx", etc). You
can customise this name (see the matchname section below).
Ex. If you have "sshot_dir qw/sshots" then a 4on4 screenshot would be put into
"c:/quake/qw/sshots/4on4/[clan]quaker - [4on4_myclan_vs_someclan] - [dm3].tga"
assuming your base quake dir is c:/quake and you haven't customised the
'match_format_4on4' variable (see section 4 below).
The Match Name
Each match has a customisable name that is used for easyrecord, saved auto
recordings, saved auto screenshots, saved auto logging and so on. There is also
a macro called $matchname which you can use to get the name of the match
manually (echo $matchname).
For example, a matchname might be
"[clan]quaker - [4on4_myclan_vs_someclan] - [dm3]" or whatever.
Match Types
Matches are sorted into different categories. The following lists the
supported categories. If you think there should be more, please
let us know.
The criteria for each category is roughly summarised in brackets.
- duel
- (gamedir = "qw", 2 players)
- ffa
- (gamedir = "qw", more than 2 players, teamplay off)
- race
- (gamedir = qw, serverinfo "race" key present and equal to mapname)
- 2on2
- (gamedir = "qw", 2 teams with at least 1 team having 2 people)
- 3on3
- (gamedir = "qw", 2 teams with at least 1 team having 3 people)
- 4on4
- (gamedir = "qw", 2 teams with at least 1 team having 4 people)
- tdm
- (gamedir = "qw", 2 teams, 1 team having at least 5 people)
- multiteam
- (gamedir = "qw", 3 or more teams)
- arena
- (gamedir = "arena")
- carena
- (gamedir = "carena")
- tf_duel
- (gamedir = "fortress", 2 players)
- tf_clanwar
- (gamedir = "fortress", at least 2 teams)
- solo
- (any gamedir, 1 player on a server, not in race mode)
- coop
- (gamedir = "qw", at least 2 people, deathmatch is off)
Notes: The race category is basically for ktpro race mode.
Customising Match Names
Each match category has a name format variable associated with it. This
variable is called match_format_<category> .
For example, there is match_format_duel, match_format_2on2, etc, etc.
All these variables can contain macro's that are expanded according to the
macro list given below. You can also use the "match_format_macrolist" command
inside the client to display a list of the macros and their meaning.
Macros
The square brackets apply when spectating.
Note that your nick is the same as your name unless you set a nick with
match_name_nick. This is useful if you use lots of different names, but
only want a certain name to be used in %n.
You can use the "match_format_macrolist" in a game to see this list of macros.
macro | replacement |
%n | your nick [your nick followed by "(SPEC)"] |
%p | your name [player1's name] |
%t | your team [team1's name] |
%e | enemy nick in duels, enemy team in tp [player2/team2] |
%k | names of players on your team [team1] (separated by match_name_and) |
%l | names of players on enemy team [team2] (separated by match_name_and) |
%O | number of teammates [number on team1] |
%E | number of enemies [number on team2] |
%C | number of players on the server |
%a | team counts separated by match_name_on (eg 4on3on4) |
%b | team names separated by match_name_versus (eg sr _vs_ cmf _vs_ fs) |
%v | shortcut for whatever is in match_name_versus |
%T | timelimit on the server |
%F | fraglimit n the server |
%N | teamplay setting on the server |
%D | deathmatch mode on the server |
%M | mapname |
%G | gamedir (eg. qw, fortress, arena, etc) |
%d | day |
%m | month |
%y | year without century (Ex. 03) |
%Y | year with century (Ex. 2003) |
Commands
- match_format_macrolist
- Prints list of match format macros and their use. Useful if you
forget a certain macro in game, and can't be bothered opening this
doc.
Variables
- match_name_and (Default: "_&_")
- Used for separating names in %k and %l
- match_name_versus (Default: "_vs_")
- Used for separating names in %b
- match_name_on (Default: "on")
- Used for separating numbers in %a
- match_name_nick (Default: "")
- %n uses this if its not "", otherwise it uses your in game name.
- match_name_spec (Default: "(SPEC)")
- This is placed after your nick when using %n and are in spec mode.
Eg. if you use "match_name_nick foo" and leave match_name_spec
default, then %n will be "foo(SPEC)" in spec mode and "foo"
when not in spec mode.
variable | Default value |
match_format_solo | "solo/%n - [%M]" |
match_format_coop | "coop/%n - [%C_player_coop] - [%M]" |
match_format_duel | "duel/%n - %p%v%e - [dmm%D] - [%M]" |
match_format_ffa | "ffa/%n - [%C_player_ffa] - [%M]" |
match_format_race | "race/%n - [race] - [%M]" |
match_format_2on2 | "2on2/%n - [%k%v%l] - [%M]" |
match_format_3on3 | "tdm/%n - [%Oon%E_%t%v%e] - [%M]" |
match_format_4on4 | "tdm/%n - [%Oon%E_%t%v%e] - [%M]" |
match_format_tdm | "tdm/%n - [%Oon%E_%t%v%e] - [%M]" |
match_format_multiteam | "tdm/%n - [%a_%b] - [%M]" |
match_format_arena | "arena/%n - %p%v%e - [%F_frags] - [%M]" |
match_format_carena | "carena/%n - [%a_%b] - [%M]" |
match_format_tf_duel | "tfduel/%n - %p%v%e [%M]" |
match_format_tf_clanwar | "tfwar/%n - [%Oon%E_%t%v%e] - [%M]" |
Macros
- $matchname
- works out "match_format_<bleh>" with all macros etc expanded.
<bleh> is the match category.
FAQ
- Q1. Why are my auto recording/logging/screenshots not working in spec mode?
- A1. You need "match_auto_spectating 1" for them to work when spectating.
- Q2. Is it possible to auto record only 4on4's and not duels (etc) ?
- A2. Not really. The only solution here is to temp record and manually save
the 4on4 demos with the match_save command.
- Q3. How do I auto record in teamfortress ?
- A3. If you are playing teamfortress 2.9 or earlier (including MTF, CuTF which
are based on tf 2.5) then you need to use 'match_auto_record 1' and the
following msg_trigger:
alias tfstart "match_forcestart"
msg_trigger tfstart "MATCH BEGINS NOW"
The above msg_trigger will also work for all versions of OZTF. However in
OZTF 1.45 and above you don't *need* the msg_trigger since it will
automatically start recording when the OZTF countdown begins (in clan
mode). Of course you will need 'match_auto_record 1' for this.
If you have the msg_trigger above in OZTF 1.45, a demo will begin recording
when the countdown starts, and then restart again when the countdown ends
and "MATCH BEGINS NOW" is printed. This is perfectly fine. But if you
only play on OZTF 1.45 servers and above, you can just not use the
msg_trigger.
- Q4. How is 'match_auto_sshot 1' any different from
"alias f_mapend screenshot $matchname" ?
- A4. Well the main difference is that if your console is pulled down or you are
in the quake menus when the match ends, 'match_auto_sshot 1' will
automatically remove the console/menu for 1 frame so it can take a
screenshot of the scoreboard without any interference.
On a minor note, when using the screenshot command in the f_mapend alias
(which is automatically executed when a match ends), it is important to
put a wait in first, eg alias f_mapend "wait; screenshot <name>". Without
the wait, the screenshot probably won't contain the scoreboard when playing
OpenGL fullscreen. You don't need to worry about this if you are using
'match_auto_sshot 1'.
- Q5. Is it possible to automatically compress my demos?
- A5. There was no time to put this feature into the client yet. However future
versions of the client will allow you to compress your demos using qizmo
.qwz compression and/or .zip compression. There will also be an option for
converting demos to .mvd format.
There will also be an option to zip demos and screenshots together into a
single zip. I plan a menu where you will be able to browse a list of demos
inside these zip files, with a thumbnail of the scoreboard screenshot next
to each demo.
Last update: 01.01.1970 00:00 UTC
ezQDocs
