mirror of
https://github.com/dhewm/iddevnet.git
synced 2024-11-25 05:41:05 +00:00
245 lines
13 KiB
HTML
245 lines
13 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
|
<meta name="robots" content="index,nofollow">
|
|
|
|
<title>AutoDownload - Quake 4 SDK Documentation</title>
|
|
<script type="text/javascript" src="wiki/common/js/common.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
<!--// common functions
|
|
|
|
// We keep here the state of the search box
|
|
searchIsDisabled = false;
|
|
|
|
function searchChange(e) {
|
|
// Update search buttons status according to search box content.
|
|
// Ignore empty or whitespace search term.
|
|
var value = e.value.replace(/\s+/, '');
|
|
if (value == '' || searchIsDisabled) {
|
|
searchSetDisabled(true);
|
|
} else {
|
|
searchSetDisabled(false);
|
|
}
|
|
}
|
|
|
|
function searchSetDisabled(flag) {
|
|
// Enable or disable search
|
|
document.getElementById('fullsearch').disabled = flag;
|
|
document.getElementById('titlesearch').disabled = flag;
|
|
}
|
|
|
|
function searchFocus(e) {
|
|
// Update search input content on focus
|
|
if (e.value == 'Search') {
|
|
e.value = '';
|
|
e.className = '';
|
|
searchIsDisabled = false;
|
|
}
|
|
}
|
|
|
|
function searchBlur(e) {
|
|
// Update search input content on blur
|
|
if (e.value == '') {
|
|
e.value = 'Search';
|
|
e.className = 'disabled';
|
|
searchIsDisabled = true;
|
|
}
|
|
}
|
|
|
|
function actionsMenuInit(title) {
|
|
// Initialize action menu
|
|
for (i = 0; i < document.forms.length; i++) {
|
|
var form = document.forms[i];
|
|
if (form.className == 'actionsmenu') {
|
|
// Check if this form needs update
|
|
var div = form.getElementsByTagName('div')[0];
|
|
var label = div.getElementsByTagName('label')[0];
|
|
if (label) {
|
|
// This is the first time: remove label and do buton.
|
|
div.removeChild(label);
|
|
var dobutton = div.getElementsByTagName('input')[0];
|
|
div.removeChild(dobutton);
|
|
// and add menu title
|
|
var select = div.getElementsByTagName('select')[0];
|
|
var item = document.createElement('option');
|
|
item.appendChild(document.createTextNode(title));
|
|
item.value = 'show';
|
|
select.insertBefore(item, select.options[0]);
|
|
select.selectedIndex = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//-->
|
|
</script>
|
|
|
|
|
|
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="wiki/modern/css/common.css">
|
|
<link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="wiki/modern/css/screen.css">
|
|
<link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="wiki/modern/css/print.css">
|
|
<link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="wiki/modern/css/projection.css">
|
|
|
|
<!-- css only for MSIE browsers -->
|
|
<!--[if IE]>
|
|
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="wiki/modern/css/msie.css">
|
|
<![endif]-->
|
|
|
|
|
|
|
|
<link rel="Start" href="./Quake4SDK">
|
|
<link rel="Alternate" title="Wiki Markup" href="./AutoDownload?action=raw">
|
|
<link rel="Alternate" media="print" title="Print View" href="./AutoDownload?action=print">
|
|
<link rel="Search" href="./FindPage">
|
|
<link rel="Index" href="./TitleIndex">
|
|
<link rel="Glossary" href="./WordIndex">
|
|
<link rel="Help" href="./HelpOnFormatting">
|
|
</head>
|
|
|
|
<body lang="en" dir="ltr">
|
|
|
|
<div id="header">
|
|
<div id="logo"><a href="./Quake4SDK"><img src="wiki/common/moinmoin.png" alt="MoinMoin Logo"></a></div>
|
|
|
|
<form id="searchform" method="get" action="">
|
|
<div>
|
|
<input type="hidden" name="action" value="fullsearch">
|
|
<input type="hidden" name="context" value="180">
|
|
<label for="searchinput">Search:</label>
|
|
<input id="searchinput" type="text" name="value" value="" size="20"
|
|
onfocus="searchFocus(this)" onblur="searchBlur(this)"
|
|
onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search">
|
|
<input id="titlesearch" name="titlesearch" type="submit"
|
|
value="Titles" alt="Search Titles">
|
|
<input id="fullsearch" name="fullsearch" type="submit"
|
|
value="Text" alt="Search Full Text">
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript">
|
|
<!--// Initialize search form
|
|
var f = document.getElementById('searchform');
|
|
f.getElementsByTagName('label')[0].style.display = 'none';
|
|
var e = document.getElementById('searchinput');
|
|
searchChange(e);
|
|
searchBlur(e);
|
|
//-->
|
|
</script>
|
|
|
|
<ul id="username"><li><a href="./AutoDownload?action=login" id="login">Login</a></li></ul>
|
|
<div id="locationline">
|
|
|
|
|
|
<ul id="pagelocation">
|
|
<li><a class="backlink" title="Click to do a full-text search for this title" href="./AutoDownload?action=fullsearch&value=linkto%3A%22AutoDownload%22&context=180">AutoDownload</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
<ul id="navibar">
|
|
<li class="wikilink"><a href="./GettingStarted">GettingStarted</a></li><li class="wikilink"><a href="./ScriptFile">ScriptFile</a></li><li class="wikilink"><a href="./MakeAMod">MakeAMod</a></li><li class="wikilink"><a href="./LevelEditor">LevelEditor</a></li><li class="wikilink"><a href="./FXEditor">FXEditor</a></li><li class="wikilink"><a href="./GUIEditor">GUIEditor</a></li><li class="wikilink"><a href="./Sounds">Sounds</a></li><li class="wikilink"><a href="./Animations">Animations</a></li><li class="wikilink"><a href="./ArtReference">ArtReference</a></li><li class="wikilink"><a href="./DownloadableContent">DownloadableContent</a></li><li class="wikilink"><a href="./RecentChanges">RecentChanges</a></li><li class="wikilink"><a href="./FindPage">FindPage</a></li><li class="wikilink"><a href="./HelpContents">HelpContents</a></li><li class="current"><a href="./AutoDownload">AutoDownload</a></li>
|
|
</ul>
|
|
|
|
<div id="pageline"><hr style="display:none;"></div>
|
|
|
|
<ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a href="./AutoDownload?action=info">Info</a></li><li><a href="./AutoDownload?action=AttachFile">Attachments</a></li><li>
|
|
<form class="actionsmenu" method="get" action="">
|
|
<div>
|
|
<label>More Actions:</label>
|
|
<select name="action"
|
|
onchange="if ((this.selectedIndex != 0) &&
|
|
(this.options[this.selectedIndex].disabled == false)) {
|
|
this.form.submit();
|
|
}
|
|
this.selectedIndex = 0;">
|
|
<option value="raw">Raw Text</option>
|
|
<option value="print">Print View</option>
|
|
<option value="RenderAsDocbook">Render as Docbook</option>
|
|
<option value="refresh">Delete Cache</option>
|
|
<option value="show" disabled class="disabled">------------</option>
|
|
<option value="SpellCheck">Check Spelling</option>
|
|
<option value="LikePages">Like Pages</option>
|
|
<option value="LocalSiteMap">Local Site Map</option>
|
|
<option value="show" disabled class="disabled">------------</option>
|
|
<option value="RenamePage" disabled class="disabled">Rename Page</option>
|
|
<option value="DeletePage" disabled class="disabled">Delete Page</option>
|
|
<option value="show" disabled class="disabled">------------</option>
|
|
<option value="MyPages">My Pages</option>
|
|
<option value="SubscribeUser">Subscribe User</option>
|
|
<option value="show" disabled class="disabled">------------</option>
|
|
<option value="Despam">Remove Spam</option>
|
|
<option value="PackagePages">Package Pages</option>
|
|
</select>
|
|
<input type="submit" value="Do">
|
|
</div>
|
|
<script type="text/javascript">
|
|
<!--// Init menu
|
|
actionsMenuInit('More Actions:');
|
|
//-->
|
|
</script>
|
|
</form>
|
|
</li></ul>
|
|
|
|
</div>
|
|
|
|
<div id="page" lang="en" dir="ltr">
|
|
<div dir="ltr" id="content" lang="en"><span class="anchor" id="top"></span>
|
|
<span class="anchor" id="line-3"></span><span class="anchor" id="line-4"></span><p class="line867">
|
|
<h1 id="head-7cc6903c08c3da87aa8e8cf8bc084b1f5b0819b9">Client download configuration</h1>
|
|
<span class="anchor" id="line-5"></span><span class="anchor" id="line-6"></span><p class="line862">Download behaviour on the client side is configured with the <em>net_clientDownload</em> cvar: <span class="anchor" id="line-7"></span><span class="anchor" id="line-8"></span><ul><li>0: no downloads. if the server you are connecting to requires paks that you don't have, the connection will fail with an error message <span class="anchor" id="line-9"></span></li><li>1: ask. any time some pak files would need to be downloaded, you will get prompted about it. this is the default <span class="anchor" id="line-10"></span></li><li>2: always download. you will still get prompted if the server wants to send you binary game code. ( which you should only ever agree to if you really trust the server admin ) <span class="anchor" id="line-11"></span><span class="anchor" id="line-12"></span></li></ul><p class="line867">
|
|
<h1 id="head-c9dea200cb0b460d33e0d7e2a2a775fd7b3fcdba">Server download configuration</h1>
|
|
<span class="anchor" id="line-13"></span><span class="anchor" id="line-14"></span><p class="line874">There are no builtin downloads. All downloads are done through http/ftp URLs handed over to the clients. The clients however can stay connected while downloading your files before joining the game. The base game provides a simple backend to setup downloads. Mods can modify and extend how the server decides how and for who to provide downloads. <span class="anchor" id="line-15"></span><span class="anchor" id="line-16"></span><p class="line867"><em>net_serverDownload</em>: <span class="anchor" id="line-17"></span><span class="anchor" id="line-18"></span><ul><li>0: this server doesn't provide any downloads <span class="anchor" id="line-19"></span></li><li><p class="line862">1: any download request will simply forward the client to a web page defined by <em>si_serverURL</em> ( client will shutdown and open the page) <span class="anchor" id="line-20"></span></li><li>2: provide a number of downloads for the files this server is running. See other cvars below <span class="anchor" id="line-21"></span><span class="anchor" id="line-22"></span></li></ul><p class="line867"><em>net_serverDlBaseURL</em>: holds the base URL to the files to be downloaded. The final URLs will be constructed as <em>net_serverDlBaseURL</em>/<em>pakfilepath</em> ( where pakfilepath is defined by <em>net_serverDlTable</em> ) <span class="anchor" id="line-23"></span><span class="anchor" id="line-24"></span><p class="line867"><em>net_serverDlTable</em>: a list of pak files for which download is provided, seperated by ;. The paths should include the fs_game path ( 'base/', or your mod path .. 'base/myd3map.pk4;d3xp/myroemap.pk4' ). You can also set <em>net_serverDlTable</em> to <em>*</em> to mark all paks that may be requested for download. <span class="anchor" id="line-25"></span><span class="anchor" id="line-26"></span><p class="line862">You will need to be running an ftp or http server to serve those files. Currently the Quake4 server doesn't provide an integrated way to serve the files itself. If you are looking for a lightweight simple http server, I recommend <a class="http" href="http://www.acme.com/software/thttpd/">thttpd</a>. <span class="anchor" id="line-27"></span><span class="anchor" id="line-28"></span><p class="line867"><strong>NOTE</strong>: AutoDownload <strong>will not work</strong> on files that are named like official assets paks ( pak[0-9]*.pk4 ). You should use a different naming in your mods and custom maps. <span class="anchor" id="line-29"></span><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">AutoDownload (last edited 2006-12-03 19:08:18 by <span title="TimotheeBesset @ pool-71-164-173-18.dllstx.fios.verizon.net[71.164.173.18]"><a class="nonexistent" href="./TimotheeBesset" title="TimotheeBesset @ pool-71-164-173-18.dllstx.fios.verizon.net[71.164.173.18]">TimotheeBesset</a></span>)</p>
|
|
|
|
<div id="pagebottom"></div>
|
|
</div>
|
|
|
|
|
|
<div id="footer">
|
|
<ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a href="./AutoDownload?action=info">Info</a></li><li><a href="./AutoDownload?action=AttachFile">Attachments</a></li><li>
|
|
<form class="actionsmenu" method="get" action="">
|
|
<div>
|
|
<label>More Actions:</label>
|
|
<select name="action"
|
|
onchange="if ((this.selectedIndex != 0) &&
|
|
(this.options[this.selectedIndex].disabled == false)) {
|
|
this.form.submit();
|
|
}
|
|
this.selectedIndex = 0;">
|
|
<option value="raw">Raw Text</option>
|
|
<option value="print">Print View</option>
|
|
<option value="RenderAsDocbook">Render as Docbook</option>
|
|
<option value="refresh">Delete Cache</option>
|
|
<option value="show" disabled class="disabled">------------</option>
|
|
<option value="SpellCheck">Check Spelling</option>
|
|
<option value="LikePages">Like Pages</option>
|
|
<option value="LocalSiteMap">Local Site Map</option>
|
|
<option value="show" disabled class="disabled">------------</option>
|
|
<option value="RenamePage" disabled class="disabled">Rename Page</option>
|
|
<option value="DeletePage" disabled class="disabled">Delete Page</option>
|
|
<option value="show" disabled class="disabled">------------</option>
|
|
<option value="MyPages">My Pages</option>
|
|
<option value="SubscribeUser">Subscribe User</option>
|
|
<option value="show" disabled class="disabled">------------</option>
|
|
<option value="Despam">Remove Spam</option>
|
|
<option value="PackagePages">Package Pages</option>
|
|
</select>
|
|
<input type="submit" value="Do">
|
|
</div>
|
|
<script type="text/javascript">
|
|
<!--// Init menu
|
|
actionsMenuInit('More Actions:');
|
|
//-->
|
|
</script>
|
|
</form>
|
|
</li></ul>
|
|
|
|
<ul id="credits">
|
|
<li><a href="http://moinmoin.wikiwikiweb.de/">MoinMoin Powered</a></li><li><a href="http://www.python.org/">Python Powered</a></li><li><a href="http://validator.w3.org/check?uri=referer">Valid HTML 4.01</a></li>
|
|
</ul>
|
|
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|