How to get custom materials on fastdl

Im not new to hosting by any means (started with gmod 10 and haven’t stopped) but one thing has always boggled my mind.
How the hell do you get custom materials onto a fastdl? Whatever I try the server just shrugs and ignores them.
I read you should make an lua file to include the materials so the clients are forced to download them, but how do you do it for say 100+ materials/models?

You keep repeating resource.AddFile(“materials/path/here/material.vtf”) etc etc
Unless it’s in a workshop addon, then you do resource.AddWorkshop(“WorkshopID”) which would save a tonne of time.

so in an lua file in my autorun/server I would have just line by line resource.AddWorkshop(“1337”) for example?

If it’s a workshop addon, yes. If not, you gotta do it the first way.

You could also make a copy of the content on your FastDL server, and use this program to automatically create a file with all of the content listed.

EDIT: Forgot to include program link (lol) Fox-Warrior’s Resource Generator

that is one nifty bit of software, thanks!

Quick side note, why is the resource.AddWorkshop required? I thought garry changed the system so any workshop mounted addons were automatically “synced” to all clients?

Edit: Do you know of any software that can start at the top, work its way through all folders and compress each file individually?(bz2) I DID write a 7z script for it, a long time ago.