Creating a Workshop Addon
This article will teach you how to prepare and upload an addon to the Steam Workshop .
Before you begin – Rules
There are a few rules before you start uploading addons .
Please see this page for complete set of rules : steam Workshop Rules
The easy way
You can use alternative tools such as GUIs ( graphic user interfaces ) made by community members to create, extract and upload addons to Steam Workshop.
Reading: Workshop Addon Creation
Links to such sleep together tools : ( feel complimentary to expand )
alternatively, the guidebook below describes how to upload addons to the Steam Workshop using Garry ‘s Mod ‘s embark tools, gmad.exe and gmpublish.exe .
Preparing your addon
To upload an addon to workshop you will need the trace things :
- A folder anywhere on your computer containing addon files
- A 512×512 .jpg icon for your addon.
If you ‘re going to make your addon public, please make certain it ‘s singular and will add something new to Garry ‘s Mod. Do n’t upload addons you did n’t make,
even fixed versions, without the author ‘s consent .
Folder with addon files
The structure of addon for Steam Workshop is the same as the classical addon system of Garry ‘s Mod 12, except for those differences :
- info.txt or addon.txt are not needed
- You can only upload files that would normally be mounted by the game, except for:
- .dll, .exe, .htm, .html, .css and .js files are restricted
- .txt files are restricted too, except for vehicle scripts
- Full file path whitelist can be found here:
You addon folder structure must look reasonably like this : ( below is equitable an model )
my_addon/ my_addon/lua/autorun/myScript.lua my_addon/materials/myMaterial.png my_addon/maps/gm_examplemap.bsp my_addon/maps/thumb/gm_examplemap.png my_addon/gamemodes/mygamemode/mygamemode.txt my_addon/gamemodes/mygamemode/gamemode/stuff.lua my_addon/gamemodes/mygamemode/content/materials/mycontent.vtf my_addon/gamemodes/mygamemode/entities/weapons/weapon_mygun.lua my_addon/gamemodes/mygamemode/
here ‘s all the booklet names that your addon may contain, following to the addon.json file :
maps backgrounds gamemodes materials lua scenes models scripts particles voice
This is not a misprint, there is no
healthy folder. resource
my_addon is the folder you will need to input to
gmad.exe or any early Workshop uploader and it ‘s name could be anything, addon ‘s name is defined on the Workshop Page for that addon and NOT by the booklet name .
Sample Addon is the folder you will need to provide to the
gmad.exe to convert it to
Before uploading – test your addon
It is generally a good theme to do a final test of your addon before uploading it to workshop to make sure everything works by rights .
Doing so is easy, just put your addon booklet ( in this exemplar it would be called
my_addon ) into the plot ‘s
steamapps/GarrysMod/garrysmod/addons/ folder and load up the game .
must be a 512×512 Baseline JPEG double ( progressive JPEG or a PNG prototype will NOT work ! ). If gmpublish.exe does not accept your icon, try reexporting it with Paint or Paint.NET, that should convert it to Baseline. The saturation must be 4:2:0, for exemplify Photoshop and GIMP can use 4:2:2 or 4:4:4, which are not accepted .
Do not use an persona unrelated to your addon – this is stupid and will get your addon removed. Express your addon in double imprint .
Make it relevant to your addon.
Please do n’t just stitch together something atrocious in MS Paint. It should look good, otherwise you ‘ll be making the workshop look dirty. Besides, who wants to download something that looks like a three-year-old make it ?
When creating an addon the folder should have an addon.json – which looks like this..
“My Server Content”
entitle is the identify of your addon .
type is the type of addon, one of :
tags is up to two of these :
Ignore is a childlike wildcard list of files to ignore. You can have as many of these as you want – and they do n’t have to be wildcarded, they can be specific files .
Creating a .gma for upload
For Windows, you can just navigate to your GMad.exe in
my_addon in this case ” ) onto GMad.exe .
GMad.exe will now create your .gma. It will place it to the lapp placement where your booklet is, with the same name .
Do not move GMad.exe anywhere!
alternatively You can open the control prompt ( cmd.exe ), four hundred to the gmod bin booklet
( cd "
Windows users can besides create a .bat file to automate this process :
“C:\Program Files (x86)\Steam\steamapps\common\garrysmod\bin\gmad.exe”
booklet % 1 pause
barely make certain to insert correct path to your GMad.exe .
[Files does not pass whitelist]
You have either dragged a improper folder onto GMad.exe, your addon contains prevent files or your addon has wrong folder social organization. See case above for compensate addon folder structure and file whitelist .
Couldn’t parse json
Your JSON file is missing or it is invalid. Use any JSON validators to find and fix errors .
Uploading your addon
There are multiple ways of doing that, we are going to cover only the most convenient way of doing this, if you are on Windows .
At this point you should have a .gma file and a .jpg charge. For the sake of making this easy, rename both files to have the same mention, for model
Next you want to create a .bat file somewhere and put these commands in the .bat charge :
“C:\Program Files (x86)\Steam\steamapps\common\GarrysMod\bin\gmpublish.exe”
Save it as something like gmpublish_create.bat .
once you got the .bat file ready, just drag’n’drop your .gma or your .jpg onto that .bat file. It is essential that both files must have the lapp name .
now gmpublish.exe will go through the serve of compressing and uploading the addon to Steam Workshop .
once that serve is completed, open your Garry ‘s Mod Steam Workshop, go to “ My partake Files ” ( You can besides get there from your profile ) and change visibility of your addon to Public .
You are done. Your addon is now live. You can now change the claim, description, images and videos for your addon .
note that rules besides apply to your claim, description, images, icon and videos :
- No questionable content
- No racism or offensive language/material
This is bare – your addon is excessively big. This is normally solved by downscaling your .vtf textures. note that some video cards may not even subscribe 4096×4096 textures ! 1024×1024 or 512×512 are normally more than adequate .
Make surely that if you are uploading a particularly texture-heavy addon that you use DXT5 texture compression. DXT5 is exponentially smaller than RGBA or BGRA, saving not only time downloading and uploading but swarm space .
Ran out of quota
If this happened to you, contact robotboy655 @ facepunchstudios.com for avail .
Addon has invalid type!
Your addon.json has the “ type ” tag set to an invalid value. You can see a list of allowed values above .
PublishWorkshopFile failed! (8)
This error happens when the addon.json contains invalid UTF-8 sequences. This happens if you use an upload script ( .cmd, .bat, etc ) that can not create the addon.json with the UTF-8 character set. Please fix your addon.json by editing it as UTF-8 or use a title using only US-ASCII characters ( latin characters with no accents ) .
This error only happens after the upload because the addon.json is packed inside of the sent GMA file .
PublishWorkshopFile failed! (9)
An icon must be provided .
PublishWorkshopFile failed! (X)
If you encountered an error with a number that is not listed on this page, you can find a list of all Steam related error codes on this handy web site : hypertext transfer protocol : //steamerrors.com/
Please note – that web site is not associated with Steam, Valve or Facepunch in any way, and may be incomplete.
libsteam_api.so: cannot open shared object file: No such file or directory
This is an error that may happen on Linux when gmpublish fails to find its Steam API colony. You can resolve this by copying the
libsteam_api.so colony from the game ‘s
bin/ folder to
/usr/lib/, or by setting the
LD_LIBRARY_PATH environment varying appropriately. See # 4542 for more information .
After Going Live
Please make surely your addon is n’t creating errors for people. If your addon is creating excessively many errors it will be removed .
You can learn how to update existing workshop addons in this article : Workshop Addon Updating