GMod FastDL Config Helper
FastDL lets players download custom content from a web server instead of the game server, drastically reducing join times. Fill in your settings below and get all the config snippets you need.
Should end with a trailing slash. This becomes the value for sv_downloadurl.
Content Types to Serve
Content Source
server.cfg line
sv_downloadurl "https://fastdl.example.com/gmod/"
workshop.lua snippet (custom files)
-- Place in garrysmod/lua/autorun/server/workshop.lua
-- Add resource.AddFile() for every custom file you host on FastDL
-- Maps
-- resource.AddFile("maps/your_map.bsp")
-- Models
-- resource.AddFile("models/your_model.mdl")
-- resource.AddFile("models/your_model.vtx")
-- resource.AddFile("models/your_model.vvd")
-- Materials
-- resource.AddFile("materials/your_material.vmt")
-- resource.AddFile("materials/your_texture.vtf")
-- Sounds
-- resource.AddFile("sound/your_sound.wav")
-- Tip: resource.AddFolder() will add all files in a folder recursively
-- resource.AddFolder("models/your_addon")
Add this to garrysmod/lua/autorun/server/workshop.lua (or any server-side autorun file) and replace the example paths with your actual files.
bzip2 Compression Commands
# Compress all files in a directory recursively (Linux/macOS)
find /var/www/fastdl/gmod/ -type f ! -name '*.bz2' -exec bzip2 -k {} \;
# Or compress a single file
bzip2 -k maps/your_map.bsp
# Notes:
# -k keeps the original file alongside the .bz2
# GMod clients will automatically pick the .bz2 version
# Rerun after adding new files to your FastDL server
Run on your web server to compress files. GMod clients will prefer .bz2 over uncompressed files automatically.
Required Directory Structure on Web Server
https://fastdl.example.com/gmod/ maps/ models/ materials/ sound/ # Mirror your GMod server folder structure exactly. # Example: if your map file is garrysmod/maps/rp_downtown.bsp # it should be at: https://fastdl.example.com/gmod/maps/rp_downtown.bsp
Mirror your GMod server's folder layout exactly under your FastDL URL.