FastDL: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{lang|FastDL|title=HTTP Fast Download Server}}
{{lang|FastDL|title=HTTP Fast Download Server}}
Source supports the download of custom content (maps, skins, sounds, and so on) from a HTTP server (ie: webserver) when connecting, instead of downloading directly from the game server itself.
Source supports the download of custom content (maps, skins, sounds, and so on) from a HTTP server (ie: webserver) when connecting, instead of downloading directly from the game server itself.
HTTP downloading has three major benefits:
*There is no impact on the game server when downloading custom content, as a completely separate HTTP content server does the transfer.
*Players will download custom content at their maximum transfer rate, resulting in much faster downloads.
*Players downloading custom content do not take up a player slot on the server while waiting.


==Server with Custom Content: User Experience==
==Server with Custom Content: User Experience==
Line 9: Line 15:


{{Note|If any of the custom content is not present on the HTTP content server or the case of the file name does not match then the player will disconnect from the HTTP and fall back and download any remaining content via trickle download from the server.}}
{{Note|If any of the custom content is not present on the HTTP content server or the case of the file name does not match then the player will disconnect from the HTTP and fall back and download any remaining content via trickle download from the server.}}
== Set Up FastDL Server ==
Use Web program(such as XAMPP,Apache,Nginx) set up a webpage,Then make sure the webpage is accessible,Then find a way(Use FTP or another way) to put the files player need to download to wwwroot(Website root directory Not necessarily wwwroot)
== Configuring your server to use fast HTTP Downloading ==
1.Make a list of all the custom files (bsp, wav, mdl, etc) used on your server.
2.Put those files on a HTTP server (ie: webserver), keeping the folder layout intact.
3.Optional: To display a banner image to players that download content, place a 340x56 pixel image in the file <custom content directory>/gfx/banner.gif.
4.Set the sv_downloadurl cvar to http://yourserver/custom_content_directory/.
Example:
Your server uses the non-standard map de_generic, which requires the following files:
C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\maps\de_generic.map
C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\de_generic.wad
C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\sound\ambience\de_generic_a.wav
C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\sound\ambience\de_generic_b.wav
C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\sound\ambience\de_generic_c.wav
You have web space (perhaps through your ISP) with the URL http://www.turtlerockstudios.com/~matt that you will use to host your custom content.
Copy the files needed for de_generic to your webspace, placing them in a folder called my_cstrike; in your webspace top-level directory, keeping their directory layout intact.
You now have the following files in your webspace:
http://www.turtlerockstudios.com/~matt/my_cstrike/maps/de_generic.map
http://www.turtlerockstudios.com/~matt/my_cstrike/de_generic.wad
http://www.turtlerockstudios.com/~matt/my_cstrike/sound/ambience/de_generic_a.wav
http://www.turtlerockstudios.com/~matt/my_cstrike/sound/ambience/de_generic_b.wav
http://www.turtlerockstudios.com/~matt/my_cstrike/sound/ambience/de_generic_c.wav
You now set the sv_downloadurl cvar on your game server to http://www.turtlerockstudios.com/~matt/my_cstrike/
Players who then connect to your server will automatically download the map de_generic and its required files from your webspace when they connect, unless they already have it.

Revision as of 04:08, 11 June 2020

English (en)中文 (zh)Translate (Translate)

Source supports the download of custom content (maps, skins, sounds, and so on) from a HTTP server (ie: webserver) when connecting, instead of downloading directly from the game server itself.

HTTP downloading has three major benefits:

  • There is no impact on the game server when downloading custom content, as a completely separate HTTP content server does the transfer.
  • Players will download custom content at their maximum transfer rate, resulting in much faster downloads.
  • Players downloading custom content do not take up a player slot on the server while waiting.

Server with Custom Content: User Experience

When a player connects to a server utilizing custom content, one of two things will occur:

  • If the server is not configured for HTTP download, the game server will use the normal trickle download mechanism.
  • If the server is configured for HTTP downloading, the player will see an enhanced download dialog and much faster downloads. While this content is downloading, they are not connected to the game server. Once the download finishes, they are automatically reconnected to the game server and ready to play.
Note.pngNote:If any of the custom content is not present on the HTTP content server or the case of the file name does not match then the player will disconnect from the HTTP and fall back and download any remaining content via trickle download from the server.

Set Up FastDL Server

Use Web program(such as XAMPP,Apache,Nginx) set up a webpage,Then make sure the webpage is accessible,Then find a way(Use FTP or another way) to put the files player need to download to wwwroot(Website root directory Not necessarily wwwroot)

Configuring your server to use fast HTTP Downloading

1.Make a list of all the custom files (bsp, wav, mdl, etc) used on your server. 2.Put those files on a HTTP server (ie: webserver), keeping the folder layout intact. 3.Optional: To display a banner image to players that download content, place a 340x56 pixel image in the file <custom content directory>/gfx/banner.gif. 4.Set the sv_downloadurl cvar to http://yourserver/custom_content_directory/. Example:

Your server uses the non-standard map de_generic, which requires the following files:

C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\maps\de_generic.map C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\de_generic.wad C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\sound\ambience\de_generic_a.wav C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\sound\ambience\de_generic_b.wav C:\Program Files\Steam\SteamCache\[account name]\Counter-Strike\cstrike\sound\ambience\de_generic_c.wav You have web space (perhaps through your ISP) with the URL http://www.turtlerockstudios.com/~matt that you will use to host your custom content.

Copy the files needed for de_generic to your webspace, placing them in a folder called my_cstrike; in your webspace top-level directory, keeping their directory layout intact. You now have the following files in your webspace: http://www.turtlerockstudios.com/~matt/my_cstrike/maps/de_generic.map http://www.turtlerockstudios.com/~matt/my_cstrike/de_generic.wad http://www.turtlerockstudios.com/~matt/my_cstrike/sound/ambience/de_generic_a.wav http://www.turtlerockstudios.com/~matt/my_cstrike/sound/ambience/de_generic_b.wav http://www.turtlerockstudios.com/~matt/my_cstrike/sound/ambience/de_generic_c.wav You now set the sv_downloadurl cvar on your game server to http://www.turtlerockstudios.com/~matt/my_cstrike/ Players who then connect to your server will automatically download the map de_generic and its required files from your webspace when they connect, unless they already have it.