TF2 FastDL: Serve Custom Maps Quickly to Your Players
Without FastDL, players download custom maps directly from the game server, which is slow and can cause timeouts. FastDL lets them download from a web server instead. This guide covers the basics.
What you need
- A web host that serves static files over HTTP or HTTPS.
- The custom map files, including any extra content such as sounds or materials.
Folder layout
Mirror your server folder structure on the web host. For maps, the web path looks like tf/maps/mapname.bsp.bz2, depending on how you set the base URL.
Compress the files
FastDL files are normally compressed with bzip2 and have .bz2 added to the file name. Keep the original uncompressed files on the game server and put only the compressed versions on the web host.
Server settings
Add these to server.cfg in tf/cfg:
- sv_downloadurl "http://yourhost/path/tf"
- sv_allowdownload 1
Use the URL where the folder containing maps appears, without file names. Test it by pasting a full file URL into a browser to see that it downloads.
Add the map to the server
- Upload the .bsp file to tf/maps in the Files tab.
- Add its name, without extension, to your map cycle file.
- Change to it from the console with changelevel mapname.
Map cycle
The map cycle file lists maps in rotation. Keep it tidy so players are not sent to missing maps.
Common problems
- Players still download slowly: the URL is wrong or the file is missing, so test in a browser.
- Map not found: check the exact file name and case on Linux.
- Download stops or fails: the file may exceed the download size limit, which can be raised with net_maxfilesize within the limits the game allows.
- Players get kicked for missing files: some content is not on FastDL.
Tips
- Use a host with good uptime.
- Keep names lowercase.
- Remove old maps you no longer run.
- Test with a fresh client that has never downloaded the map.