Tout ce que vous pouvez déposer dans mods/ peut être publié sur le Steam Workshop, et un abonné n’a rien à copier : Steam télécharge l’objet, et le jeu le lit directement depuis le dossier de téléchargement de Steam.
Dix minutes la première fois, deux minutes ensuite. La seule chose à accepter d’emblée : Steam n’a pas de bouton pour envoyer des objets Workshop. Le seul canal est SteamCMD, le petit outil en ligne de commande de Valve. C’est identique pour tous les jeux sur Steam.
Comment un objet arrive chez un joueur
1. Mettez votre contenu dans un dossier
Un objet Workshop est un dossier, pas un fichier — même s’il ne contient qu’un seul circuit. Créez-en un n’importe où sur votre disque. Sa structure reflète celle de mods/, si bien qu’un seul format de création sert les deux canaux :
MyItem/
my_pack.db ← un pack de mods
circuits/monaco.circuit ← un circuit (ou à la racine de l'objet)
lang/pl.txt ← un pack de langue (ou pl.txt à la racine)
Tout est facultatif et un même objet peut porter les trois. Un fichier à la racine de l’objet n’est lu comme une langue que si son nom a la forme d’un code de langue : un readme.txt posé à côté est donc laissé tranquille.
Ajoutez ensuite une image d’aperçu à côté du dossier, pas dedans : un PNG ou un JPG, de moins de 1 Mo. Une capture de l’éditeur, ou du tracé, fait très bien l’affaire.
2. Installez SteamCMD
Chez Valve : developer.valvesoftware.com/wiki/SteamCMD.
- Windows — décompressez
steamcmd.exedans un dossier dédié et lancez-le une fois pour qu’il se mette à jour. - Linux — installez le paquet
steamcmd, ou décompressez l’archive.
3. Écrivez item.vdf
Un petit fichier texte, à côté de votre dossier. Changez les chemins et le titre :
"workshopitem"
{
"appid" "4514930"
"publishedfileid" "0"
"contentfolder" "C:\\Users\\me\\Workshop\\MyItem"
"previewfile" "C:\\Users\\me\\Workshop\\preview.png"
"title" "Monaco 1994"
"description" "Un circuit urbain serré, 3,3 km, 19 virages."
"changenote" "Première version."
"visibility" "0"
}
| Champ | Notes |
|---|---|
appid | 4514930 — The Undercut. Ne le changez jamais |
publishedfileid | 0 crée un nouvel objet. Après le premier envoi, SteamCMD y inscrit l’identifiant réel pour vous |
contentfolder | Chemin absolu vers le dossier de votre objet. Sous Windows, doublez chaque antislash |
previewfile | Chemin absolu vers l’image, moins de 1 Mo. Facultatif — vous pouvez l’ajouter plus tard sur la page de l’objet |
visibility | 0 public · 1 amis uniquement · 2 masqué. Commencez en masqué si vous voulez d’abord inspecter la page |
4. Envoyez
Dans un terminal ou une invite de commandes, avec le compte Steam propriétaire du jeu :
steamcmd +login VOTRE_NOM_STEAM +workshop_build_item "C:\Users\me\Workshop\item.vdf" +quit
Il demande votre mot de passe et votre code Steam Guard — c’est interactif, lancez-le donc vous-même plutôt que depuis un script. À la fin, il affiche l’identifiant de l’objet et l’écrit dans item.vdf.
Conservez item.vdf. C’est votre clé sur l’objet : c’est lui qui fait du prochain envoi une mise à jour plutôt qu’un doublon. (SteamCMD réécrit le fichier et supprime les commentaires que vous y mettez : gardez vos notes ailleurs.)
5. Acceptez l’accord, complétez la page
Ouvrez la page Workshop de l’objet — Steam → Communauté → Workshop → The Undercut → Vos fichiers. Au premier envoi, Steam vous demande d’accepter l’accord juridique du Workshop, et l’objet reste invisible tant que ce n’est pas fait. Titre, description, images et tags y sont modifiables à partir de là.
6. Vérifiez que ça marche
Abonnez-vous à votre propre objet. Steam le télécharge tout seul ; rien à copier. Lancez le jeu :
- un pack apparaît dans Nouvelle carrière → Mods personnalisés
- un circuit apparaît dans les listes de circuits de la configuration de carrière
- une langue apparaît dans Paramètres → Langue
Sinon, lancez le jeu avec --list-mods depuis son dossier : il affiche le dossier Workshop qu’il a résolu, chaque objet auquel vous êtes abonné qu’il a trouvé, et tout ce que chaque scan a relevé.
Mettre à jour un objet publié
Remplacez les fichiers dans le même dossier, indiquez un nouveau changenote dans item.vdf, et relancez la même commande. Comme publishedfileid contient désormais l’identifiant de votre objet, celui-ci est mis à jour sur place — pas de doublon, et les abonnés reçoivent la nouvelle version automatiquement.
Pendant vos itérations, souvenez-vous qu’un fichier dans votre propre mods/ l’emporte sur la copie abonnée du même nom. C’est ainsi que vous testez une modification de quelque chose que vous avez déjà publié, sans vous désabonner.
Si quelque chose cloche
| Symptôme | Ce qu’il faut vérifier |
|---|---|
| « Failed to update workshop item » | Chaque chemin de item.vdf doit être absolu et exister ; l’image d’aperçu doit faire moins de 1 Mo |
| Connexion refusée | SteamCMD est interactif — tapez le code Steam Guard quand il le demande. Le compte doit posséder le jeu |
| La page de l’objet est vide après un envoi en erreur | Un identifiant délivré par une création qui a ensuite échoué est un fantôme : rien n’a été validé. Seul un identifiant que vous pouvez ouvrir sur le Workshop est réel |
| Le contenu n’apparaît pas dans le jeu | Vérifiez l’extension (.db, .circuit, .txt) et sa place dans le dossier de l’objet, puis lancez --list-mods |
| Rien ne marche dans la démo | La démo et les builds Next Fest sont livrés entièrement sans support des mods |