A mod is a modification for one specific app. It is the most fully-featured content item on the site, and the one everything else was generalised from.
What only a mod does
- appIdintrequired
The app this mod is for. Not optional, unlike on an asset. A mod’s URL slug is unique per app, so
/gmod/m/vehiclesand/rust/m/vehiclesare two different mods, and moving a mod between apps changes its address.- installmarkdown
Installation instructions, kept separate from
contentso a reader who already knows what your mod is can jump straight to how to install it.- licenseenumdefault
MIT The legal licence. Distinct from the usage policy, which is the owner’s own statement about redistribution, modification and commercial use.
- environmentALL | SERVER | CLIENTdefault
ALL Whether the mod is server-side, client-side, or both. Not decoration — it decides which mods are offered for a given install target, since a dedicated server and a player’s game are the same files arranged differently.
- virusScanLinkurl
An author-supplied link to a third-party scan report. See the content model — it is a link the author is vouching with, not a verdict we produced.
- serverMapsrelation
Maps this mod provides. Mods are the one item type that can contribute rows to the map browser.
A mod may also belong to a community, which puts it on that community’s pages and lets the community’s team co-manage it.
What can be attached
| Relation | Notes |
|---|---|
| Releases | Versions and their files — the download itself |
| Media | Screenshots and videos |
| Links | Website, Discord, GitHub, Steam and the rest |
| Sources | Where this mod also lives — including the repo it is built from |
| Dependencies | What it needs, recommends, or conflicts with |
| Contributors | Who worked on it |
| Permissions | Usage policy, and access grants |
| Tags and categories | Taxonomy |
| Ratings, reviews, comments | Engagement |
| Follows and favourites | “Tell me when this changes” |
| Articles | Long-form writing filed under the mod |
| Discussions, feedback, bugs, roadmap, changelog | A mod can run all five |
Build sources
A mod can be built automatically from a linked repository: the repo is declared as a build source, and a push produces a release with files attached, without anybody uploading a zip by hand. The queued and finished work shows up as upload jobs on the item.
The repository link itself is not a column on the mod — it is the source entry flagged as the primary git source. See Sources.
Through the API
/api/content/modAPI keycanWriteCreate a mod. name, content and appId are required.
curl -X POST https://api.moddingcommunity.com/api/content/mod \
-H "Authorization: Bearer $TMC_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Better Vehicles",
"appId": 4,
"content": "# Better Vehicles\n\nAdds …",
"install": "Drop into `addons/`.",
"hidden": true,
"tags": ["vehicles", "sandbox"]
}'
Writes go through the same server-side function the website’s own edit form uses, so an API edit performs slug-change redirects, cache busting and relation reconciliation identically to a UI edit. See Items.