From: Martin Taibr <taibr.martin@gmail.com> Date: Sat, 30 Jun 2018 21:52:22 +0000 (+0200) Subject: unix2dos X-Git-Tag: xonotic-v0.8.5~153^2 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=refs%2Fmerge-requests%2F39%2Fhead;p=xonotic%2Fxonotic.git unix2dos --- diff --git a/Docs/eventlog.txt b/Docs/eventlog.txt index eab6d56d..6a9ca84f 100644 --- a/Docs/eventlog.txt +++ b/Docs/eventlog.txt @@ -1,139 +1,139 @@ -cvars (see xonotic.org/tools/cacs for more up-to-date information): -______________ - - sv_eventlog master switch - sv_eventlog_files print frags, scores and captures for separate files each match - sv_eventlog_console print frags, scores and captures to serverconsole during the match - sv_logscores_bots choose whether bot are included in stats or not - - sv_eventlog_files_counter number of matches logged until now - sv_eventlog_files_nameprefix file name prefix to be used - sv_eventlog_files_namesuffix file name extension to be used - sv_eventlog_files_timestamps prefix log lines in the files with :time events - -log format: -______________ - - :logversion:3 - :gamestart:<gametype>_<mapname>:<matchid> - :gameinfo:mutators:LIST:mutator1:mutator2:... - - (note that mutators are listed by their cvar name with g_ removed, - unless such a cvar is 1 by default - then the mutator is listed with - a no_ prefix if the cvar is 0) - - :gameinfo:end - :join:<ID>:<slot>:<ip>:<nickname> - :join:<ID>:<slot>:bot:<nickname> - :name:<ID>:<nickname> - :part:<ID> - :team:<ID>:<team>:<jointype> - :kill:frag:<ID of killer>:<ID of victim>:type=<death type>:items=<itemstring of killer>:victimitems=<itemstring of victim> - :kill:tk:<ID of killer>:<ID of victim>:type=<death type>:items=<itemstring of killer>:victimitems=<itemstring of victim> - :kill:suicide:<ID>:<ID>:type=<death type>:items=<itemstring> - :kill:accident:<ID>:<ID>:type=<death type>:items=<itemstring> - :ctf:steal:<flagcolor>:<ID of attacker> - :ctf:dropped:<flagcolor>:<ID of dropper> - :ctf:pickup:<flagcolor>:<ID of attacker> - :ctf:capture:<flagcolor>:<ID of attacker> - :ctf:return:<flagcolor>:<ID of defender> - :ctf:returned:<flagcolor> - :dom:taken:<previouscolor>:<ID of player> - :keyhunt:capture:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> - :keyhunt:carrierfrag:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> - :keyhunt:collect:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> - :keyhunt:destroyed:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> - :keyhunt:destroyed_holdingkey:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> - :keyhunt:dropkey:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> - :keyhunt:losekey:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> - :keyhunt:push:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> - :keyhunt:pushed:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> - :scores:<gametype>_<mapname>:<map runtime> - :labels:player:<head1><flags>,<head2><flags>,... - :player:see-labels:<score1>,<score2>,...:<playtime>:<team>:<ID>:<nickname> - :player:see-labels:<score1>,<score2>,...:<playtime>:spectator:<ID>:<nickname> - :labels:teamscores:<head1><flags>,<head2><flags>,... - :teamscores:see-labels:<score1>,<score2>,...:<team> - :end - :restart - :gameover - :vote:suggested:<mapname>:<playerid> - :vote:keeptwo:<mapname>:<mapvotes>:<mapname>:<mapvotes>:::<mapname>:<mapvotes>:...:didn't vote:<notvoters> - :vote:finished:<mapname>:<mapvotes>:::<mapname>:<mapvotes>:<mapname>:<mapvotes>:...:didn't vote:<notvoters> - :vote:suggestion_accepted:<mapname> - :vote:vcall:<ID of player>:<vote command display string> - :vote:vyes:<yescount>:<nocount>:<abstaincount>:<notvoters>:<mincount> - :vote:vno:<yescount>:<nocount>:<abstaincount>:<notvoters>:<mincount> - :vote:vtimeout:<yescount>:<nocount>:<abstaincount>:<notvoters>:<mincount> - :vote:vstop:<ID of stopper> - :vote:vlogin:<ID of player> - :vote:vdo:<ID of player>:<do command display string> - :time:<YYYY-MM-DD HH:MM:SS> - :recordset:<ID of player>:<time in seconds> - - Note that only the :join and :player lines ever contain player names. The - :time event only appears in the log files if sv_eventlog_files_timestamps - is 1; there is no way to log these time stamps to the console (for console - timestamps, set timestamps to 1). - -team colors: - 1 = No Team (Domination) - 5 = Red Team - 14 = Blue Team - 13 = Yellow Team - 10 = Pink Team - -join types: - 1 = connect - 2 = auto - 3 = manual - 4 = spectating - 6 = adminmove - -label flags: - !! = primary sorting key - <!! = primary sorting key, lower is better - ! = secondary sorting key - <! = secondary sorting key, lower is better - < = lower is better - -itemstring: - <weaponid><flags> - or - <weaponid><flags>|<runes> - - where flags can contain: - F = player carries the flag - S = player has strength - I = player has the shield - T = player is typing (console, menu or chat) - - and weapon IDs are: - 1 = Laser - 2 = Shotgun - 3 = Machine Gun - 4 = Mortar - 5 = Electro - 6 = Crylink - 7 = Vortex - 8 = Hagar - 9 = Rocket Launcher - 10 = Port-O-Launch - 11 = Vaporizer - 12 = Grappling Hook - 13 = Heavy Laser Assault Cannon - 14 = T.A.G. Seeker - -death type: - either a weapon ID ORed with weapon death flags, or one of - the notifications in common/deathtypes.qh in the form of a string. - - weapon death flags are: - 256 = secondary fire - 512 = splash damage - 1024 = bounced projectile - 2048 = head shot (MinstaNex only) - 4096 = unused flag - -There will be a log analyzer parsing this file format soon. Note that weapon -IDs are below 10000. +cvars (see xonotic.org/tools/cacs for more up-to-date information): +______________ + + sv_eventlog master switch + sv_eventlog_files print frags, scores and captures for separate files each match + sv_eventlog_console print frags, scores and captures to serverconsole during the match + sv_logscores_bots choose whether bot are included in stats or not + + sv_eventlog_files_counter number of matches logged until now + sv_eventlog_files_nameprefix file name prefix to be used + sv_eventlog_files_namesuffix file name extension to be used + sv_eventlog_files_timestamps prefix log lines in the files with :time events + +log format: +______________ + + :logversion:3 + :gamestart:<gametype>_<mapname>:<matchid> + :gameinfo:mutators:LIST:mutator1:mutator2:... + + (note that mutators are listed by their cvar name with g_ removed, + unless such a cvar is 1 by default - then the mutator is listed with + a no_ prefix if the cvar is 0) + + :gameinfo:end + :join:<ID>:<slot>:<ip>:<nickname> + :join:<ID>:<slot>:bot:<nickname> + :name:<ID>:<nickname> + :part:<ID> + :team:<ID>:<team>:<jointype> + :kill:frag:<ID of killer>:<ID of victim>:type=<death type>:items=<itemstring of killer>:victimitems=<itemstring of victim> + :kill:tk:<ID of killer>:<ID of victim>:type=<death type>:items=<itemstring of killer>:victimitems=<itemstring of victim> + :kill:suicide:<ID>:<ID>:type=<death type>:items=<itemstring> + :kill:accident:<ID>:<ID>:type=<death type>:items=<itemstring> + :ctf:steal:<flagcolor>:<ID of attacker> + :ctf:dropped:<flagcolor>:<ID of dropper> + :ctf:pickup:<flagcolor>:<ID of attacker> + :ctf:capture:<flagcolor>:<ID of attacker> + :ctf:return:<flagcolor>:<ID of defender> + :ctf:returned:<flagcolor> + :dom:taken:<previouscolor>:<ID of player> + :keyhunt:capture:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> + :keyhunt:carrierfrag:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> + :keyhunt:collect:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> + :keyhunt:destroyed:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> + :keyhunt:destroyed_holdingkey:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> + :keyhunt:dropkey:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> + :keyhunt:losekey:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> + :keyhunt:push:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> + :keyhunt:pushed:<ID of player>:<points for player>:<ID of key owner>:<points for key owner>:<name of key> + :scores:<gametype>_<mapname>:<map runtime> + :labels:player:<head1><flags>,<head2><flags>,... + :player:see-labels:<score1>,<score2>,...:<playtime>:<team>:<ID>:<nickname> + :player:see-labels:<score1>,<score2>,...:<playtime>:spectator:<ID>:<nickname> + :labels:teamscores:<head1><flags>,<head2><flags>,... + :teamscores:see-labels:<score1>,<score2>,...:<team> + :end + :restart + :gameover + :vote:suggested:<mapname>:<playerid> + :vote:keeptwo:<mapname>:<mapvotes>:<mapname>:<mapvotes>:::<mapname>:<mapvotes>:...:didn't vote:<notvoters> + :vote:finished:<mapname>:<mapvotes>:::<mapname>:<mapvotes>:<mapname>:<mapvotes>:...:didn't vote:<notvoters> + :vote:suggestion_accepted:<mapname> + :vote:vcall:<ID of player>:<vote command display string> + :vote:vyes:<yescount>:<nocount>:<abstaincount>:<notvoters>:<mincount> + :vote:vno:<yescount>:<nocount>:<abstaincount>:<notvoters>:<mincount> + :vote:vtimeout:<yescount>:<nocount>:<abstaincount>:<notvoters>:<mincount> + :vote:vstop:<ID of stopper> + :vote:vlogin:<ID of player> + :vote:vdo:<ID of player>:<do command display string> + :time:<YYYY-MM-DD HH:MM:SS> + :recordset:<ID of player>:<time in seconds> + + Note that only the :join and :player lines ever contain player names. The + :time event only appears in the log files if sv_eventlog_files_timestamps + is 1; there is no way to log these time stamps to the console (for console + timestamps, set timestamps to 1). + +team colors: + 1 = No Team (Domination) + 5 = Red Team + 14 = Blue Team + 13 = Yellow Team + 10 = Pink Team + +join types: + 1 = connect + 2 = auto + 3 = manual + 4 = spectating + 6 = adminmove + +label flags: + !! = primary sorting key + <!! = primary sorting key, lower is better + ! = secondary sorting key + <! = secondary sorting key, lower is better + < = lower is better + +itemstring: + <weaponid><flags> + or + <weaponid><flags>|<runes> + + where flags can contain: + F = player carries the flag + S = player has strength + I = player has the shield + T = player is typing (console, menu or chat) + + and weapon IDs are: + 1 = Laser + 2 = Shotgun + 3 = Machine Gun + 4 = Mortar + 5 = Electro + 6 = Crylink + 7 = Vortex + 8 = Hagar + 9 = Rocket Launcher + 10 = Port-O-Launch + 11 = Vaporizer + 12 = Grappling Hook + 13 = Heavy Laser Assault Cannon + 14 = T.A.G. Seeker + +death type: + either a weapon ID ORed with weapon death flags, or one of + the notifications in common/deathtypes.qh in the form of a string. + + weapon death flags are: + 256 = secondary fire + 512 = splash damage + 1024 = bounced projectile + 2048 = head shot (MinstaNex only) + 4096 = unused flag + +There will be a log analyzer parsing this file format soon. Note that weapon +IDs are below 10000. diff --git a/Docs/mapdownload.txt b/Docs/mapdownload.txt index d52e4537..13376aa6 100644 --- a/Docs/mapdownload.txt +++ b/Docs/mapdownload.txt @@ -1,98 +1,98 @@ -map download: -______________ - - -CLIENT SIDE: - -Should already work without configuration. You can however use the following -cvars for further tuning (see xonotic.org/tools/cacs for more up-to-date information): - - cl_curl_enabled download support enabled (master switch) - cl_curl_maxdownloads maximum number of downloads at once - cl_curl_maxspeed maximum total speed in KiB/s - -Downloaded packages end up in |Xonotic/data/dlcache/| or -|~/.xonotic/data/dlcache/| and are only used till you exit Xonotic. - If you want to play them localy or use them to setup a server of your -own you can "accept" the packages by moving it one level up - right -next to your config.cfg. - -You should regularily clean up your cache to save space and make the maps -you really want available from the menu. - - -SERVER SIDE: - -First of all, you need a HTTP or FTP server to host your PK3s. You can either -use some web space provider, or set up your own. For this, use any FTP or HTTP -server software you want (HTTP: lighttpd, Apache, thttpd; FTP: Filezilla, -vsftpd). HTTP is to be preferred because it works better for firewalled -players. - -On the server, you need to set up where to download the PK3s of the maps you -are running. You can either use the cvar - - sv_curl_defaulturl default download URL - -to set it to some site, or put a file named "curl_urls.txt" in the data -directory of the following format: - - pattern url - pattern url - pattern url - ... - -where always the first wildcard pattern match is taken. - - data* - - strale* http://stralemaps.invalid/ - * http://all.the.other.stuff.invalid/id/here.php?pak= - foo* http://wont.get.here.invalid/ - -The pk3 name will be appended to the URL by DarkPlaces. Note that you NEED to -append a trailing slash if you refer to a directory. If you specify a "-" as -URL, the package will not be offered for download. - - -INFORMATION FOR MIRROR/MAP SERVER ADMINS: - -The Referer is always set to dp://serverhost:serverport/, the User-Agent -always starts with "Xonotic". Look at this sample log line: - -141.2.16.3 - - [06/Jun/2006:19:43:14 +0000] "GET /~polzer/temp/nexmaps.php?filename=o-fun.pk3 HTTP/1.1" 302 - "dp://141.2.16.3:26000/" "Xonotic Linux 21:26:17 Jun 6 2006" - - -If you want to set up a redirection service, here is a sample PHP code for you -to start from: - -<? - -function findmap($filename) -{ - # insert your database query or whatever you want here - if($filename == "foo.pk3") - return "http://barserver.invalid/foo.pk3"; - return FALSE; -} - -function bailout($code, $title, $message) -{ - header("HTTP/1.1 $code $title"); - echo "<html><title>$title</title><h1>$title</h1>$message</html>"; - exit(0); -} - -$filename = $_GET['filename']; - -$useragent = getenv("HTTP_USER_AGENT"); -if(strpos($useragent, "Xonotic ") !== 0) - bailout(403, "Forbidden", "You're not a Xonotic client."); - -$url = findmap($filename); -if(!$url) - bailout(404, "Not Found", "Well... try another file name?"); - -header("HTTP/1.1 302 Moved Temporarily"); -header("Location: $url"); - -?> +map download: +______________ + + +CLIENT SIDE: + +Should already work without configuration. You can however use the following +cvars for further tuning (see xonotic.org/tools/cacs for more up-to-date information): + + cl_curl_enabled download support enabled (master switch) + cl_curl_maxdownloads maximum number of downloads at once + cl_curl_maxspeed maximum total speed in KiB/s + +Downloaded packages end up in |Xonotic/data/dlcache/| or +|~/.xonotic/data/dlcache/| and are only used till you exit Xonotic. + If you want to play them localy or use them to setup a server of your +own you can "accept" the packages by moving it one level up - right +next to your config.cfg. + +You should regularily clean up your cache to save space and make the maps +you really want available from the menu. + + +SERVER SIDE: + +First of all, you need a HTTP or FTP server to host your PK3s. You can either +use some web space provider, or set up your own. For this, use any FTP or HTTP +server software you want (HTTP: lighttpd, Apache, thttpd; FTP: Filezilla, +vsftpd). HTTP is to be preferred because it works better for firewalled +players. + +On the server, you need to set up where to download the PK3s of the maps you +are running. You can either use the cvar + + sv_curl_defaulturl default download URL + +to set it to some site, or put a file named "curl_urls.txt" in the data +directory of the following format: + + pattern url + pattern url + pattern url + ... + +where always the first wildcard pattern match is taken. + + data* - + strale* http://stralemaps.invalid/ + * http://all.the.other.stuff.invalid/id/here.php?pak= + foo* http://wont.get.here.invalid/ + +The pk3 name will be appended to the URL by DarkPlaces. Note that you NEED to +append a trailing slash if you refer to a directory. If you specify a "-" as +URL, the package will not be offered for download. + + +INFORMATION FOR MIRROR/MAP SERVER ADMINS: + +The Referer is always set to dp://serverhost:serverport/, the User-Agent +always starts with "Xonotic". Look at this sample log line: + +141.2.16.3 - - [06/Jun/2006:19:43:14 +0000] "GET /~polzer/temp/nexmaps.php?filename=o-fun.pk3 HTTP/1.1" 302 - "dp://141.2.16.3:26000/" "Xonotic Linux 21:26:17 Jun 6 2006" + + +If you want to set up a redirection service, here is a sample PHP code for you +to start from: + +<? + +function findmap($filename) +{ + # insert your database query or whatever you want here + if($filename == "foo.pk3") + return "http://barserver.invalid/foo.pk3"; + return FALSE; +} + +function bailout($code, $title, $message) +{ + header("HTTP/1.1 $code $title"); + echo "<html><title>$title</title><h1>$title</h1>$message</html>"; + exit(0); +} + +$filename = $_GET['filename']; + +$useragent = getenv("HTTP_USER_AGENT"); +if(strpos($useragent, "Xonotic ") !== 0) + bailout(403, "Forbidden", "You're not a Xonotic client."); + +$url = findmap($filename); +if(!$url) + bailout(404, "Not Found", "Well... try another file name?"); + +header("HTTP/1.1 302 Moved Temporarily"); +header("Location: $url"); + +?> diff --git a/Docs/scorelog.txt b/Docs/scorelog.txt index 00876568..b1e6b851 100644 --- a/Docs/scorelog.txt +++ b/Docs/scorelog.txt @@ -1,43 +1,43 @@ -cvars (see xonotic.org/tools/cacs for more up-to-date information): -______________ - - sv_logscores_console print scores to serverconsole after each match (set to 1 to enable) - sv_logscores_file print scores to a file after each match - sv_logscores_filename filename of the output file if sv_logscores_file is enabled (the file will be stored in Xonotic/data/data or ~/.xonotic/data/data) - sv_logscores_bots choose whether bot are included in stats or not - - -commands: -______________ - - printstats print current scores to file/console (requires sv_logscores_console and/or - sv_logscores_file to be enabled) - - -log format: -______________ - -example: - - :scores:dm_nexdm01:131 - :player:1:7:129:1:GrooveMachine - :player:1:4:129:1:DanceWithMe - :player:10:1:130:3:Player - :end - - start of a new section: :scores:<gametype>_<mapname>:<map runtime> (if the dump was triggered - by "printstats", the line starts with :status:) - player entry: :player:<frags>:<deaths>:<playtime>:<team>:<nickname> (playername might contain ":", - so be sure your parser doesn't split them, playtime is messured in seconds) - section end: :end - -team colors: - Red Team = 5 - Blue Team = 14 - Yellow Team = 13 - Pink Team = 10 - - other team numbers may appear in free for all games - - for an example parser (written in php, thanks to tChr) have a look at: - http://excalibur.nvg.ntnu.no/nexuiz/statsparser +cvars (see xonotic.org/tools/cacs for more up-to-date information): +______________ + + sv_logscores_console print scores to serverconsole after each match (set to 1 to enable) + sv_logscores_file print scores to a file after each match + sv_logscores_filename filename of the output file if sv_logscores_file is enabled (the file will be stored in Xonotic/data/data or ~/.xonotic/data/data) + sv_logscores_bots choose whether bot are included in stats or not + + +commands: +______________ + + printstats print current scores to file/console (requires sv_logscores_console and/or + sv_logscores_file to be enabled) + + +log format: +______________ + +example: + + :scores:dm_nexdm01:131 + :player:1:7:129:1:GrooveMachine + :player:1:4:129:1:DanceWithMe + :player:10:1:130:3:Player + :end + + start of a new section: :scores:<gametype>_<mapname>:<map runtime> (if the dump was triggered + by "printstats", the line starts with :status:) + player entry: :player:<frags>:<deaths>:<playtime>:<team>:<nickname> (playername might contain ":", + so be sure your parser doesn't split them, playtime is messured in seconds) + section end: :end + +team colors: + Red Team = 5 + Blue Team = 14 + Yellow Team = 13 + Pink Team = 10 + + other team numbers may appear in free for all games + + for an example parser (written in php, thanks to tChr) have a look at: + http://excalibur.nvg.ntnu.no/nexuiz/statsparser