Prérequis
- Un serveur Garry's Mod chez VeryCloud
- Un compte Steam pour créer/gérer une collection
- Accès Startup dans le panel Wisp
- Un GSLT (Game Server Login Token) — voir le tuto dédié sur la doc
Étape 1 : Créer une collection Workshop
- Va sur https://steamcommunity.com/workshop/browse/?appid=4000
- Connecte-toi
- Top right → Your Files → Workshop Collections → Create Collection
- Donne un nom, une description, sélectionne Public ou Unlisted
- Ajoute des items en cherchant "DarkRP Models", "TTT Maps", etc. Clique Add to Collection sur chaque addon
Étape 2 : Récupérer l'ID de la collection
Une fois ta collection créée, l'URL ressemble à :
https://steamcommunity.com/sharedfiles/filedetails/?id=2987654321
^^^^^^^^^^
Ton ID
Note cet ID, tu vas en avoir besoin.
Étape 3 : Configurer le serveur
Dans Wisp → Startup, modifie :
WORKSHOP_COLLECTION_ID = 2987654321
GSLT_TOKEN = ton_token_steam
Selon l'image Wisp, ces variables peuvent s'appeler STEAM_WORKSHOP_ID ou similaire. Le but est de produire dans la commande de boot :
srcds.exe -game garrysmod -gamemode darkrp +map rp_downtown_v4c_v2 \
+host_workshop_collection 2987654321 \
+sv_setsteamaccount TON_GSLT_TOKEN
⚠️ Sans GSLT valide, le téléchargement workshop est désactivé sur les serveurs publics. C'est un des pièges classiques.
Étape 4 : Restart et observe
Restart le serveur. Dans la console, surveille :
[steamworks] Downloading workshop item 2876543210...
[steamworks] Workshop item 2876543210 downloaded
[gmod] Collection 2987654321 loaded with 47 items
Chaque item de la collection est résolu et téléchargé sur le serveur en premier (pour héberger les maps notamment).
Étape 5 : Distribution côté client
Quand un joueur se connecte :
- Le client compare sa liste workshop locale à celle annoncée par le serveur
- Il télécharge automatiquement les addons manquants via Steam
- Une fois tout téléchargé, le joueur entre en jeu
Ce processus utilise les CDN Steam — rapide et fiable.
Étape 6 : Mettre à jour la collection
Tu peux modifier ta collection à chaud (ajouter / retirer des items). Pour appliquer :
- Le serveur recharge la collection au prochain Restart
- Les clients re-vérifient à la connexion suivante
Pas besoin de purge cache côté serveur, Steam s'en occupe.
Étape 7 : Distinguer addons serveur vs addons client
Tous les items workshop ne sont pas nécessaires côté serveur. Exemple :
- Map : OBLIGATOIRE côté serveur (sinon
changeleveléchoue) - Modèles de joueur custom : utile côté serveur pour la validation, surtout côté client
- Scripts SWEP/SENT : OBLIGATOIRE côté serveur
En pratique, mets tout dans la collection : la duplication coûte peu en bande passante (Steam dedup) et garantit la cohérence.
Étape 8 : Maps qui ne chargent pas
Si tu fais changelevel <map_name> et que ça plante :
- La map n'est pas dans la collection (ajoute-la)
- Le nom de la map est incorrect (regarde le nom interne sur la page workshop, pas le titre marketing)
- La map a un nom différent du
.bsp(rare mais arrive sur les remix)
Étape 9 : Gérer plusieurs collections
GMod ne supporte qu'une seule collection à la fois côté serveur. Si tu veux organiser tes addons en sous-groupes, soit :
- Tu fais une grosse collection unique (recommandé pour la simplicité)
- Tu maintiens plusieurs collections pour différents events et changes l'ID dans startup à chaque event
Dépannage
Les joueurs ne téléchargent rien
- Le GSLT n'est pas configuré ou est expiré
- Les joueurs ont désactivé le téléchargement workshop dans les options GMod
Le serveur télécharge en boucle au boot
- Item workshop supprimé / unsubscribed côté auteur — retire-le de ta collection
- Permission Steam corrompue : utilise Reinstall depuis Settings Wisp
Workshop authenticated failed
- GSLT invalide ou révoqué
- Régénère un GSLT via https://steamcommunity.com/dev/managegameservers
Commandes utiles
# Voir si un addon workshop est charge
lua_run print(steamworks.GetSubscribed())
# Recharger les addons workshop
lua_run steamworks.RequestWorkshopDownload()
# Lister les fichiers GMA actifs
lua_run for _,v in pairs(file.Find("addons/*.gma", "MOD")) do print(v) end
Conclusion
Steam Workshop = la méthode propre et automatique pour distribuer tes addons GMod. Une collection, un ID dans startup, un GSLT, restart, et tes joueurs téléchargent tout seul. Pas de FastDL à configurer pour la majorité des cas (sauf gros assets perso non workshop).
Pour aller plus loin : FastDL pour les fichiers non-workshop, mods locaux dans /addons/ côté serveur, audit des items pour identifier ceux qui crashent.



















