Merge branch 'tos-updates' into 'master'
[xonotic/xonotic.git] / Docs / eventlog.txt
1 cvars (see xonotic.org/tools/cacs for more up-to-date information):\r
2 ______________\r
3 \r
4    sv_eventlog                    master switch\r
5    sv_eventlog_files              print frags, scores and captures for separate files each match\r
6    sv_eventlog_console            print frags, scores and captures to serverconsole during the match\r
7    sv_logscores_bots              choose whether bot are included in stats or not\r
8                                 \r
9    sv_eventlog_files_counter      number of matches logged until now\r
10    sv_eventlog_files_nameprefix   file name prefix to be used \r
11    sv_eventlog_files_namesuffix   file name extension to be used\r
12    sv_eventlog_files_timestamps   prefix log lines in the files with :time events\r
13 \r
14 log format:\r
15 ______________\r
16 \r
17    :logversion:3\r
18    :gamestart:<gametype>_<mapname>:<matchid>\r
19    :gameinfo:mutators:LIST:mutator1:mutator2:...\r
20 \r
21       (note that mutators are listed by their cvar name with g_ removed,\r
22       unless such a cvar is 1 by default - then the mutator is listed with\r
23       a no_ prefix if the cvar is 0)\r
24 \r
25    :gameinfo:end\r
26    :join:<ID>:<slot>:<ip>:<nickname>\r
27    :join:<ID>:<slot>:bot:<nickname>\r
28    :name:<ID>:<nickname>\r
29    :part:<ID>\r
30    :team:<ID>:<team>:<jointype>\r
31    :kill:frag:<ID of killer>:<ID of victim>:type=<death type>:items=<itemstring of killer>:victimitems=<itemstring of victim>\r
32    :kill:tk:<ID of killer>:<ID of victim>:type=<death type>:items=<itemstring of killer>:victimitems=<itemstring of victim>\r
33    :kill:suicide:<ID>:<ID>:type=<death type>:items=<itemstring>\r
34    :kill:accident:<ID>:<ID>:type=<death type>:items=<itemstring>\r
35    :ctf:steal:<flagcolor>:<ID of attacker>\r
36    :ctf:dropped:<flagcolor>:<ID of dropper>\r
37    :ctf:pickup:<flagcolor>:<ID of attacker>\r
38    :ctf:capture:<flagcolor>:<ID of attacker>\r
39    :ctf:return:<flagcolor>:<ID of defender>\r
40    :ctf:returned:<flagcolor>\r
41    :dom:taken:<previouscolor>:<ID of player>\r
42    :keyhunt:capture:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key>\r
43    :keyhunt:carrierfrag:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key>\r
44    :keyhunt:collect:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key>\r
45    :keyhunt:destroyed:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key>\r
46    :keyhunt:destroyed_holdingkey:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key>\r
47    :keyhunt:dropkey:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key>\r
48    :keyhunt:losekey:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key>\r
49    :keyhunt:push:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key>\r
50    :keyhunt:pushed:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key>\r
51    :scores:<gametype>_<mapname>:<map runtime>\r
52    :labels:player:<head1><flags>,<head2><flags>,...\r
53    :player:see-labels:<score1>,<score2>,...:<playtime>:<team>:<ID>:<nickname>\r
54    :player:see-labels:<score1>,<score2>,...:<playtime>:spectator:<ID>:<nickname>\r
55    :labels:teamscores:<head1><flags>,<head2><flags>,...\r
56    :teamscores:see-labels:<score1>,<score2>,...:<team>\r
57    :end\r
58    :restart\r
59    :gameover\r
60    :vote:suggested:<mapname>:<playerid>\r
61    :vote:keeptwo:<mapname>:<mapvotes>:<mapname>:<mapvotes>:::<mapname>:<mapvotes>:...:didn't vote:<notvoters>\r
62    :vote:finished:<mapname>:<mapvotes>:::<mapname>:<mapvotes>:<mapname>:<mapvotes>:...:didn't vote:<notvoters>\r
63    :vote:suggestion_accepted:<mapname>\r
64    :vote:vcall:<ID of player>:<vote command display string>\r
65    :vote:vyes:<yescount>:<nocount>:<abstaincount>:<notvoters>:<mincount>\r
66    :vote:vno:<yescount>:<nocount>:<abstaincount>:<notvoters>:<mincount>\r
67    :vote:vtimeout:<yescount>:<nocount>:<abstaincount>:<notvoters>:<mincount>\r
68    :vote:vstop:<ID of stopper>\r
69    :vote:vlogin:<ID of player>\r
70    :vote:vdo:<ID of player>:<do command display string>\r
71    :time:<YYYY-MM-DD HH:MM:SS>\r
72    :recordset:<ID of player>:<time in seconds>\r
73 \r
74    Note that only the :join and :player lines ever contain player names. The\r
75    :time event only appears in the log files if sv_eventlog_files_timestamps\r
76    is 1; there is no way to log these time stamps to the console (for console\r
77    timestamps, set timestamps to 1).\r
78 \r
79 team colors:\r
80     1 = No Team (Domination)\r
81     5 = Red Team\r
82    14 = Blue Team\r
83    13 = Yellow Team\r
84    10 = Pink Team\r
85 \r
86 join types:\r
87     1 = connect\r
88     2 = auto\r
89     3 = manual\r
90     4 = spectating\r
91     6 = adminmove\r
92 \r
93 label flags:\r
94    !! = primary sorting key\r
95    <!! = primary sorting key, lower is better\r
96    ! = secondary sorting key\r
97    <! = secondary sorting key, lower is better\r
98    < = lower is better\r
99 \r
100 itemstring:\r
101    <weaponid><flags>\r
102    or\r
103    <weaponid><flags>|<runes>\r
104 \r
105    where flags can contain:\r
106          F = player carries the flag\r
107          S = player has strength\r
108          I = player has the shield\r
109          T = player is typing (console, menu or chat)\r
110    \r
111    and weapon IDs are:\r
112          1 = Laser\r
113                  2 = Shotgun\r
114                  3 = Machine Gun\r
115          4 = Mortar\r
116          5 = Electro\r
117          6 = Crylink\r
118          7 = Vortex\r
119          8 = Hagar\r
120          9 = Rocket Launcher\r
121         10 = Port-O-Launch\r
122         11 = Vaporizer\r
123         12 = Grappling Hook\r
124         13 = Heavy Laser Assault Cannon\r
125         14 = T.A.G. Seeker\r
126 \r
127 death type:\r
128    either a weapon ID ORed with weapon death flags, or one of\r
129    the notifications in common/deathtypes.qh in the form of a string.\r
130 \r
131    weapon death flags are:\r
132        256 = secondary fire\r
133            512 = splash damage\r
134           1024 = bounced projectile\r
135           2048 = head shot (MinstaNex only)\r
136           4096 = unused flag\r
137 \r
138 There will be a log analyzer parsing this file format soon. Note that weapon\r
139 IDs are below 10000.\r