Ajouter des addons Workshop à Garry's Mod
Sur Garry’s Mod, à peu près tout passe par le Workshop de Steam : cartes, armes, véhicules, gamemodes. Cette page explique comment faire charger une collection d’addons par votre serveur CloudFive, et comment vos joueurs les récupèrent de leur côté. Elle suppose un serveur déjà en marche — sinon, commencez par Installer un serveur Garry’s Mod.
Il y a deux étapes bien distinctes, et c’est la source de la plupart des confusions :
- le serveur monte les addons, pour pouvoir lancer la carte et exécuter le code ;
- les joueurs téléchargent les addons, pour voir la même chose que le serveur.
Régler la première sans la seconde donne un serveur qui tourne et des joueurs couverts de panneaux ERROR.
Créer une collection Workshop
Section intitulée « Créer une collection Workshop »Un serveur ne lit pas une liste d’addons : il lit une collection, c’est-à-dire un objet Steam qui regroupe des addons et porte un numéro.
-
Depuis Steam, ouvrez le Workshop de Garry’s Mod.
-
Créez une collection et donnez-lui un nom.
-
Réglez sa visibilité sur publique. C’est la condition la plus souvent oubliée.
-
Ajoutez vos addons à la collection.
-
Ouvrez la collection dans un navigateur et relevez le numéro en fin d’adresse, après
?id=. C’est l’identifiant que le serveur attend.
Renseigner la collection sur le serveur
Section intitulée « Renseigner la collection sur le serveur »-
Ouvrez votre serveur sur panel.cloudfive.xyz.
-
Allez dans la section qui liste les variables de démarrage.
-
Collez le numéro de la collection dans le champ prévu pour la collection Workshop — il alimente l’option
+host_workshop_collection. -
Enregistrez, puis redémarrez le serveur : ces variables ne sont lues qu’au démarrage.
-
Suivez la console. Vous devez voir défiler le téléchargement et le montage des addons, un par un.
Les fichiers récupérés se posent dans cache/workshop/, sous forme d’archives .gma. Vous n’avez pas à y toucher, mais c’est là qu’il faut aller quand une mise à jour semble ne pas passer.
La clé d’API Steam : à quoi elle sert
Section intitulée « La clé d’API Steam : à quoi elle sert »Pour savoir ce que contient votre collection, le serveur interroge l’API web de Steam. Cette requête exige une clé d’API. Sans elle, le serveur ne peut pas résoudre la collection : il démarre sans aucun addon, et le message d’erreur dans la console est souvent discret.
-
Depuis votre compte Steam, ouvrez la page de création de clé d’API :
steamcommunity.com/dev/apikey. -
Générez la clé — un nom de domaine vous sera demandé, le vôtre ou celui de votre serveur.
-
Copiez la clé.
-
Dans le panel, collez-la dans le champ de clé d’API Steam, qui alimente l’option
-authkey. -
Enregistrez et redémarrez le serveur, puis vérifiez dans la console que les addons se montent.
Faire télécharger les addons aux joueurs
Section intitulée « Faire télécharger les addons aux joueurs »Déclarer la collection au démarrage demande en principe aussi aux clients de la télécharger. En pratique, les administrateurs doublent le mécanisme avec une déclaration explicite en Lua — c’est indispensable pour un addon qui n’est pas dans la collection, et ça règle les cas de joueurs qui arrivent sans contenu.
Créez un fichier dans garrysmod/lua/autorun/server/, par exemple workshop.lua :
resource.AddWorkshop("123456789")resource.AddWorkshop("987654321")Une ligne par addon, avec l’identifiant de l’addon (pas celui de la collection), entre guillemets. Le fichier est lu au démarrage : redémarrez le serveur après l’avoir créé.
Pour du contenu qui n’est pas sur le Workshop — une carte faite maison, des sons personnalisés — il reste le FastDL : les joueurs téléchargent les fichiers depuis un serveur HTTP au lieu du serveur de jeu, ce qui est bien plus rapide. Trois éléments dans garrysmod/cfg/server.cfg :
sv_allowdownload 1sv_downloadurl "https://fichiers.exemple.fr/gmod/"Les fichiers doivent être déposés sur cet espace web en respectant l’arborescence du serveur (maps/, materials/, sound/…), généralement compressés en .bz2. N’importe quel espace servant des fichiers statiques en HTTP convient : voir Hébergement web ou VPS ? et Envoyer ses fichiers.
Mettre à jour la collection
Section intitulée « Mettre à jour la collection »Vos modifications sur Steam — ajout, retrait, mise à jour d’un addon par son auteur — ne sont pas prises en compte à chaud.
-
Modifiez la collection depuis Steam.
-
Si vous avez ajouté un addon, ajoutez aussi sa ligne
resource.AddWorkshopdans votre fichier Lua. -
Redémarrez le serveur. Il revérifie la collection au démarrage et récupère ce qui a changé.
-
Vérifiez dans la console que le nouvel addon est bien monté.
-
Si un addon semble figé sur une ancienne version, supprimez son archive dans
cache/workshop/serveur arrêté, puis redémarrez pour forcer le téléchargement.
Quand un addon casse le serveur
Section intitulée « Quand un addon casse le serveur »Un addon mis à jour par son auteur peut casser un serveur qui marchait la veille. La méthode est toujours la même : réduire le champ de recherche.
-
Prenez une sauvegarde avant de toucher à quoi que ce soit.
-
Lisez la console. Une erreur Lua nomme presque toujours le fichier et donc l’addon fautif — voir Console et logs.
-
Si la console ne dit rien d’exploitable, retirez la moitié des addons de la collection et redémarrez. Selon que le problème persiste ou disparaît, vous savez dans quelle moitié chercher. Recommencez.
-
Une fois le coupable identifié, retirez-le de la collection et de votre fichier
workshop.lua. -
Supprimez son archive dans
cache/workshop/et redémarrez.
Les conflits les plus courants viennent de deux addons qui fournissent la même chose : la même arme, le même véhicule, le même menu. Le second écrase le premier, et le comportement devient imprévisible sans qu’aucune erreur ne s’affiche.
Si ça ne marche pas
Section intitulée « Si ça ne marche pas »Rien ne se télécharge, la console ne montre aucun addon. Dans l’ordre : la collection est-elle publique ? Le numéro collé est-il celui de la collection et non d’un addon ? La clé d’API est-elle renseignée ? Avez-vous bien redémarré après avoir enregistré ? Ces quatre points couvrent la grande majorité des cas.
Le serveur a les addons, les joueurs ne les ont pas. Il manque les lignes resource.AddWorkshop. Vérifiez aussi que le fichier est bien dans garrysmod/lua/autorun/server/ : posé ailleurs, il n’est jamais exécuté.
Les joueurs restent bloqués sur un téléchargement interminable. La collection est trop lourde, ou votre sv_downloadurl renvoie des erreurs. Testez l’adresse dans un navigateur : si le fichier ne s’ouvre pas pour vous, il ne s’ouvrira pas pour vos joueurs. Côté volume, mieux vaut dix addons utiles que cent dont personne ne se sert.
Le serveur ne démarre plus du tout après un ajout. Retirez le dernier addon ajouté, videz cache/workshop/ et redémarrez. Si le serveur reste muet, restaurez une sauvegarde. Pour le reste, le support est joignable 7 j/7, et status.cloudfive.xyz vous dira si l’incident ne vient pas de vous.