Publier un addon sur le workshop Gmod

Lang 🇬🇧 Lang 🇫🇷

imgNorda Scripts Creator of this doc
Document Updated ago
Bonjour! On m'a beaucoup trop posé la question que j'en ai décidé d'en faire une documentation afin de partager au mieux la solution pour éviter de me répéter dans mes tickets. Avec cette documentation vous pourer créer un addon(fichier gma), l'uploader, mettre à jour votre addon sur le workshop, créer une collection, associer une collection à votre serveur, forcer vos utilisateurs à télécharger les addons que vous avez créé.

Si cette documentation vous a aidé n'hésitez pas à m'en faire part en message privée. Votre enthousiaste me fait plaisir à voir.

Cordialement.

Sommaire :
  1. COMMENT CRÉER ET PUBLIER UN ADDON SUR LE WORKSHOP?
    1.1 Qu'est ce qu'un addon sur le workshop, à quoi ça sert?
    1.2 Comment créer le fichier GMA à uploader
    1.3 Publier l'addon sur le workshop
    1.4 Comment trouver l'ID de l'addon sur le workshop?
    1.5 Comment forcer le téléchargement des addons sur vos serveurs?
    1.6 Publier une mise à jour d'un addon sur le workshop
  2. COMMENT CRÉER ET AJOUTER UNE COLLECTION A UN SERVEUR GARRY'S MOD?
    2.1 Qu'est ce qu'un collection sur le workshop, à quoi ça sert?
    2.2 Créer une collection d'addons pour Garry's Mod
    2.3 Comment trouver l'identifiant de la collection sur le workshop?
    2.4 Comment ajouter une collection workshop à votre serveur Gmod?


COMMENT CRÉER ET PUBLIER UN ADDON SUR LE WORKSHOP?

1.1 Qu'est ce qu'un addon sur le workshop, à quoi ça sert?
Lorsque vous uploadez des models, materials, maps, ect sur votre serveur, le contenu est uniquement pour votre serveur, si un joueur rejoint votre serveur et qu'il lui manque ses ressources, il n'aura pas les sons, des problèmes de textures (Rose et Noir), des ERROR MODEL rouge, bref, tout ça signifie qu'il lui manque quelque chose sur son disque dur.

Pour résoudre cela, il lui faudra avoir les contenues d'installé sur son ordinateur, pour cela vous pouvez mettre ses contenues dans un addon pour partagé ses éléments facilement.

Il existe plusieurs méthode de partage, via le fichier Lua décrit dans cette documentation plus bas. L'utilisateur peut aussi "S'abonner" sur la page de l'addon. Ou alors l'inclure dans une collection j'ai aussi prit le soin d'expliquer plus bas, Merci qui?

1.2 Comment créer le fichier GMA avant de uploader
On part du principe que votre addon fonctionne déjà, si vous débutez voici la structure du dossier déjà expliqué ici : Structure des fichiers
Dans cette explication nous allons appeler l'addon : gmodaddon.gma

Avant de pouvoir publier votre addon vous allez devoir le compresser votre dossier en GMA, car c'est ce fichier GMA que vous allez uploader, donc notre but premier est d'obtenir le fameux gmodaddon.gma. Pour se faire vous devrez le faire via votre invité de commande et donc tout faire en commande étape par étape c'est du gâteau il y a que trois commandes. La première pour aller dans un dossier, la deuxième pour compresser (créer votre GMA), la troisième pour uploader.

Avant de taper les commandes pour transformer votre dossier en gmodaddon.gma vous allez devoir mettre une chose à la racine de votre dossier addon :
Un fichier texte que vous allez nommer addon.json, moi j'utilise :


{
"title" : "gmodaddon",
"type" : "ServerContent",
"tags" : [],
"ignore" :
[]
}

C'est le strict minimum pour fonctionner. Le contenu du fichier addon.json sera modifiable depuis la page de l'addon sur steam.

On peut donc commencer avec les commandes :


  1. Pour ouvrir l'invité de commande : Pressez les touches Windows+R et tapez cmd dans la fenêtre exécuter.
  2. Vous allez devoir aller dans le dossier bin de votre installation gmod où se trouve gmad.exe pour cela entrez la commande :
    cd /Program Files (x86)/Steam/steamapps/common/GarrysMod/bin

    Dans cette exemple mon dossier addon se trouve sur mon bureau :
    Et on va exécuter gmad.exe et pointer le dossier gmodaddon pour le compresser en .gma


    gmad.exe create -folder C:Users/user/Desktop/gmodaddon

Voilà vous avez votre gmodaddon.gma après un petit temps de traitement vous aurez une confirmation que votre gma est crée et trouverez bien votre gmodaddon.gma dans le même dossier ou se trouvait votre dossier addon. Si vous avez bien ce gma sous le coude pour le publier vous pourrez passer à l'étape suivante.

Attention cela ne fonctionne pas si vous oubliez de mettre à l’intérieur le fichier addon.json.

1.3 Publier l'addon Gmod sur le workshop
Il vous faut une image, pour votre addon sur le workshop :

L'image pour le workshop au format jpg et aux dimensions de 512x512 nous allons dans cet exemple la nommer addon_image.jpg

Donc vous avez sous la main votre gmodaddon.gma (votre addons) et votre image.
Donc vous êtes toujours dans le dossier bin de votre installation gmod où se trouvait gmad.exe mais cette fois vous allez executer gmpublish.exe pour uploader votre fichier gmodaddon.gma:


gmpublish.exe create -icon C:Users/user/Desktop/addon_image.jpg -addon C:Users/user/Desktop/gmodaddon.gma

Vous verrez alors le pourcentage de la progression se terminer par un : Success!

Voilà vous aurez plus qu'à aller sur votre page de profil pour constater votre addon en ligne.

Lien raccourcie de : Votre vitrine workshop



1.4 Comment trouver l'ID de l'addon sur le workshop?

Une fois votre addons en ligne vous pourrez trouver l'id à la fin de l'URL de la page de l'addon par exemple pour mon package de contenu pour Zworld, c'est 109691377 : https://steamcommunity.com/sharedfiles/filedetails/109691377



1.5 Comment forcer le téléchargement des addons sur votre serveur?

Pour commencer vous allez créer un fichier dans le dossier autorun de votre serveur qu'on nommera workshop_addons.lua, chemin :


garrysmod/garrysmod/lua/autorun/server/workshop_addons.lua

Ouvrez le fichier avec n'importe quel éditeur de texte et vous allez insérer cette ligne : resource.AddWorkshop( "Workshop_Addon_ID" )

Exemple :


resource.AddWorkshop("109691377") -- Content ressource of Zworld
resource.AddWorkshop("109691377") -- Map


Use -- to comment in lua file :
-- Map

Dupliquer cette ligne en modifiant l'ID pour chaque addon que vous désirez forcer l'utilisateur à télécharger au moment de sa connexion.



1.6 Publier une mise à jour d'un addon sur le workshop
Il se peut que vous avez ajouté des textures et des modèles dans votre package donc n'oubliez pas de mettre à jour votre addon sur le workshop pour partager le contenu avec vos utilisateurs. Recréez le fichier gma à jour (expliqué plus haut) que vous allez uploader sauf que cette fois la commande pour mettre à jour un produit déjà existant demandera à ce que insérez l'id de votre workshop (aussi expliqué plus haut). Dans mon exemple le chiffre de mon addon est : "109691377"


gmpublish update -addon "C:/Users/PCFIX/Desktop/gmodaddon.gma" -id "109691377" -changes "Add Content"

Terminé.


2. COMMENT CRÉER ET AJOUTER UNE COLLECTION A UN SERVEUR GARRY'S MOD?

2.1 Qu'est ce qu'un collection sur le workshop, à quoi ça sert?
Une collection est un regroupement d'addons qui fait le contenu de votre serveur, ainsi vos utilisateurs pourront télécharger tout le contenu en une seule fois sans chercher chaque lien de chaque addons. Ils n'auront qu'à cliquer sur s'abonner à tout pour souscrire à chaque addons de la collection. Utile et efficace.
Avant d'ajouter une collection workshop à votre serveur, vous devez d'abord créer une collection sur Steam.

Vous pourrez aussi associer une collection à votre serveur, c'est à dire que l'utilisateur téléchargera entièrement le contenu avant de pouvoir rejoindre, ce qui leur permettra d'éviter qu'ils se déconnectent à cause des erreurs de texture et de model.

2.2 Créer une collection d'addons pour Garry's Mod

Ce lien est un raccourcie pour créer votre collection : https://steamcommunity.com/workshop/browse/?appid=4000&section=collections

Vous pouvez voir les collections créées par d'autres utilisateurs avec le bouton créer votre collection en bleu sur la droite :
Publier un addon sur le workshop Gmod

2.4 Comment ajouter une collection workshop à votre serveur Gmod?

Incluez cette variable dans la ligne de commande de lancement de votre serveur +host_workshop_collection COLLECTION_ID
COLLECTION_ID est l'id de votre collection.
Ce qui donne pour ma collection par exemple:



+host_workshop_collection 108212613