Skip to main content

Technical Content Synchronization

In the Garry’s Mod ecosystem, FastDL is most efficiently implemented through the WorkshopDL protocol. This system uses Valve’s global content delivery network (CDN) to distribute your server’s custom models, high-resolution textures, and unique audio assets to every joining player. By establishing a correct synchronization workflow, you ensure that every participant observes your virtual world exactly as you have architected it, without the distraction of red “ERROR” signs or purple checkered textures.

Difficulty

Beginner

Time

7 Minutes

Step 1: Architecting Your Workshop Collection

Your collection serves as the authoritative manifest for all community-made assets required by your server.
1

Initialize the Collection

Navigate to the Steam GMod Workshop and create a new Public Collection.
2

Populate Content

Add every modification, weapon pack, and map asset you intend to use. Ensure you also include any mandatory “Base” requirements for your selected mods.
3

Identify the Identity Token

Note the numerical Collection ID situated at the conclusion of your collection’s URL (e.g., ?id=123456789).

Step 2: Server-Side Authorization

Once your collection is published, you must authorize your FREAKHOSTING server to communicate with the Steam Workshop.
1

Access Startup Parameters

Log in to the Game Panel and navigate to the Startup tab.
2

Configure Identity Keys

  • Workshop ID: Paste your numerical Collection ID.
  • API Key: Input your unique Steam Web API Key.
3

Deploy Initial Sync

Restart your server. The engine will now download and mount the collection’s assets into the server’s persistent storage.

Step 3: Forcing Client-Side Downloads

While the server now possesses the assets, the game engine does not automatically instruct joining players to download them. You must create a “Resource Downloader” script.
1

Initialize Lua Script

In the File Manager, navigate to /garrysmod/lua/autorun/server/ and create a new file named workshop_sync.lua.
2

Define Download Registry

Add a resource.AddWorkshop entry for every individual addon within your collection:
resource.AddWorkshop("ID_OF_ADDON_1")
resource.AddWorkshop("ID_OF_ADDON_2")

Tactical Automation

Manually entering hundreds of IDs can be error-prone. We recommend using a community-validated Collection-to-Lua generator tool. These utilities allow you to paste your Collection URL and instantly generate a clean Lua script containing every necessary resource.AddWorkshop line.

Need Extra Help?

If you encounter any issues, our support team is ready to assist:

Save on Your Hosting

Ready to get a new server? Use code KB20 at checkout for 20% off your first month!

Last Updated: January 2026 | GMod: Workshop sync active.