Guides / Mods

Comment ajouter des mods Steam Workshop à un serveur Project Zomboid

Les mods permettent à Knox County de rester intéressant longtemps après que vous avez pillé chaque entrepôt de Muldraugh. Le Steam Workshop héberge des milliers de mods Project Zomboid (nouvelles cartes, véhicules, armes, métiers, corrections de confort de jeu) et un serveur dédié peut les faire tourner tous, sur Build 42 comme sur Build 41. Ce guide explique comment ajouter des mods Workshop avec le gestionnaire de mods du tableau de bord Flux, pourquoi l'ordre de chargement compte, en quoi les mods de carte diffèrent, à quoi ressemble la modification manuelle équivalente de servertest.ini, et comment réparer les mods qui refusent obstinément de se charger.

Les deux identifiants de chaque mod Project Zomboid

Presque tous les problèmes rencontrés avec les mods de serveur Project Zomboid viennent d'une même confusion, il vaut donc la peine de la clarifier avant tout. Chaque mod Workshop possède deux identifiants différents :

  • L'ID Workshop : le long nombre à la fin de l'URL du Steam Workshop (la partie ?id=). Il identifie l'élément Workshop élément que le serveur doit télécharger.
  • L'ID de mod : un nom court en texte, choisi par l'auteur du mod (quelque chose comme ExampleModName). Il identifie le mod que le jeu doit charger.

Votre configuration serveur nécessite les deux, dans deux lignes distinctes de servertest.ini. La ligne WorkshopItems= prend les ID Workshop numériques, pour que le serveur sache quoi télécharger depuis Steam. La ligne Mods= prend les ID de mod textuels, pour que le jeu sache quoi réellement activer. Un seul élément Workshop peut même contenir plusieurs ID de mod : c'est pourquoi un mod peut se télécharger parfaitement et ne rien faire en jeu.

La méthode simple : le gestionnaire de mods du tableau de bord

Chaque serveur Project Zomboid déployé sur Flux est livré avec un Gestionnaire de mods Steam Workshop dans le tableau de bord web, conçu précisément pour supprimer ce piège des deux identifiants. Vous collez un Lien du Steam Workshop ou simplement l'ID numérique, et le gestionnaire de mods résout le l'ID de mod et l'ID Workshop automatiquement, puis écrit les deux les listes WorkshopItems et Mods dans servertest.ini pour vous. Ni SSH, ni recherche de fichiers, ni copie de chaînes depuis une description de mod.

  1. Ouvrez le mod sur le Steam Workshop et copiez l'URL de la page depuis votre navigateur (ou simplement l'ID numérique à la fin de celle-ci).
  2. Ouvrez le gestionnaire de mods dans votre tableau de bord Flux.
  3. Collez le lien ou l'ID et ajoutez-le. Les ID de mod et ID Workshop sont résolus et les deux listes de configuration sont mises à jour pour vous.
  4. Vérifiez l'ordre de chargement : faites glisser les dépendances et les frameworks au-dessus des mods qui en dépendent.
  5. Ajoutez le nom de la carte à la ligne Map= si vous avez ajouté un mod de carte (plus de détails ci-dessous).
  6. Redémarrez le serveur. Les éléments Workshop se téléchargent lors des deux redémarrages suivants, et une fois sur le disque, les mods se chargent.

Répétez l'opération pour autant de mods que vous voulez. Le reste du tableau de bord (gestionnaire de fichiers, éditeur de configuration, console Source RCON, sauvegardes) est à côté, vous pouvez donc consulter un journal ou restaurer une sauvegarde sans quitter le navigateur.

Pourquoi l'ordre de chargement compte

Project Zomboid charge les mods dans l'ordre où ils apparaissent dans la liste Mods=, de gauche à droite, et les mods ultérieurs remplacent les précédents lorsque deux mods touchent le même script, le même objet ou la même texture. L'ordre est donc un réel paramètre, pas un détail cosmétique. Trois règles couvrent la plupart des cas :

  • Les dépendances et les frameworks passent en premier. Si un mod indique « requires X » dans sa description Workshop, X doit apparaître plus haut dans la liste. Une dépendance chargée après le mod qui en dépend est la cause la plus fréquente d'un mod qui semble installé mais ne fait rien.
  • Les patchs et corrections de compatibilité passent en dernier. Un patch qui réconcilie deux mods doit se charger après les deux, sinon il n'a rien à corriger.
  • Gardez l'ordre stable. Une fois qu'un monde a été généré avec un ordre donné, changer les cartes ou les mods de refonte en cours de sauvegarde peut corrompre les chunks. Fixez votre liste de mods avant de lancer une longue partie.

Lorsque deux mods entrent réellement en conflit (remplaçant tous deux le même objet vanilla), celui situé plus bas dans la liste l'emporte. Si un mod ne se comporte pas comme le décrit sa page Workshop, la première chose à essayer est de le déplacer dans l'ordre.

Les mods nécessitent un redémarrage (souvent deux)

L'ajout d'un mod ne prend pas effet immédiatement. Le serveur doit récupérer l'élément Workshop auprès de Steam, et cette récupération a lieu au démarrage, ce qui signifie les mods se téléchargent lors des deux redémarrages suivants, pas instantanément. Il est tout à fait normal qu'un mod fraîchement ajouté soit absent après le premier redémarrage et présent après le second : le premier démarrage a mis les fichiers en file d'attente et les a téléchargés, le second les a réellement chargés. Laissez le serveur un moment, redémarrez-le et consultez le journal avant de supposer qu'il y a un problème. Prévenez aussi vos joueurs pour que personne ne s'inquiète si la nouvelle carte n'est pas encore là.

Les mods de carte sont un cas particulier

Les mods de carte nécessitent une étape supplémentaire que les autres types de mods n'exigent pas. Ajouter l'ID Workshop et l'ID de mod fait télécharger et activer le mod par le serveur, mais Project Zomboid n'utilisera pas le nouveau terrain tant que la carte n'est pas ajoutée à la ligne Map= dans servertest.ini. Cette ligne est une liste de noms de dossiers de cartes séparés par des points-virgules, et la carte vanilla doit rester à la fin :

Map=MyCustomMap;Muldraugh, KY

Le nom que vous ajoutez est le nom du dossier de carte, que l'auteur du mod indique généralement sur la page Workshop. Ce n'est pas forcément l'ID de mod, ni forcément le nom affiché en jeu. Les cartes personnalisées se placent avant Muldraugh, KY, qui représente la carte du jeu de base et sert de solution de repli pour tout ce que les cartes personnalisées ne couvrent pas. Empiler plusieurs mods de carte fonctionne, mais des cartes qui se chevauchent se disputeront les mêmes cellules : vérifiez les coordonnées sur la page Workshop de chaque carte avant de les combiner. Comme pour toute modification de carte, ajouter ou retirer un mod de carte sur un monde existant peut laisser des coutures étranges là où les joueurs ont déjà exploré, il vaut donc mieux le faire sur une nouvelle sauvegarde.

Procédure manuelle : modifier servertest.ini

Il est utile de savoir ce que fait le gestionnaire de mods en coulisses, aussi bien pour les serveurs auto-hébergés que pour le dépannage. Ouvrez servertest.ini dans l'éditeur de configuration du tableau de bord (ou via le gestionnaire de fichiers) et vous trouverez trois lignes pertinentes :

  • WorkshopItems=2169435993;2392709985 : ID Workshop numériques séparés par des points-virgules. C'est la liste de téléchargement.
  • Mods=ModIdOne;ModIdTwo : ID de mod textuels séparés par des points-virgules, dans l'ordre de chargement. C'est la liste d'activation.
  • Map=MyCustomMap;Muldraugh, KY : noms des dossiers de carte séparés par des points-virgules, nécessaires uniquement pour les mods de carte.

Chaque mod que vous voulez doit figurer dans les deux sur les deux premières lignes. Enregistrez le fichier, redémarrez le serveur, et le comportement est identique à celui du gestionnaire de mods : vous avez simplement fait la recherche d'ID à la main. La modification manuelle est exactement là où surviennent les erreurs classiques : coller un ID Workshop dans Mods=, oublier l'une des deux listes ou laisser un point-virgule superflu en fin de ligne.

Dépannage : les mods qui refusent de se charger

Le mod est dans la liste mais rien n'a changé

Vérifiez que la ligne Mods= contient le ID de mod, et non l'ID Workshop numérique : un ID de mod incorrect est la première cause de problème. Le journal du serveur indique le nom de chaque mod au chargement, comparez donc ce qu'il dit avoir chargé avec ce que vous attendiez. Vérifiez aussi que le mod a bien fini de se télécharger ; s'il n'a subi qu'un seul redémarrage, redémarrez encore.

Les joueurs sont expulsés ou voient une incompatibilité de mod à la connexion

Le serveur envoie sa liste de mods aux clients qui se connectent, mais les clients ont tout de même besoin des fichiers de mods eux-mêmes. Chaque joueur doit s'abonner aux mêmes mods sur le Steam Workshop et laisser Steam finir le téléchargement avant de se connecter. Si un joueur n'a pas un mod, ou en a une ancienne copie, il sera rejeté alors que tous les autres jouent sans problème. Consultez comment jouer en multijoueur avec des amis pour le déroulement complet de la connexion, ou comment corriger « file does not match the one on the server » lorsque le rejet mentionne un fichier précis.

Tout a cassé après la mise à jour d'un mod

Les mods Workshop se mettent à jour selon le calendrier de leur auteur, et une mise à jour en cours de session produit une incompatibilité de version : le client possède les nouveaux fichiers, mais le serveur en cours d'exécution conserve les anciens. La solution consiste à redémarrer le serveur pour qu'il récupère la version actuelle, et à faire vérifier aux joueurs que leurs téléchargements Steam sont terminés. Redémarrer le serveur après une vague de mises à jour Workshop, et avant une session, évite beaucoup de confusion. Faites d'abord une sauvegarde : le tableau de bord intègre sauvegarde et restauration.

Une dépendance est manquante

De nombreux mods dépendent d'un mod de framework. Si la page Workshop liste des éléments requis, ajoutez-les tous et placez-les plus tôt dans l'ordre de chargement. Le journal du serveur signalera généralement un script ou une table manquante lorsqu'une dépendance est absente.

Donnez à vos mods un endroit où s'exécuter

Les mods consomment beaucoup de mémoire. Un monde vanilla Build 42 se satisfait de l'offre d'entrée Build 42 avec 6 GB de RAM, 3 cœurs de CPU et 20 GB de SSD (Build 41 en demande moins, donc son offre d'entrée est 4 GB, 2 cœurs et 15 GB), mais une longue liste de mods, surtout avec de grandes cartes personnalisées, demande davantage de marge sur l'un ou l'autre build. Les offres vont jusqu'à 32 slots (32 joueurs est la limite) : Build 41 commence à $4.99/mo, et la tarification actuelle de Build 42 se trouve sur section tarifs. Chaque offre inclut des ressources dédiées, la protection DDoS, le gestionnaire de mods et le choix parmi 50+ régions. Consultez configuration requise du serveur pour savoir comment les specs correspondent aux nombres de joueurs, ou guide d'installation si votre serveur n'est pas encore en ligne. Vous voulez la vue d'ensemble sur les raisons de cette architecture réseau ? Lisez pourquoi nous hébergeons sur un cloud décentralisé.

FAQ

Comment ajouter des mods Steam Workshop à un serveur Project Zomboid ?

Ouvrez le gestionnaire de mods dans votre tableau de bord Flux et collez le lien du Steam Workshop ou l'ID Workshop numérique. Les ID de mod et ID Workshop sont résolus automatiquement et écrits dans les listes WorkshopItems et Mods de servertest.ini. Redémarrez le serveur et les mods se téléchargent lors des deux redémarrages suivants.

Pourquoi mon mod Project Zomboid ne se charge-t-il pas ?

Le plus souvent, un ID de mod incorrect (la liste Mods= a besoin de l'ID de mod, pas de l'ID Workshop), un mod qui n'a pas fini de se télécharger, une dépendance manquante ou un mauvais ordre de chargement. Les mods de carte ont aussi besoin de leur nom de carte sur la ligne Map=.

Les joueurs doivent-ils aussi s'abonner aux mods ?

Oui. Le serveur pousse sa liste de mods aux clients qui se connectent, mais chaque joueur a toujours besoin des fichiers en local. Abonnez-vous sur le Steam Workshop, laissez Steam télécharger, puis rejoignez.

L'ordre de chargement compte-t-il ?

Oui. Les mods se chargent dans l'ordre de la liste, et les mods ultérieurs remplacent les précédents. Les dépendances et les frameworks doivent donc venir en premier, et les correctifs de compatibilité en dernier.

Déployez un serveur Project Zomboid moddé sur Flux →