Servermods voor Vintage Story, eerst getest op een kopie
03
Update-dag
Mods en instellingen bijwerken zonder de wereld te verliezen
Er is een nieuwe game-update uit en je wilt je mods en wereld bijwerken zonder dat je wereld verloren gaat. Het wijzigen van de serverinstellingen van Vintage Story en het toevoegen van mods zijn de twee wijzigingen die een wereld kunnen verhinderen om te laden. Deze workflow voert ze in een vaste volgorde uit: kopieer de saves, wijzig één ding, start de server en lees de log, en wijzig daarna het volgende ding. Cascadia Merge doet het bestandwerk en toont je elk resultaat als een kaart. Je maakt elke beslissing zelf, en je houdt de server gestopt terwijl bestanden worden gewijzigd. Plan je tijd voor het lezen van de diffs en de log, niet voor het typen van paden, en noteer de versie van elke mod voordat je hem wijzigt, zodat de lijst kan dienen als je registratie van de update-dag.
01
Open de gegevensmap
Kies de gegevensmap van de server als de werkmap voor een nieuwe chat. De agent lijst de map op met list_dir, zodat je Saves, Backups en Mods kunt zien voordat er iets wordt aangeraakt. Op een Windows-pc is de standaardlocatie de map VintagestoryData onder de map AppData\Roaming van je gebruiker, tenzij je de server hebt gestart met een ander gegevenspad.
02
Kopieer de saves
Met de server gestopt, kopieert de agent de map Saves naar Backups met je eigen backupscript. Je leest de exitcode in de kaart, vraagt om een tweede list_dir van de map Backups, en bevestigt dat de nieuwe kopie er echt staat voordat je verder gaat.
03
Wijzig één ding
Bewerk serverconfig.json of vervang één mod, nooit beide tegelijk. De agent toont de diff voor een instellingswijziging, en je accepteert of verwerpt deze in Ask first-modus. Een mod die je handmatig vervangt, komt als .zip-bestand in de map Mods, en slechts één dergelijk bestand verandert per ronde.
04
Start en test
Start de server met je eigen script, laat de agent de log doorzoeken op mislukte mods, en maak verbinding vanuit het spel. Als er iets kapot gaat, weet je welke wijziging de oorzaak was, en kun je dat ene bestand verplaatsen of die ene regel herstellen vanuit de kopie die je aan het begin hebt gemaakt.
Een fragment van serverconfig.json
Cascadia Merge · Controle van modlijst● Ask first
Lijst de map Mods op en lees de naam en versie uit elke modinfo.json.
list_dirMods/gevonden
read_fileMods/examplemod/modinfo.jsongelezen
grepversion Mods/3 matches
write_filemod-list.txtopgeslagen
wachten op jouw goedkeuring voordat de volgende stap wordt uitgevoerdWeigerenAccepteren
Dit is een fragment van een serverconfig.json, geen compleet bestand, alleen met placeholder-waarden. De game-poort is 42420 (TCP), en een null-wachtwoord betekent dat er geen wachtwoord is ingesteld, dus voeg er een toe voordat je de wereld opent voor internet. Bewerk het echte bestand alleen terwijl de server gestopt is, en houd je eigen kopie ervan naast de map Saves.
Beheer servermods voor Vintage Story in vier stappen
Controleer wat er geïnstalleerd is
Begin met kijken voordat je iets wijzigt. De agent gebruikt list_dir en glob om de map Mods in de gegevensmap te vinden, read_file om de modinfo.json van elke mod in een map te openen, en write_file om een eenvoudige lijst met namen en versies op te slaan in je werkmap. Als je hulp nodig hebt bij mods op een gehoste server, controleer dan eerst of je de gegevensmap ervan kunt bereiken, omdat de agent alleen kan werken met bestanden die je kunt openen. Print de lijst. Je vergelijkt hem met de mods die je spelers hebben, omdat server en spelers dezelfde mods en versies nodig hebben, en je beslist wat je moet bijwerken. Er is nog niets veranderd, en je hebt een registratie van wat er geïnstalleerd was voordat de update, wat helpt als je later een stap moet ongedaan maken.
Kopieer eerst de saves
Je wereld is één .vcdbs-bestand in de map Saves, dus kopieer die map voor elke game-update, modwijziging en instellingswijziging. Stop eerst de server. De agent gebruikt copy_file om het wereldbestand in de map Backups te plaatsen, en Shell voert je eigen backupscript uit en rapporteert de echte exitcode in de kaart. Een kopie die nooit is hersteld, is slechts een gok, dus herstel hem één keer in een reserve-map, open hem en controleer of de wereld erin staat. Pas dan ga je verder met het deel van het werk dat bestanden wijzigt, met een veilige terugweg als de wijziging mislukt. Je verwijdert niets, en een save wordt nooit verwijderd zonder kopie. Als de map meerdere werelden bevat, kopieer dan de hele map Saves zodat er geen enkele wordt gemist.
Wijzig één instelling of mod
Wijzig nu één enkel ding. Om de serverinstellingen van Vintage Story aan te passen, gebruikt de agent edit_file op serverconfig.json en toont de diff in Ask first-modus; om een mod bij te werken, plaats je de nieuwe .zip zelf in de map Mods, alleen vanuit de officiële moddatabase. Als de wereld niet laadt na het installeren van een mod, is de laatste wijziging de verdachte, en kun je deze ongedaan maken door dat bestand weer te verplaatsen. Stop hier. Je voegt geen tweede mod toe voordat de eerste is getest, omdat twee wijzigingen tegelijk de oorzaak verbergen. Plan only kan de stappen eerst neerschrijven zonder ze uit te voeren, wat handig is wanneer je een checklist wilt voor de update-dag die een tweede beheerder ook kan lezen.
Start de server en lees de log
Start de server met je eigen startscript. Shell voert het uit en toont de echte exitcode, en grep zoekt vervolgens in de serverlog naar de woorden failed en error. Foutopsporing bij een dedicated server begint met die log, en de kaart geeft elke overeenkomende regel weer, zodat je ze in volgorde kunt lezen. glob vindt de logbestanden als je niet zeker weet welke de nieuwste is. Vervolgens maak je verbinding vanuit het spel en loop je door de wereld. Je accepteert de wijziging pas als voltooid nadat de log schoon is en een tweede speler is verbonden. Als het niet schoon is, ga je één stap terug, lees je de eerste fout in plaats van de laatste, en herstel je de kopie van de saves als de wereld zelf beschadigd is geraakt.