Fast download setup [FastDL]

Within Source based games such as Garrys Mod, Team Fortress 2, Counter-Strike and so on there is something called fast downloads / FastDL.

FastDL was introduced into source games to give server owners a faster way to deliver custom content to their players which would mean they were not limited to the 30Kb/s download rate that Source is limited to.

Setting up FastDL on our Garrys Mod servers is easy to do and can be as simple as running the fast downloads sync in the control panel, and then removing the // from the beginning of the sv_downloadurl line in the server.cfg file. However, FastDL has been rendered fairly useless in the past year by the introduction of workshop that most people are now using for their custom addons, maps and content packs

You need to establish which one of the following options you are:-

All of my addons / custom models and materials that I use on my server are from the workshop. I don't use any custom models or materials that I've uploaded into new models and materials folders within the garrysmod folder.

None of my addons / custom content are from the workshop, and I've separated the content (models/materials/sounds) from my addons into separate models, materials and sounds folders within the Garrys Mod folder

If you are option 1, and you would like to force players to download certain workshop addons when connecting to your server you need to do the following:-

Create a list of all the ID's of the addons you want your players to download. If you're in Steam looking at an addon on the workshop right click on the page and select copy page URL, and then paste it into a browser. For example http://steamcommunity.com/sharedfiles/filedetails/?id=391383735 - At the end of the URL you can see the ID which in this case is 391383735

Once you've got your list of addon ID's you want to go to the file manager in the control panel and navigate to garrysmod -> lua -> autorun -> server

Click create new file, and title the file workshop.lua

You now need that list of addon ID's for this next step. In this new file you need to create the following for each addon ID resource.AddWorkshop("IDHERE") so for example resource.AddWorkshop("391383735") - You need to do this for each addon ID, one per line.

Once done, save the file and then restart your server. Upon joining the server, if you're not already subscribed to or have the addons you're forcing the player to download you should see yourself downloading workshop addons

And then for those of you who sound more like option 2, I would recommend watching the tutorial linked below that will show you had to create a resources file for custom content.