X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=Docs%2Fmapdownload.txt;h=23c2dc6f3db394edaaf05465023a7f3a9eac7ce5;hp=7ea9db6429f7c72341c5f54c6559686b9d2491a7;hb=c9d3046d7ed2bcc66bf019a84d20442fd2c18510;hpb=b172ea517999552dffb2bcae2f011c8ad477c029 diff --git a/Docs/mapdownload.txt b/Docs/mapdownload.txt index 7ea9db64..23c2dc6f 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: - - cl_curl_enabled download support enabled (master switch, default: 1) - cl_curl_maxdownloads maximum number of downloads at once (default: 1) - cl_curl_maxspeed maximum total speed in KiB/s (default: 100) - -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: - -$title

$title

$message"; - 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: + + cl_curl_enabled download support enabled (master switch, default: 1) + cl_curl_maxdownloads maximum number of downloads at once (default: 3) + cl_curl_maxspeed maximum total speed in KiB/s (default: 0) + +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: + +$title

$title

$message"; + 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"); + +?>