Mod Installer / Manager für TPF2 in Java (Windows / Linux)

Willkommen in der Transport Fever Community

Welcome to the fan community of Transport Fever and Train Fever, the economic simulators of Urban Games. The community is free for you to share and inform yourself about the game. We cultivate a friendly and objective interaction with each other and our team will be happy to answer any questions you may have.

 

Registration and use is of course free for you.

 

We wish you a lot of fun and hope for active participation.

The Team of the Transport-Fever Community

  • Hallo Community,


    ich arbeite gerade an einem Mod Installer / Manager für TPF2. Ich weiß nicht ob es für TPF2 bereits einen Manager gibt, oder der bestehende TPF Mod Manager mit TPF2 funktioniert, bei mir hat das nicht geklappt. Mein Manager wird in Java geschrieben und kann daher dann auch unter Linux eingesetzt werden. Auch ist der Manager von der eigentlichen TPF2 Applikation unabhängig, ausser der Abfrage, ob der TPF2 Prozess läuft, um sicher zustellen, dass man keine Mods de- / installiert, wenn das Spiel läuft.


    Ich möchte hier mal nachfragen, ob es da in der Community generell Bedarf gibt, dann werde ich den Manager entsprechend qualitativ besser programmieren und bereitstellen.


    Der Manager soll recht simpel gehalten werden. Er liest eine extrahierte Liste von Mod Informationen im JSON Format ein und gleicht dies mit dem Quell- und Mod-Installationsverzeichnis ab und visualisiert dies entsprechend in einer Tabelle und zeigt für die ausgewählte Mod entsprechend Details an (z.B. Ersteller, Aktualisierungs- und Erstellungsdatum, Beschreibung, steam oder andere id, Abhängigkeiten, ...).


    Der Manager liefert keine eigentlichen Mod-Daten. Liest aber aus einem Verzeichnis 7zip Dateien (jeder Mod in eigener 7zip Datei), deren Name aus der ID besteht. Installierbare Mods (vorhandene Mods) werden dann entsprechend angezeigt. Die Tabelle wird auch mit weiteren Stati erweitert ("Installiert", "Vorhanden"). Um die Mod-Daten muss man sich also selbst noch kümmern. Aber man hat immer eine Liste von allen Steam und transportfever.net Mods mit Beschreibung und Verlinkungen hier ins Forum, aber nie die eigentlichen Mod-Daten. Selbst die Bilder der Mods werden nur verlinkt. Das wahrt das Copyright.


    Ich hänge mal noch ein Bild an, damit man einen Eindruck bekommt. Die Software ist aktuell noch im Alpha Status und ist generell noch nicht 100% fertiggestellt.


    Freue mich auf eure Rückmeldung.


    PS Die Bilder zeigen eine Alpha Version und stellen nicht die fertige Anwendung dar.

  • Huhu,

    unabhängig davon ob es schon einen Manager gibt, macht Vielfalt und Auswahlmöglichkeit durchaus Sinn;)


    .... Liest aber aus einem Verzeichnis 7zip Dateien (jeder Mod in eigener 7zip Datei), deren Name aus der ID besteht. Installierbare Mods (vorhandene Mods) werden dann entsprechend angezeigt. Die Tabelle wird auch mit weiteren Stati erweitert ("Installiert", "Vorhanden"). Um die Mod-Daten muss man sich also selbst noch kümmern. ...

    Sorry, aber das verstehe ich nicht.


    Kann /wird der Manager auch Mods verwalten können bei denen ich Ordnernamen selbst vergeben habe? Als Beispiel die "unsinnigen Steam Ordner" benenne ich so: Name der Mod_Namemodder_0101010234_1

    Selbst manche Mods von dieser Seite hier haben teils kryptische Namen die ich im Verzeichnis nie wiederfinden würde, ohne in den Mod-Ordner selbst schauen zu müssen.


    Schön wäre auch eine Option einen Mod zwar "verwalten" aber nicht zwangsläufig aktualisieren zu müssen. Als Beispiel eine Mod die zwar aktualisiert wurde, die ich aber (noch) nicht verwenden möchte.


    Einen Daumen bekommst du schon mal für Linux und Windows Verwendbarkeit.


    Ich hoffe man liest noch viel von Deinem Projekt


    Lieben Gruß
    Traxttb

  • Hey,


    also der Manager wird keine automatisierte Aktualisierung haben, dh er wird generell nichts automatisiert herunterladen, ausser die verlinken bilder in den Beschreibungen auf Steam oder hier im Forum, wird diese aber nicht offline bereitstellen. Man muss auch die Mod-Dateien im Quellverzeichnis selbst aktualisieren. Die ID kann selbst gewählt werden. Für Steam Mods werde ich eben die Steam ID nehmen. Für dieses Forum nehme ich jeweils then thread namen der URL zB

    Yakovlev Yak-40 -> ID = 5502-yakovlev-yak-40


    Ebenso wird es keine Kompatibilität mit eigenen oder Steam-Strukturen im Installationsverzeichnis geben. Der Manager wird dann nur mit der eigenen Struktur klar kommen. Aber man hat eben die möglichkeit die Mods selbst in das Quellverzeichnis zu kopieren und alles andere macht dann der Manager. ich kann bestimmte Dinge sicherlich dynamisch anpassbar machen und das Modverzeichnis im Installationverzeichnis evtl durch platzhalter konfigurierbar machen.


    Aber man muss generell selbst etwas Hand anlegen. Der Manager kann eben die vielen unterschiedlichen Strukturen der einzelnen Mods nicht sauber verarbeiten, daher versuche ich da eine Struktur vorzugeben. Man muss dann eben die ZIP-Dateien etwas anpassen. Auch werde ich versuchen verschiedene Kompressionsverfahren zu unterstützen. ZIP, 7z, RAR sind erst einmal geplant, aber wegen linux Support werde ich über tar, BZIP und GZIP.


    Auch wird es nötig sein, dass ich immer wieder die JSON Daten neu von Steam und hier extrahiere und bereitstellen muss, da immer wieder neue Mods dazu kommen und auch aktualisiert werden. Aktuell parse ich diese Daten aus den HTML Daten der einzelnen Threads und Mods auf Steam.


    Auch versuche ich Mods, die hier eine Steam ID angeben nicht in die Mod Liste zu übernehmen, da diese ja über Steam schon vorhanden sind.


    Ich werde mal eine Version fertigstellen, das wird wohl noch so 2-3 Wochen dauern. Dann kann man das auch mal testen und bekommt einen klareren Eindruck.


    UPDATE:


    Es wird natürlich auch ein Filter und eine Suche für Tags, ID und Namen geben.

  • Hallo, kurzes Update.

    Anwendung entwicklet sich recht gut, die wichtigsten Workflows laufen schon. Ich bräuchte etwas Hilfe von der Community. Ich selbst habe nur die GOG Version. Könnte mir jmd sagen, wie die Verzeichnisse der einzelnen Mods der Steam Version benannt sind? Wenn jmd auch weiß, ob die Steam-Version in der Windows Registry das Standard Installations-Mod-Verzeichnis oder das TPF2 Home Verzeichnis hinterlegt?


    Gibt es die Möglichkeit, über TPF2 / Steam /GoG DLLs bestimmte Vorgänge für das Spiel zu steuern, was Sinn geben würde in diese Anwendung einzubauen?

    Ich nehme Wünsche entgegen. Verspreche aber nichts!


    Aktuell arbeite ich noch am Daten-Extrahierer für dieses Forum. Ist alles etwas tricky, um nur die TPF2 Mods und Steam Dublikate zu erkennen.

    Ich möchte den Quelltext und die Daten-Struktur sehr offen und leicht Verständlich halten, so dass Ihr in der Lage seid es anzupassen, so wie ihr das braucht.

  • Speicherorte der Spieldateien, stdout.txt, Speicherstände, Mods

    Speicherort der stdout.txt


    Beim Benutzerordner kommt noch die User Id dazu, was die Sache nicht einfacher macht.

    Die Spieldateien können auch woanders liegen, da man die Installation über Steam verschieben kann.


    In der Registry gibts es: Computer\HKEY_CURRENT_USER\Software\Valve\Steam\SteamPath = c:/program files (x86)/steam

    Es gibt dann unter Apps die Spiele mit Ids (1066780), da stehen aber keine Pfade, nur obs installiert ist, läuft, oder updated.

  • Kurzes Update.


    Habe mich entschlossen alles möglich an Hilfe einzubauen. Bin gerade noch dabei einen Editor für die Settings.lua zu implementieren. Muss aktuell Quelltext sortieren und auch I18N implementieren. Möchte noch einen Filter bzw. eine Suche für die Mods einbauen. Ebenso werde ich eine Custom JSON Datei bereitstellen, in der man eigene Beschreibungen verwalten kann, ohne die Daten von steam, tpf.net und modwerkstatt anzufassen.


    Es wird sich noch etwas verzögern. Auch möchte ich den TPF2 patch am Montag abwarten, evtl wird damit einiges verändert...

  • So noch ein paar Bilder. Crash Dump Ansicht mit Zip Funktion, um dmp und stdout Datei direkt zippen und anschauen zu können (die Tabelle unten wird noch die dmp Dateien auflisten). Werde wohl noch Verlinkung auf die Pfade setzen, so dass man die Verzeichnisse direkt aus der Anwendung heraus im Standard Datei-Explorer öffnen kann.


    Ich habe in der Anwendung einen LUA Interpreter zur Verfügung, es lassen sich also auch Lua-Skripte in Java ausführen. Ich kann z.B. auch die mod.lua Tabelle der data() Funktion der einzelnen Mods auslesen, falls das jmd begehrenswert findet.

    Auch möchte ich das Zusammenstellen eigner Modkollektionen ermöglichen, was man dann direkt über den Filter auswählen kann. Und natürlich das De-/ Installieren mehrere Mods gleichzeitig. So dass man zB die Kollektionen direkt mit 2-3 Mausklicks de- / installieren kann.


    Und noch eine Ansicht, um sich die profile.lua anzuschauen bzw zu editieren.


    Falls jmd noch Ideen und Wünsche hat, was man hier noch einbauen könnte, jetzt ist der Zeitpunkt.

  • ...Es wird sich noch etwas verzögern. Auch möchte ich den TPF2 patch am Montag abwarten, evtl wird damit einiges verändert...

    Nachfrage dazu, da du in deiner heutigen Antwort nichts mehr dazu schreibst: Keine Auswirkungen durch das Update? Wäre klasse, genau wie dein geniales Tool.

    ASUS ROG GV752VW-T4004T: Intel Core i7-6700HQ - 16GB RAM - NVidia GTX960M 2 GB VRAM - 512GB SSD - 1024 GBHDD

  • Hey, ich komme leider diese Woche fast gar nicht dazu weiter an dem Tool zu arbeiten. Ich hoffe am WE noch etwas machen zu können. Ich melde mich aber dazu noch.
    Muss mir mal noch das neue Wiki genau durchlesen und das changelog der neuen Version.


    Ich werde auch zeitnah die erste Version des Tools veröffentlichen. Ich muss nur Basisfunktionen stabil umsetzen, damit es da auch keine Probleme gibt. Danach werde ich Stück für Stück die weiteren Funktionen implementieren.

  • da du nach Anregungen geragt hast, ich aber keine Ahnung von Programmierung habe, weiß ich nicht wie komplex das die ganze Geschichte machen würde:

    Wie wäre es mit einer Funktion mehrere mod Kollektionen für unterschiedliche Spielstände zusammen stellen zu können und diese per DropDown Menü vor spielstart auswählen zu können? So das der Mod Manager automatisch die richtigen Mods für den jeweiligen Spielstand auswählt und lädt

  • Weiß nicht genau welche Vorteile das haben würde, wenn das savegame eh aktive Mods speichert und auch nur diese verwendet. Müsste man evtl. das savegame auslesen. Mal schauen, ob das Format bekannt ist. Muss mir mal anschauen, wie das alles gespeichert wird. Ich schau mal in die Thematik rein.