Skip to main content

Fix missing Garry’s Mod textures and client downloads

CloudExaPink-and-black helpsurfaces guide.and ERROR models usually mean a client is missing required assets. A server can run an addon successfully while players cannot see its models. Separate server mounting, client download instructions and dependencies on other games before changing anything.

Identify exactly what is missing

Record the map, affected object or texture, and relevant console error. Ask whether every player sees the problem or only one. Test with a client that does not already have your whole addon collection installed. The owner's computer often hides an incomplete content setup.

Read the map or addon's official dependency list. Some content requires another game's assets. Mounting those assets on the dedicated server does not automatically license or install them for every client. Follow the publisher's legitimate requirements; do not distribute copyrighted game packages or use an unofficial content bundle as a shortcut.

Prefer the correct Workshop item

For Workshop-delivered models, materials or sounds, confirm that the required item is installed on the server where needed and explicitly requested for clients. The function resource.AddWorkshop("ITEM_ID") registers a client download; it does not mount the addon server-side.

A server-side declaration can live in garrysmod/lua/autorun/server/workshop.lua. Back up an existing file before editing it. Replace the placeholder with the actual content item's numeric ID, preserve valid Lua syntax and follow the author's instructions about dependencies. A collection ID is not a substitute for each content item expected by this function.

Avoid adding server-only Lua packages unnecessarily. Keep the client download list small and purposeful, and verify the Workshop items remain available. A missing or incompatible item needs correcting at its source rather than masking the result with another copy of the same assets.

Use FastDL for files that need it

FastDL serves registered files from a separate web endpoint configured by sv_downloadurl. It needs the same relative asset paths clients request. Register required content through documented functions such as resource.AddFile, then verify the matching HTTP resource exists.

For example, a requested materials/example/panel.vmt must be available beneath that relative path on the download site. Facepunch documents clients trying a .bz2 version before the ordinary file. Preserve exact filename case, particularly when the web host runs Linux.

Never point a public download service at the entire game-server directory. Publish only intended game assets, excluding configuration, databases, backups and credentials. Ask support for an approved FastDL endpoint if your hosting plan does not include one. A file-manager folder is not automatically a public web address.

Test downloads, then gameplay

Back up configuration before changing download declarations. Restart in maintenance and reconnect with your test client. Check the client's download settings and console for failed requests, inaccessible items or path mismatches. Compare a direct asset request with the path actually reported by the client.

Do not ask everyone to erase all downloaded content as your first fix. First prove the server points at the right resource. Correct one asset family, then check models, textures and sounds in gameplay. Retain your original settings until a clean client can join and see the intended content.

Further reading

Looking for another game? Browse game server setup and troubleshooting guides.