TF2 FastDL Config Helper
Configure FastDL so clients download custom maps, sounds, and models from your web server instead of the game server — dramatically reducing connection times.
FastDL Settings
Must point to the root of the FastDL tf/ directory on your web host. Include trailing slash.
File Types to Include
server.cfg FastDL Block
Required Web Server Directory Structure
Mirror the TF2 tf/ directory on your web server. Files must be at the exact same relative path.
https://fastdl.example.com/tf/
maps/
mym_custommap.bsp # raw
mym_custommap.bsp.bz2 # compressed (client tries this first)
mym_custommap.nav
materials/
custom/
texture.vmt
texture.vtf
models/
custom/
model.mdl
model.vtx
model.vvd
sound/
custom/
ambient.mp3
bzip2 Compression Guide
Compress files with bzip2 -k filename.bsp — the -k flag keeps the original file.
The client tries the .bz2 version first. If found, it downloads and decompresses it automatically. If not found, it falls back to the raw file.
Upload both the original file and the .bz2 version to your web server at the same relative path.
# Compress a map:
bzip2 -k maps/mym_custommap.bsp
# Produces: maps/mym_custommap.bsp.bz2
# Batch compress all maps:
bzip2 -k maps/*.bsp
nginx Config Snippet
server {
listen 80;
server_name fastdl.example.com;
root /var/www/tf2fastdl;
autoindex on; # required for directory listings
location / {
try_files $uri $uri/ =404;
}
}