Skip to content
DDoS protection · Peeryx · 15 Tbps+
All guides

Garry’s Mod Workshop setup and FastDL explained

A server can load an addon while players still lack its models, sounds or textures. Workshop mounting and client downloads are different tasks. Identify which files the server needs and which assets players must receive before adding more addons.

← Back to all guidesCubixServ

Before you start

Back up cfg, addons and gamemode data. Record the installed Garry’s Mod version and dependencies. CubixServ’s standard startup uses Sandbox; DarkRP, TTT, Murder and Prop Hunt are not presented as preinstalled modes.

Inventory the gamemode and dependencies

List the chosen gamemode and the addons it actually needs. Separate server-only scripts, shared code and client assets. A Lua addon loading successfully does not prove its textures are available to players. Check the panel’s actual startup options or contact support before changing the startup gamemode. Do not replace the hosting launcher to reproduce an arbitrary command from another environment.

Choose a collection or Workshop list

Facepunch documents host_workshop_collection for collections. Since the 22 September 2026 update, cfg/srcds_workshop_ids.txt also provides a server Workshop ID list. Confirm the installed build supports that file before using it. Use the numerical identifiers expected by the official documentation: an addon’s display name is not its Workshop ID. Keep the list small enough to diagnose missing dependencies.

Separate server mounting from client downloads

The server mounts addons required by its environment. Players also need the assets used for display. resource.AddWorkshop declares a Workshop item for client download; it does not repair missing dependencies or incompatible Lua code. Test with a client that does not already own every item in your collection. Existing subscriptions and cached assets can otherwise hide an incomplete download configuration.

Use FastDL for the appropriate assets

FastDL uses an HTTP server to distribute eligible game files, with sv_downloadurl identifying the base location. It does not replace script loading or configure the gamemode. Prepare an accessible HTTP endpoint and follow Facepunch’s path and format requirements. An engine capability is not a promise that a ready-made FastDL service is included in every CubixServ hosting plan.

Check downloads and Lua errors separately

Add content gradually, restart during maintenance and inspect console errors. ERROR models and missing textures can indicate absent client dependencies. An expensive Lua loop or excessive physics objects can slow a server even when downloads work perfectly. Compare a minimal session with your complete configuration before assuming memory is the limiting factor. Record the result of each change.

Keep the setup maintainable

Preserve Workshop IDs, relevant versions and configuration before major changes. Authors can update or remove Workshop content. Test updates on a copy when your community relies on many addons. Size the hosting plan around actual Lua load, physics entities, simultaneous connections and stored content. Slot count alone does not describe the work performed by a heavily customised roleplay server.

For your situation

SituationNext check
Missing texturesCheck client downloads and dependencies, not only the server’s mounted addons.
Workshop file ignoredVerify the installed build, cfg path and documented format before changing startup behaviour.
Lag with few playersInspect Lua errors and physics objects; isolate expensive addons on a test copy.

Official sources

These documents describe the relevant protocols and software. Your service terms and configuration still need to be checked.

  1. wiki.facepunch.com/gmod/Workshop_for_Dedicated_Servers
  2. wiki.facepunch.com/gmod/Serving_Content
  3. wiki.facepunch.com/gmod/resource.AddWorkshop