Gidsen / Mods

Hoe voeg je Steam Workshop-mods toe aan een Project Zomboid-server

Mods zorgen ervoor dat Knox County interessant blijft, lang nadat je elk magazijn in Muldraugh hebt leeggeroofd. De Steam Workshop host duizenden Project Zomboid-mods, zoals nieuwe mappen, voertuigen, wapens, beroepen en kwaliteitsverbeteringen, en een dedicated server kan ze allemaal draaien, op Build 42 of Build 41. Deze gids behandelt hoe je Workshop-mods toevoegt met de Mod Manager van het Flux dashboard, waarom de laadvolgorde belangrijk is, hoe mapmods verschillen, hoe de handmatige variant van de servertest.ini-bewerking eruitziet, en hoe je de mods repareert die koppig weigeren te laden.

De twee ID's die elke Project Zomboid-mod heeft

Bijna elk probleem dat mensen hebben met Project Zomboid-servermods komt voort uit één verwarring, dus het is de moeite waard die eerst op te helderen. Elke Workshop-mod heeft twee verschillende identificatoren:

  • De Workshop ID: het lange nummer aan het eind van de Steam Workshop-URL (het ?id=-deel). Het identificeert het Workshop-item dat de server moet downloaden.
  • De Mod ID: een korte tekstnaam gekozen door de modauteur (iets als ExampleModName). Die identificeert de mod die het spel moet laden.

Je serverconfiguratie heeft beide nodig, in twee aparte regels van servertest.ini. De WorkshopItems=-regel neemt de numerieke Workshop-ID's, zodat de server weet wat hij van Steam moet downloaden. De Mods=-regel neemt de tekstuele Mod ID's, zodat het spel weet wat het daadwerkelijk moet inschakelen. Een enkel Workshop-item kan zelfs meerdere Mod ID's bevatten. Daarom kan een mod perfect downloaden en toch niets doen in het spel.

De makkelijke manier: de Mod Manager van het dashboard

Elke Project Zomboid-server die op Flux wordt gedeployd, heeft een Steam Workshop Mod Manager in het webdashboard. Die bestaat speciaal om de twee-ID-valkuil weg te nemen. Je plakt een Steam Workshop-link of alleen het numerieke ID in, de Mod Manager lost de Mod ID en de Workshop ID automatisch op en schrijft daarna beide de WorkshopItems- en de Mods-lijsten in servertest.ini voor je. Geen SSH, geen bestanden zoeken, geen tekst uit een moddbeschrijving kopiëren.

  1. Open de mod op de Steam Workshop en kopieer de paginalink uit je browser (of alleen het numerieke ID aan het eind ervan).
  2. Open de Mod Manager in je Flux dashboard.
  3. Plak de link of het ID en voeg hem toe. De Mod ID en Workshop ID worden opgelost en beide configuratielijsten worden voor je bijgewerkt.
  4. Controleer de laadvolgorde: sleep afhankelijkheden en frameworks boven de mods die ervan afhangen.
  5. Voeg de mapnaam toe aan de Map=-regel toe als je een mapmod hebt toegevoegd (meer hierover hieronder).
  6. Herstart de server. Workshop-items worden bij de eerstvolgende paar herstarts gedownload, en zodra ze op schijf staan, worden de mods geladen.

Herhaal dit voor zoveel mods als je wilt. Het overige dashboard, zoals bestandsbeheer, configuratie-editor, Source RCON-console en backups, staat ernaast. Zo kun je een log controleren of een save terugdraaien zonder de browser te verlaten.

Waarom de laadvolgorde belangrijk is

Project Zomboid laadt mods in de volgorde waarin ze staan in de Mods=-lijst, van links naar rechts. Latere mods overschrijven eerdere wanneer twee mods hetzelfde script, item of dezelfde textuur raken. Dat maakt de volgorde een echte instelling, niet cosmetisch. Drie regels dekken de meeste gevallen:

  • Afhankelijkheden en frameworks komen eerst. Als een mod in zijn Workshop-beschrijving "vereist X" zegt, moet X eerder in de lijst staan. Een afhankelijkheid die later laadt dan de mod die ervan afhangt, is de meest voorkomende reden dat een mod geïnstalleerd lijkt maar niets doet.
  • Patches en compatibiliteitsfixes komen als laatste. Een patch die twee mods met elkaar verzoent, moet laden na beide mods, anders heeft hij niets om te patchen.
  • Houd de volgorde stabiel. Zodra een wereld met een bepaalde volgorde is gegenereerd, kan het schudden van mappen of overhaulmods midden in een savegame chunks beschadigen. Leg je modlijst vast voordat je aan een lange run begint.

Wanneer twee mods echt met elkaar conflicteren, omdat ze beide hetzelfde vanilla-item vervangen, wint de mod die lager in de lijst staat. Als een mod zich niet gedraagt zoals zijn Workshop-pagina beschrijft, is het verplaatsen in de volgorde het eerste wat je moet proberen.

Mods hebben een herstart nodig (en vaak twee)

Een toegevoegde mod werkt niet direct. De server moet het Workshop-item van Steam ophalen, en dat gebeurt als onderdeel van het opstarten. Dat betekent dat mods downloaden bij de eerstvolgende paar herstarts, niet meteen. Het is volkomen normaal dat een pas toegevoegde mod na de eerste herstart ontbreekt en na de tweede aanwezig is: bij de eerste boot werden de bestanden in de wachtrij gezet en gedownload, bij de tweede boot werden ze echt geladen. Geef de server even de tijd, herstart opnieuw en controleer het log voordat je denkt dat er iets kapot is. Vertel het ook aan je spelers, zodat niemand in paniek raakt als de nieuwe map nog niet zichtbaar is.

Mapmods zijn een speciaal geval

Mapmods hebben één extra stap nodig dat geen enkel ander modtype nodig heeft. Het toevoegen van de Workshop-ID en Mod ID zorgt ervoor dat de server de mod downloadt en inschakelt, maar Project Zomboid gebruikt het nieuwe terrein nog steeds niet tenzij de map wordt toegevoegd aan de Map=-regel in servertest.ini. Die regel is een door puntkomma's gescheiden lijst met mapnamen, en de vanilla-map moet aan het eind blijven staan:

Map=MyCustomMap;Muldraugh, KY

De naam die je toevoegt is de mapnaam, die de modauteur meestal op de Workshop-pagina vermeldt. Het is niet per se de Mod ID en niet per se de mooie naam die in het spel wordt getoond. Custom maps horen voor Muldraugh, KY. Dat is de basisspelkaart, en die fungeert als terugvaloptie voor alles wat de custom maps niet dekken. Meerdere mapmods stapelen werkt, maar overlappende mappen vechten om dezelfde cellen. Controleer de Workshop-pagina van elke map op de coördinaten voordat je ze combineert. Zoals bij elke kaartwijziging kan het toevoegen of verwijderen van een mapmod op een bestaande wereld rare naden achterlaten waar spelers al verkend hebben. Het is daarom het beste om dit op een nieuwe save te doen.

Handmatig doen: servertest.ini bewerken

Het is goed om te weten wat de Mod Manager onder de motorkap doet, zowel voor zelf gehoste servers als voor probleemoplossing. Open servertest.ini in de configuratie-editor van het dashboard (of via het bestandsbeheer) en je vindt drie relevante regels:

  • WorkshopItems=2169435993;2392709985: puntkomma-gescheiden numerieke Workshop-ID's. Dit is de downloadlijst.
  • Mods=ModIdOne;ModIdTwo: puntkomma-gescheiden tekst-Mod ID's, in laadvolgorde. Dit is de inschakellijst.
  • Map=MyCustomMap;Muldraugh, KY: puntkomma-gescheiden mapnamen, alleen nodig voor mapmods.

Elke mod die je wilt, moet in de eerste en tweede regel van beide staan. Sla het bestand op, herstart de server, en het gedrag is identiek aan het gebruik van de Mod Manager. Je hebt alleen de ID-opzoeking met de hand gedaan. Handmatig bewerken is precies waar de klassieke fouten gebeuren: een Workshop-ID in Mods= plakken, een van de twee lijsten vergeten, of een losse puntkomma aan het eind van de regel laten staan.

Probleemoplossing: mods die niet laden

De mod staat in de lijst maar er is niets veranderd

Controleer of de Mods=-regel de Mod ID bevat, en niet het numerieke Workshop-ID. Een verkeerde Mod ID is de nummer-één oorzaak. Het serverlog noemt elke mod wanneer die laadt, dus vergelijk wat het log zegt dat geladen is met wat je verwachtte. Controleer ook of de mod echt klaar is met downloaden. Als er pas één herstart is geweest, herstart dan nog eens.

Spelers worden gekickt of zien een modmismatch bij het joinen

De server stuurt zijn modlijst naar verbindende clients, maar clients hebben de modbestanden zelf nog steeds nodig. Elke speler moet zich abonneren op dezelfde mods op de Steam Workshop en Steam laten klaarmaken met downloaden voordat hij verbindt. Als één speler een mod mist of een oude kopie heeft, wordt die geweigerd terwijl de rest prima speelt. Zie hoe je multiplayer speelt met vrienden voor de volledige joinprocedure, of hoe je "file does not match the one on the server" oplost wanneer de weigering een specifiek bestand noemt.

Alles brak nadat een mod was bijgewerkt

Workshop-mods worden bijgewerkt op het schema van de auteur, en een update tijdens een sessie levert een versiemismatch op: de client heeft de nieuwe bestanden, de draaiende server heeft nog de oude. De oplossing is de server herstarten zodat hij de huidige versie ophaalt, en spelers laten controleren of hun Steam-downloads klaar zijn. Na een golf Workshop-updates en vóór een sessie de server herstarten bespaart veel verwarring. Maak eerst een backup. Het dashboard heeft backup en herstel ingebouwd.

Een afhankelijkheid ontbreekt

Veel mods zijn afhankelijk van een framework-mod. Als de Workshop-pagina vereiste items vermeldt, voeg ze dan allemaal toe en plaats ze eerder in de laadvolgorde. Het serverlog klaagt meestal over een ontbrekend script of een ontbrekende tabel wanneer een afhankelijkheid ontbreekt.

Geef je mods een plek om te draaien

Mods hebben veel geheugen nodig. Een vanilla Build 42-wereld voelt zich prima thuis in het instapabonnement van Build 42, 6 GB RAM, 3 CPU-cores en 20 GB SSD. Build 41 vraagt minder, dus het instapabonnement daarvoor is 4 GB, 2 cores en 15 GB. Een lange modlijst, vooral met grote custom maps, wil op beide builds meer ruimte. Abonnementen gaan tot 32 slots (32 spelers is het maximum). Build 41 begint bij $4.99/mo, en de huidige Build 42-prijzen staan op prijzensectie. Elk abonnement bevat dedicated resources, DDoS-bescherming, de Mod Manager en een keuze uit 50+ regio's. Zie serververeisten voor hoe specificaties zich verhouden tot spelersaantallen, of installatiegids als je server nog niet draait. Wil je het hele plaatje weten over waarom het netwerk zo is opgebouwd? Lees waarom we hosten op een gedecentraliseerde cloud.

FAQ

Hoe voeg ik Steam Workshop-mods toe aan een Project Zomboid-server?

Open de Mod Manager in je Flux dashboard en plak de Steam Workshop-link of het numerieke Workshop-ID. De Mod ID en Workshop ID worden automatisch opgelost en geschreven in zowel de WorkshopItems- als de Mods-lijst in servertest.ini. Herstart de server en de mods downloaden bij de eerstvolgende paar herstarts.

Waarom laadt mijn Project Zomboid-mod niet?

Meestal een verkeerde Mod ID (de Mods=-lijst heeft de Mod ID nodig, niet de Workshop ID), een mod die nog niet klaar is met downloaden, een ontbrekende afhankelijkheid, of de verkeerde laadvolgorde. Mapmods hebben ook hun mapnaam nodig op de Map=-regel.

Moeten spelers zich ook op de mods abonneren?

Ja. De server stuurt zijn modlijst naar verbindende clients, maar elke speler heeft de bestanden nog steeds lokaal nodig. Abonneer je op de Steam Workshop, laat Steam downloaden en join.

Is de laadvolgorde belangrijk?

Ja. Mods laden in lijstvolgorde en latere mods overschrijven eerdere, dus afhankelijkheden en frameworks moeten eerst, en compatibiliteitspatches als laatste.

Deploy een modded Project Zomboid-server op Flux →