Downloads: Difference between revisions

From Totem Arts Wiki
Jump to navigation Jump to search
Created page with "Servers can allow clients to download needed files straight from the server or from a webserver. This is great for servers using custom maps, mutators, and other content. The..."
 
Line 37: Line 37:
.upk    application/octet-stream <br />
.upk    application/octet-stream <br />


* Make sure you keep your game folder and the webfolder synced. You dont want clients trying to download the wrong version of your files.
* Make sure you keep your game folder and the webfolder synced. You dont want clients trying to download the wrong version of your files.<br />
 


On the Renegade X game server set the following INI options
On the Renegade X game server set the following INI options
Line 48: Line 49:
'''Option Descriptions'''<br />
'''Option Descriptions'''<br />
RedirectToURL=  ;url to redirect to. Must have trailing slash. Doesn't work with alternative ports (must be port 80).<br />
RedirectToURL=  ;url to redirect to. Must have trailing slash. Doesn't work with alternative ports (must be port 80).<br />
UseCompression=    ;are the files compressed  
UseCompression=    ;are the files compressed


== Client related settings ==
== Client related settings ==

Revision as of 22:25, 25 November 2017

Servers can allow clients to download needed files straight from the server or from a webserver. This is great for servers using custom maps, mutators, and other content.

There are 2 main download methods, Channel Downloading and HTTP Downloading.

Directly downloading from the server is called channel downloading. It is called this because it uses the normal client communications channels, and as such, is very slow, using the speed assigned for network gameplay updates as the download speed. This is set to 40kbps by default.

Downloading from a webserver is called HTTPDownloading and is as fast as the webserver can allow.

Files downloaded from a server go into a cache folder on the client, which is located at (Game folder)\UDKGame\Cache. These files can be anything, maps files, characters, effects, sounds,,, everything under UDKGame\CookedPC.

The packages in the cache are the exact same packages as found on the server, just renamed to their GUID(the unique id of the package), and the extension changed to .uxx. You will find a file inside the cache folder called Cache.ini which maps these files to their real file name. The cache folder will be included in any search for packages, so the client doesnt not need to move any files.

Channel Downloading

Channel downloading is enabled by default, but can be controlled with the following option in the config INI.


(game folder)\UDKGame\Config\UDKEngine.ini

Under the [IpDrv.TcpNetDriver] section

AllowDownloads=True


The download speed is based on the client channel communication speed.

HTTP Downloading

For this, you will need to have a webserver setup, to hold the files for clients to download. It is advised that this server be on a different internet connection to your game server, to avoid effecting performance.


Pay attention to the following points about the webserver.

  • The webserver must run on port 80
  • The packages must be on the root of the path, NO subfolders.
  • Make sure to set the appropriate MIME types on your webserver. For example:

.udk application/octet-stream
.u application/octet-stream
.upk application/octet-stream

  • Make sure you keep your game folder and the webfolder synced. You dont want clients trying to download the wrong version of your files.


On the Renegade X game server set the following INI options (Game Folder)\UDKGame\Config\UDKEngine.ini

[IpDrv.HTTPDownload]
RedirectToURL=http://www.edtnint.net/renx/maps/
UseCompression=False

Option Descriptions
RedirectToURL= ;url to redirect to. Must have trailing slash. Doesn't work with alternative ports (must be port 80).
UseCompression= ;are the files compressed

Client related settings

There are a couple client side settings that effect downloading. The first is cache related settings. The chace has a built in cleaning system, that will remove old files from the cache.

These settings are located in (Game Folder)\UDKGame\Config\UDKEngine.ini

Cache Options

[Core.System]
StaleCacheDays=365
MaxStaleCacheSize=10000
MaxOverallCacheSize=100000
PackageSizeSoftLimit=2000

Option Descriptions
StaleCacheDays  ; How long in days until an unused file is marked as stale.
MaxStaleCacheSize; How much content in MB can be considered stale before being deleted.
MaxOverallCacheSize; How much content in MB can be in the cache before being deleted, old files first.
PackageSizeSoftLimit; Individual max package size in MB.


HTTPDownload options

[IpDrv.HTTPDownload]
ConnectionTimeout=12000
ProxyServerPort=0
ProxyServerHost=

Option Descriptions
ConnectionTimeout ;how long in seconds the client can spend downloading before timingout. Can be very high, as the client isn't taking up a player slot while downloading maps.
ProxyServerPort ;the clients web proxy port
ProxyServerHost ;the clients web proxy IP

Issues

-Current issue: It currently doesnt automatically download the next map, it just drops players to the main menu. They can then reconnect and get the next map. I'm looking into what can be done about this. Right now, when players see the "loading map" message on the end game screen, it starts to download the next map, then the client connects to the server and the server seems to kill it. I'm thinking its a code issue and not a config issue at this point. I'm going through the code to find out.