mein ModManager

Teilt mit uns euere Kreationen!
elmike
Posts: 3365
Joined: Sat Oct 30, 2010 9:57 pm

mein ModManager

Post by elmike »

Hallo,

ich habe mich entschieden, hier einen Thread für mein kleines Projekt zu eröffnen... vielleicht würde es auch ins Modding-Unterforum passen, aber es ist ja kein Mod, es ist:
Mein ModManager!

Wer kennt es nicht: Man hat diverse savegames, alle mit verschiedenen Mods. Und dann will man kurz spielen, das Spiel sagt einem aber, dass da noch ein paar Mods fehlen... und dann beginnt die Suche, das Downloaden, das Kopieren... aber wenn nach dem dritten Anlauf immer noch nicht alle Mods vorhanden sind, dann schwindet die Lust zu spielen irgendwann.
Früher habe ich mir dafür Mod-Ordner für jedes Savegame angelegt... aber bei vielen Savegames mit sich überschneidenden Mods verliert man irgendwann den Überblick und müllt sich zudem die Platte voll.

Also habe ich mir ein winziges Python-Script geschrieben, das zwei kleine Aufgaben erfüllen kann:
  • Kopiere alle mods, die im gegebenen Savegame verwendet werden, vom mods-Ordner in einen Backup-Ordner
  • Kopiere alle mods, die im gegebenen Savegame verwendet werden, vom Backupordner in den mods-Ordner
Folgende Ziele hatte ich vor Augen:
  • Sparen von Speicherplatz, weil Mods höchstens zwei Mal (mods + Backup) vorhanden sind
  • schnellerer Start des Spieles, weil nur die benötigten Mods geladen werden
  • wie oben geschrieben: Einfacher, fast automatisierter Wechsel des "aktiven Spielstands"
  • mal sehen, wie schnell das in Python geht (Spoiler: weniger als zwei Stunden für den grundsätzlichen Prototyp)
Derzeit ist das einfach nur ein Kommando-Zeilen-Tool ohne jeden Komfort und ohne jegliche Fehlerbehandlung, aber ich denke, ich werde da immer mal wieder weiter machen, denn Programmieren macht mir Spaß, und ich lerne noch was dabei! =)

So siehts momentan aus:

Code: Select all

e:\Downloads\LS19\Script>modManager.py store 4 E:\Downloads\LS19_save\
Found  46  mods
Copying FS19_placeableGreenhouses.zip to E:\Downloads\LS19_save\
Copying FS19_precisionFarming.zip to E:\Downloads\LS19_save\
Skipping pdlc_johnDeereCottonPack.zip
Copying FS19_bresselUndLadeShovelPack.zip to E:\Downloads\LS19_save\
Copying FS19_halftimberedBarn.zip to E:\Downloads\LS19_save\
...
Ideen für die Zukunft:
  • GUI - ich klicke auch lieber, als lange Texte einzugeben
  • Robustness - derzeit werden noch keine Fehler abgefangen
  • Savegame-Editor zum Hinzufügen von Mods, evtl. auch entfernen
  • Lokalisierung: Derzeit sind alle Meldungen englisch... python kann doch sicher auch sowas
  • Projekt auf Github erstellen, wenn genug Interesse da ist =)
Tja, liebe Community, was sagt Ihr dazu? Interessiert Euch das kleine Werkzeug? Habt Ihr Ideen für weitere Features?

elmike
Altbauer
Posts: 1034
Joined: Tue Aug 30, 2011 2:56 pm

Re: mein ModManager

Post by Altbauer »

Ich finde die Hinundherkopiererei etwas umständlich. Das kann man noch einfacher machen.

Dazu braucht es einen allgemeinen Modordner, wo die ganzen Downloads reinkommen.
Da diese Skript jedesmal auf diesen Ordner zugreift, besteht auch die Gefahr des Zerschießens, darum auch noch ein Backupordner, der auch wegen der Updates auf den gleichen Stand gehalten werden muß.

Diese Skript würde ich nun so gestalten, daß es vor Spielbeginn den Modordner des Spiels leer macht.
Anschließend werden die benötigten Mods aus dem Downloadordner geladen.

Dabei würde ich auch eine Savegame-Abfrage einbauen, damit nicht unnötig geladen wird, wenn das gleiche Savegame wieder benutzt wird. Die benötigten Mods sind ja schon vorhanden.

Altbauer
elmike
Posts: 3365
Joined: Sat Oct 30, 2010 9:57 pm

Re: mein ModManager

Post by elmike »

Hallo,

ich bin mir nicht sicher, ob Du verstanden hast, was mein kleines Script machen soll.

Nochmal die Ausgangssituation:
Ich habe mehrere Savegames, alle mit teils unterschiedlichen Mods. Um es einfach zu haben, benenne ich den mods-Ordner einfach um. Das führt dazu, dass die gemeinsamen Mods nun mehrfach auf der Platte liegen und damit auch den mehrfachen Platz brauchen. Das wollte ich nicht.
Oder, wenn ich dann doch mal ein Savegame weiter spiele, bei dem ich den Mods-Ordner nicht kopiert habe: Dann darf ich mir, entweder ingame über den Modhub oder direkt aus dem Savegame.xml die benötigten Mods wieder heraussuchen und runterladen/kopieren. Das kostet Zeit und damit Spielspaß.
Und genau das löst mein Script, wie oben beschrieben.

Und es macht das außerhalb des Spieles.
Ich verstehe auch nicht, was genau das Script beim rumkopieren "zerschießen" soll.
Das aktuell halten passiert im Spiel, manuell im Modhub. Die aktualisierten Mods müssen dann natürlich nach dem Spielen wieder durch das Script in den Backup-Ordner kopiert werden.

elmike
Phillip199588
Posts: 662
Joined: Sun Aug 05, 2012 12:57 am

Re: mein ModManager

Post by Phillip199588 »

Wäre es möglich den Sourcecode einzusehen? :)
elmike
Posts: 3365
Joined: Sat Oct 30, 2010 9:57 pm

Re: mein ModManager

Post by elmike »

Hallo,

ich habe das Script leider auf der Festplatte im alten Rechner "vergessen". Die muss ich erst mal irgendwo reinstecken, um wieder dran zu kommen.

Aber im Prinzip ist es nicht schwer (aus dem Gedächtnis):
Ich verwende die Python-Module für die Auswertung der Kommandozeilenparameter.
Etree für das Interpretieren des Savegame.xml
Kopieren der Dateien über die Systemfunktion.

Ich schau mal, dass ich den Quellcode auf Github hochlade, meine lokale Versionsverwaltung läuft ja auch über git. =)

elmike
Post Reply