A Complete Guide to "FastDL"

I know there are many guides on how to set up a working “FastDL”, but non of them (at least not to what I’ve seen), don’t tell you exactly how to do it (including cache ect). I was wondering if someone could kindly write a detailed step by step guide as of how to achieve this.
I’ve read that you need to include your cache/dua folder, I’ve read you need to include your lua files, I’ve read you must not include any lua files… many confusing statements.

When I attemped this for my RP server (many custom models) I would get so many issues, like:

  • Clients downloaded everything each time they joined.
  • The downloaded files never worked anyway (showing many large red ERRORs).

The guide should include:

  • setting your "sv_downloadurl “http://IP/IP-PORT/***”.
  • managing resource.AddFile( “” ) commands.

I think if someone wrote a useful guide on this, it would help many server hosts, not just me.

Thanks =]

I pasted an old article on the wiki I wrote for some other forum, try reading it.

If you have some other questions I guess I would be happy to answer them.


resource.AddFile() is for Maps, Materials, Models, Sounds, Fonts and any other client file.

AddCSLuaFile() is used to add clientside lua files to the table of lua files that the client will need, unless you are making your own scripts you don’t need to worry about this.

I made this about 2-3 months ago and posted it around on xuras.net and pulsar effect. I was gonna post it here at some point but I didn’t want to get slandered. This guide should contain everything needed to know, however if something is missing do tell me.

EDIT: Oh snap I appear to have missed an entire section on maps.

Basically, Look up how to bzip maps on google. Once they’re all bzipped, upload them to the webserver under garrysmod/maps - If that doesnt work try putting it in addons if the map was orignally in an addon format.

Thanks for the replies guys, a great help =]

You say you can use this for wire:

Could you change it for any addon? Eg:


Such as all the “shared.lua” files from SWEPS and Entities?

shared.lua is always included and addcsluafile’d in any entity.

The problem I keep having is, when joining all the files download as they should, but things are still ERRORs, such as the player models.

Here’s a screenshot of my “downloadurl”.

(ignore “build-addons” thats got nothing to do with it and needs deleting)

And my “server.cfg”

Addons are an emulated Garry’s Mod folder, you can’t resource.AddFile() them otherwise it literally downloads it as an addon without a info.txt.

You don’t need any of the .ztmp files as they are just a compressed version of a file used for the regular download system in source.

The gamemodes folder is 100% useless as clients do not download .lua files.

Your map has capitals in it. (Clients tend to not download maps with capitals)

I don’t see any player models in your models folder, how do you expect them to download them?

Read my explanation of what addons do on the wiki.

OK =]
(I know there are more folders in “addons”, but I just wanna get one thing working forst so I can copy the process for the other folders).

I have moved all models from:

addons/[BS] Player Models



and materials to:


Now I get this:

There is no model, however its no longer an ERROR so I guess I’m making some sort of progress here =]

Bam, yes you can change it for any addon.
To answer the most recent issue, you have kept the “[BS] Player Models” in the ADDONS folder on the GAME server, yes? If it’s an addon to be uploaded, goes in addons on the GAME server, and once that’s uploaded, go into the addon itself (the zip archive) and copy the materials/models/sounds folders to the WEB server at www.urlhere.com/garrysmod

I think I may need to tweak my guide a bit so it covers aboslutely fucking everything.

I think I’ll update the guide on the wiki, just to accomodate a few oddities that can occur, and just cleaning it up a bit.

Should I put in my “webserver FTP” models, materials… rather than having them in addon format? Just make everything inside the actual Garrysmod subfolder?

(and going off topic here, congrats to slayer for getting gold member)

It doesn’t matter, it’s your own personal preference.


Oh also, thanks.

Hey all,

Just letting you know that all the servers where swapped and set up and egn 8 is now on a new server

so everyones beloved dust server is now running on its brand new server, so expect to see a performance increase

over and out.

what, who, uhh what

Thats what I thought when I saw that.

That’s what I said to myself when I saw that.