Skip to content

What FastDL is and how custom content downloads in CS 1.6

FastDL sends custom maps, models and sounds to players over HTTP instead of through the game server. How it works, how to set it up and what to check.

Last checked
Steps
5
Reading time
4 min
On Hostsrc
Includes the steps for a Hostsrc server

FastDL (fast download) is a web server that holds a copy of your server's custom files. When a player joins without a map, model, sound or sprite your server uses, the game downloads it from the address in sv_downloadurl over HTTP. Without FastDL, the same file comes from the game server itself, which is much slower and holds up the join.

To use it, the files must sit at the same paths under the FastDL URL as under your server's cstrike folder.

On Hostsrc

FastDL is included on every plan. We set sv_downloadurl in your server.cfg each time the server starts, so you don't need to set it yourself.

Before you start

  • The custom files already on your game server, in the right folders (step 1).
  • For your own FastDL: a web server that serves plain HTTP.

Steps

  1. Step 1: Put the custom files in the right folders

    Upload each file to the folder the game expects, under cstrike. A player can only download what the server itself has. In Files, open the folder and press Upload, or connect over SFTP with the details in the SFTP menu.

    cstrike/maps/       maps (.bsp) and their resource lists (.res)cstrike/            texture files (.wad) that a map usescstrike/models/     models (.mdl)cstrike/sound/      sounds (.wav)cstrike/sprites/    sprites (.spr)cstrike/gfx/env/    sky textures (.tga)
    Files toolbar with the Upload button highlighted

    Panel as of

    Note

    File names are case-sensitive on Linux servers and web servers. de_Example.bsp and de_example.bsp are two different files.

  2. Step 2: Make the files available to FastDL

    On Hostsrc, press Sync FastDL in Files after you upload. It sets the permissions on your files so FastDL can serve them.

    On your own FastDL, copy the same files to the web server and keep the same folder layout. Upload them uncompressed, with the same names as on the game server.

    Files toolbar with the Sync FastDL button highlighted

    Panel as of

  3. Step 3: Check sv_downloadurl

    Type sv_downloadurl in the server console. It prints the URL clients will use. On Hostsrc it is already set for you.

    On your own FastDL, set it in server.cfg. Use http://, end it with /, and point it at the folder that holds maps/, models/ and sound/.

    cstrike/server.cfg
    sv_downloadurl "http://203.0.113.80/cstrike/"sv_allowdownload 1

    Warning

    Use plain HTTP with no redirect. CS 1.6 doesn't download FastDL files over HTTPS, and a redirect to HTTPS stops the download too.

  4. Step 4: Keep sv_allowdownload on

    Leave sv_allowdownload 1 set. Players can then still download a file from the game server if FastDL doesn't have it.

  5. Step 5: Test it from a clean client

    Remove the file from your own game, then join your server. The console shows each file as it downloads, and the map should load without a long wait.

    The game keeps downloaded files in a separate cstrike_downloads folder in its install directory. Delete the file from there to test again.

How custom content downloads

When a player connects, the server sends a list of every file the map and plugins need. The game checks which of them it already has. For each missing file, it asks the FastDL URL first, at the same path as on the server, such as maps/de_example.bsp. If that fails and sv_allowdownload is on, it falls back to downloading from the game server.

Three things decide what is on the list:

  • The map itself, plus any .wad it uses.
  • The map's .res file, which lists extra sounds, models and sprites the map needs.
  • Plugins, which add their own sounds, models and sprites.

Players who turned downloads off in their game (cl_allowdownload 0) don't download anything. They need to turn it back on to join a server with custom content.

Troubleshooting

Downloads are slow, as if FastDL isn't used

Type sv_downloadurl in the server console and check the value. If it's empty or wrong, another config may set it after server.cfg. On your own FastDL, check the URL is http://, has no redirect and ends with /.

The map downloads but textures are missing

The map uses a .wad that isn't on the server or on FastDL. Put the .wad in cstrike/ on both, and check the map's .res file lists it.

One file downloads slowly or not at all

The file isn't at the URL the game asks for, so the game falls back to the game server, or gives up if sv_allowdownload is 0. Open the URL plus the file's path in a browser, such as http://203.0.113.80/cstrike/maps/de_example.bsp. If it returns an error, fix the folder level or the case of the name.

Custom sounds or models from a plugin don't download

The files aren't on the server under the path the plugin uses. Check the plugin's readme for the exact paths, upload the files there, and make them available to FastDL (step 2).

Your FastDL URL uses a domain and nothing downloads

Some admins found the game stopped resolving domain names in sv_downloadurl after the 25th anniversary update. On your own FastDL, try the web server's IP address in the URL instead.