Wiki en construction. De nombreux concepts décrits ici viennent de l'alpha 0.2 et peuvent encore changer. Le wiki sera finalisé pour la version 1.0 — pour l'instant il sert à aider les testeurs fermés puis, plus tard, les joueurs de l'accès anticipé à s'y retrouver. Pour les informations les plus à jour et les plus fiables, rejoignez le Discord — c'est là que les changements sont annoncés en premier et que vous pouvez poser vos questions directement.

Rejoindre le Discord pour les dernières infos

Publier sur le Steam Workshop

Transformer un pack, un circuit ou une traduction en objet Workshop à abonnement — la structure du dossier, item.vdf, l'envoi via SteamCMD, et la mise à jour ensuite.

Sur cette page

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

votre dossier my_pack.db circuits/*.circuit lang/<code>.txt + item.vdf, preview.png envoi SteamCMD une commande Objet Workshop titre · aperçu · tags modifiable sur sa page abonnement le jeu le lit au lancement

L’abonné ne copie rien. Son propre dossier mods/ l’emporte toujours en cas d’homonymie.


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.exe dans 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"
}
ChampNotes
appid4514930 — The Undercut. Ne le changez jamais
publishedfileid0 crée un nouvel objet. Après le premier envoi, SteamCMD y inscrit l’identifiant réel pour vous
contentfolderChemin absolu vers le dossier de votre objet. Sous Windows, doublez chaque antislash
previewfileChemin absolu vers l’image, moins de 1 Mo. Facultatif — vous pouvez l’ajouter plus tard sur la page de l’objet
visibility0 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ômeCe 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éeSteamCMD 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 erreurUn 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 jeuVé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émoLa démo et les builds Next Fest sont livrés entièrement sans support des mods