Configurer une collection Steam Workshop sur ton serveur GMod

Configurer une collection Steam Workshop sur ton serveur GMod

`+host_workshop_collection`, ID de collection, téléchargement automatique côté client : guide complet pour distribuer tes addons GMod via Steam Workshop sur Wisp chez VeryCloud.

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

  1. Va sur https://steamcommunity.com/workshop/browse/?appid=4000
  2. Connecte-toi
  3. Top right → Your FilesWorkshop CollectionsCreate Collection
  4. Donne un nom, une description, sélectionne Public ou Unlisted
  5. 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 :

  1. Le client compare sa liste workshop locale à celle annoncée par le serveur
  2. Il télécharge automatiquement les addons manquants via Steam
  3. 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 :

  1. Le serveur recharge la collection au prochain Restart
  2. 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

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.

Ressources

Join our Discord community server

For any questions, suggestions, or just to chat with the community, join us on Discord!

900+Members