Fix Garry's Mod Addons Not Loading & Missing Textures
failed to load addonLua errormissing textures (purple/black)Garry's Mod addon problems come down to three things: the Workshop collection, content mounting, and addon conflicts. Here's how to fix loading errors, Lua spam and those purple-checkered missing textures.
Make the server load your Workshop collection
A server pushes addons to players via a Workshop collection. Set the collection ID and a Steam Web API key in your launch options:
+host_workshop_collection 1234567890
-authkey YOUR_STEAM_WEB_API_KEY
And force-download key addons to clients in lua/autorun/server/:
resource.AddWorkshop("1234567890")
Purple/black textures = missing CS:S content
Most maps and addons expect Counter-Strike: Source content. The checkerboard textures and "ERROR" models mean it isn't mounted. Mount CS:S on the server (and players need it too) so the textures resolve.
Without FastDL, players download addons at Source's painfully slow default rate. A FastDL (HTTP) host with sv_downloadurl makes joins fast and reliable.
Lua errors on join
A red Lua error in console names the addon and file at fault. Usually it's an outdated addon. Update it, or temporarily remove it to confirm it's the cause.
Addon conflicts
Two addons that edit the same thing can break each other. If something stopped working after you added an addon, remove addons in halves to find the conflict.
Set the Workshop collection + API key, mount CS:S, add FastDL, and read the Lua error for the guilty addon. That's the GMod troubleshooting loop.
Why an addon shows "failed to load" specifically
This exact console message usually means the .gma file itself is corrupted (a bad Workshop download), too large for the server's upload limit, or blocked by a sv_allowupload/sv_allowdownload setting. Re-subscribe to force a fresh download, and check the server console for the specific addon path named in the error.
How to prevent addon and texture problems
- Keep the Workshop collection curated — remove addons nobody uses to reduce conflict surface and download size.
- Test new addons on a second/staging server before adding them to the live collection.
- Document which addons need CS:S content mounted, so a new admin doesn't remove it by mistake.
- Set up FastDL from day one rather than after players start complaining about join times.
Related Garry's Mod guides
For a full DarkRP setup, see how to set up a GMod DarkRP server. For addon ideas, read best Garry's Mod addons. If players get kicked for a file mismatch instead of a load failure, see "server is enforcing consistency for this file".
Garry's Mod is a trademark of Facepunch Studios, built on Valve's Source engine. Addons are the property of their authors. ESAGAMES is an independent hosting provider, not affiliated with or endorsed by Facepunch or Valve.
GMod hosting with FastDL
Our Garry's Mod hosting supports Workshop collections and FastDL out of the box on a protected network.
Frequently asked questions
Why are textures purple and black in Garry's Mod?
Those are missing-texture placeholders. The map or addon needs Counter-Strike: Source content that isn't mounted. Mount CS:S on the server and make sure players own and mount it too.
How do I make my GMod server load Workshop addons?
Set +host_workshop_collection with your collection ID and an -authkey (Steam Web API key) in the launch options, and use resource.AddWorkshop() so clients download the addons on join.
What is FastDL and do I need it?
FastDL is an HTTP server that lets players download your addons quickly instead of at Source's very slow default speed. For any server with custom content, it makes joins much faster and more reliable.
Why does an addon work for me but fail to load for other players?
That points to a client-specific problem — a corrupted local Workshop cache on their end, a missing CS:S mount, or their download being blocked (sv_allowdownload or a local firewall). Have them re-subscribe and verify their own game files.
Can too many Workshop addons slow down server start?
Yes — a very large collection takes longer to verify and mount on boot, and increases the chance one addon in the set is broken or conflicting. Prune unused addons from the collection periodically.
Do players need to own Counter-Strike: Source to see the textures?
Not necessarily own it — Steam mounts CS:S content for free if you've ever had access, but players do need the content mounted/available. Check GMod's content mounting settings if textures are missing for specific players.
What's the maximum addon or collection size a GMod server can realistically handle?
There's no hard limit, but very large collections (several GB) slow down joins even with FastDL and increase the odds of one addon breaking after a Source engine update. Keep the collection as lean as your gameplay needs.
Go deeper on this
Guides and explainers that pair with this fix — from our guides and blog.
Best CS2 Server Plugins
Metamod, CounterStrikeSharp and MatchZy — retakes, pugs and practice.
ReadDoes SourceMod Work on CS2?
The short answer is no — here is what to use instead.
ReadWhat Is Tick Rate?
Why 64 vs 128 tick decides how the game feels.
ReadWhat Is Netcode?
Why your shots do not always register, explained.
ReadRelated articles
Fix AMX Mod X "Couldn't load library" / Plugin Failed in CS 1.6
AMXX plugin stuck on "bad load", "couldn't load library" or "failed"? The real causes and the exact fix.
Read fix Game ServersFix FiveM "Couldn't load resource" / Failed to Start
A FiveM resource won't start or throws "couldn't load resource"? Here are the real causes and fixes.
Read fix Game ServersFix Rust Oxide / uMod Plugins Not Loading
Oxide/uMod plugins not loading after a Rust update? The usual causes and the quick fix.
Read fix