1. Dashboard
  2. Forum
  3. Filebase
  4. Lexikon
  5. Artikel
  6. Spieletest
  7. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  8. Zur Transport Fever Community
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Filebase-Eintrag
  • Lexikon
  • Artikel (Bewertungssystem)
  • Erweiterte Suche
  1. WiSim Welt
  2. Forum
  3. Spiele
  4. Cities in Motion
  5. Modding und Erweiterungen
  6. Tools & more

[Dev Thread / Preview] Mod Manager

  • eis_os
  • 22. August 2011 um 18:00
1. offizieller Beitrag
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 22. August 2011 um 18:00
    • #1

    Hallo

    Da ich gefragt wurde ob das auch mal für andere Addons funktionieren wird.
    Die Entwicklung des Mod Manager ist sehr stark am Anfang. Bevor jemand anderes oder Colossal Order/Paradox wieder etwas zeigt, werde ich auch diesmal eine Art Tagebuch / Bericht der laufenden Arbeiten schreiben.

    Eine Alpha Version kann man sich unter http://cim.bytetransfer.de/modmanager/ herunterladen,
    Änderungen werden hier im Beitrag genannt.

    Ein Repository gibt es hier:
    http://cim.bytetransfer.de/repo/cim.repo

    [gallery]1177[/gallery]

    Die Todo Liste:
    - Baue einen funktionierenden Mod Manager
    - Abhängigkeitsauflösung, laden von Mods in der richtigen Reihenfolge.
    - Update des Installers aus meiner Quad U-Bahn Station (Big Underground Metro Station) und als API in den Mod Manager einbauen.
    - Entladen von Mods, deaktivieren und aktivieren mit eigener API, reload zum entwickeln.
    - Auto Updater aller U-Bahn Station

    - Neue Versionsseite für Mods per Ingame Link aufrufbar. (Da werden den die Versionen übermittelt)

    Version 2:
    - Einstellungsfenster für Mods
    - Bundle Installer, mehr Mods in einer GS Datei
    - API zum Ändern von CIM Dateien wenn CO mir die nötigen Infos bzw. technischen Mittel raus rückt.

    Das ist alles noch in Planung für eigene Mods, sollte die API Stabil genug sein, kann jeder wenn er möchte die Mods so vertreiben oder eben auf eigene Gefahr und ich ändere noch etwas. Wie bei TTDPatch wird es wohl aber immer ein Kompatibilitätsmodus geben.
    Die Mods werden nicht in Addons installiert, daher kann ein Mod auch beide Möglichkeiten unterstützen.

    Und ja, ich bin mit UI noch nicht wirklich glücklich.

    2 Mal editiert, zuletzt von eis_os (27. März 2012 um 18:58)

    • Zitieren
  • immi
    Gast
    • 23. August 2011 um 15:14
    • #2
    Zitat von eis_os

    - API zum Ändern von CIM Dateien wenn CO mir die nötigen Infos bzw. technischen Mittel raus rückt.


    warum willst du die Originaldaten modifizieren? Find ich nicht so prickelnd wenn mods anfangen in den Original Dateien rumzupfuschen. Oder versteh ich da was falsch ?

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 23. August 2011 um 15:42
    • #3

    Es gibt einfach ein paar Sachen die nicht anders gehen, Beispiel ich habe mir die Markierung des Tram Endteils geändert, damit die Richtung besser erkennbar ist.
    Da es im Object Script über eine Funktion gesteuert wird, gibt es keine andere Möglichkeit da eine Funktion per Laufzeit nicht überschrieben werden kann. (Ich hab da ne Menge Sachen ausprobiert) .

    Wenn Du mir ein System aufzeigen kannst wie ich eine Funktion per Hook oder ähnliches ändern kann, lass es mich wissen. Und ich hab wirklich schon viele Sachen gemacht um auch ja nichts an den Original Dateien zu ändern.
    Beispiel der "Big Metro Station" Installer zeigt Fenster im Hauptbildschirm an als Overlay, das war wirklich nicht einfach zum laufen zu bekommen, aber es geht und kostet jeweils gemittelt ein Sonntag Freizeit...

    Auch ich bin der Verfechter das man keine Original Dateien ändern sollte, wenn es irgendwie anders geht.

    -edit-
    Ohh, und wenn ich von ändern spreche, meine ich natürlich nicht die eigentliche metro.gs/object.gs Datei zu ändern, sondern eine ungepackte Kopie in den Metro Ordner zu legen...

    Einmal editiert, zuletzt von eis_os (23. August 2011 um 16:08)

    • Zitieren
  • ArkenbergeJoe
    Gast
    • 23. August 2011 um 20:30
    • #4

    Natürlich bin ich auch ein Gegner vom Verändern des Originalordners, also der Verwendung des metro-Ordners. Jede andere Mod zerschießt zwangsläufig den Vorherigen, wenn nicht die Alt-Dateien angepasst werden.
    Allerdings gibt es natürlich auch die guten Ausnahmen. Der CIM-CAM ist das beste Beispiel. Der ließ sich nun mal nicht so nebenbei im Addonordner packen.
    Nun ist meine Frage: Wie sieht es mit der Pflege solcher Dateien aus? Eigentlich müsste irgendein Mod-Team oder sonstwer sich mit der Anpassung solcher derartigen Dateien beschäftigen. So, wie es bei SC4 mit dem NAM passiert. Egal, wer was moddet, muß es erst einmal zur englischsprachigen SC4D-Site schicken, damit nicht schwerwiegende Bugs und Vergnatzung der Gamer die Folge sind.
    Zum Modding habe ich auch noch eine weitere Frage, welche offenbar auch Änderungen am Metro-Ordner zur Folge haben könnten, welche ich aber unbedingt vermeiden möchte! Das aber in einem anderen Thread .

    Einmal editiert, zuletzt von ArkenbergeJoe (23. August 2011 um 20:56)

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 23. August 2011 um 22:16
    • #5
    Zitat von ArkenbergeJoe

    Natürlich bin ich auch ein Gegner vom Verändern des Originalordners, also der Verwendung des metro-Ordners. Jede andere Mod zerschießt zwangsläufig den Vorherigen, wenn nicht die Alt-Dateien angepasst werden.
    Allerdings gibt es natürlich auch die guten Ausnahmen. Der CIM-CAM ist das beste Beispiel. Der ließ sich nun mal nicht so nebenbei im Addonordner packen.
    Nun ist meine Frage: Wie sieht es mit der Pflege solcher Dateien aus? Eigentlich müsste irgendein Mod-Team oder sonstwer sich mit der Anpassung solcher derartigen Dateien beschäftigen. So, wie es bei SC4 mit dem NAM passiert. Egal, wer was moddet, muß es erst einmal zur englischsprachigen SC4D-Site schicken, damit nicht schwerwiegende Bugs und Vergnatzung der Gamer die Folge sind.
    Zum Modding habe ich auch noch eine weitere Frage, welche offenbar auch Änderungen am Metro-Ordner zur Folge haben könnten, welche ich aber unbedingt vermeiden möchte! Das aber in einem anderen Thread .

    Wenn ich von API spreche, meine ich das in einer weise die das ändern einer Datei von mehreren Mods möglich macht, indem jeder Mod per Script API die Änderungen macht. (das macht auch klar das man da nicht ganze Romane ändern kann, sondern nur neue Funktionen hinzufügen oder mal einen Teil auskommentieren, wie haben ja nur begrenzte String Routinen). Das hat bei TTDPatch auch recht gut mit Maschiencode funktioniert, kommt aber auf die Disziplin der Mod Autoren an, wenn X Y zerbröselt, geht das natürlich nicht. Aber Teile wie hoverinfo können einfach nicht extern um neue Funktionen ergänzt werden.

    Eine Möglichkeit zu definieren ob eine Mod ID mit einer anderen nicht harmoniert, damit es da keine Kollisionen gibt ist auch schon geplant.

    • Zitieren
  • immi
    Gast
    • 24. August 2011 um 11:05
    • #6
    Zitat von eis_os

    Ohh, und wenn ich von ändern spreche, meine ich natürlich nicht die eigentliche metro.gs/object.gs Datei zu ändern, sondern eine ungepackte Kopie in den Metro Ordner zu legen...


    dagegen ist natürlich absolut nicht einzuwenden ;)

    einen Weg Funktionen neu zu definieren kenn ich auch nicht, geht vermutlich halt einfach nicht.

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 24. September 2011 um 19:35
    • #7

    Leider geht das alles viel langsamer als ich gerne hätte.

    Als Beispiel die Toolbar Buttons, CIM ist nicht wirklich ausgelegt das man Mods auch während des Spiels entlädt.

    Kleines Status Update:
    - Mod Manager im Start und Pause Menu aufrufbar
    - Lade Management
    - (Nach)Laden von Mods
    - Entladen von Mods
    - Noch kein Laden von Map Mods, Objekten und ne ganze menge anderes Zeugs :(

    Daher werde ich erstmal das Laden/Entladen auf eine spätere Version verschieben.

    Eine ModID ist ein eindeutiger Name, ohne Version

    Es wird eine modid.modinfo Datei geben:

    Code
    $mod = map [
    	"version", [0, 5],
    	"name", "eis_os Tram Puzzle Pieces",
    	"description", "Allow you to build tram tracks as single pieces.",
    	"modmanagerversion", [0, 4],
    	"runtimeload", true,
    	"runtimeunload", true,
    ];

    Und eine modid.script:

    Code
    function mod_install() {
    }
    
    
    function mod_uninstall() {
    }
    
    
    function mod_loadGame() {
    }
    
    
    function mod_unloadGame() {
    }
    
    
    function mod_loadEditor() {
    }
    
    
    function mod_unloadEditor() {
    }
    
    
    function mod_loadEnvironments() {
    }
    
    
    function mod_init() {
    }
    
    
    function mod_uninit() {
    }
    Alles anzeigen

    Sobald die ModID im Spiel aktiviert wird, wird modid.script geladen, die Funktionen werden dann zur "richtigen" Zeit ausgeführt...

    Für ein späteres Online - Update werden alle Modid.modinfos und modid.dss in eine GS Datei gepackt und vom Benutzer heruntergeladen. Ein Verweis auf die Download Möglichkeit gibt es dann in der jeweiligen modinfo-Datei...
    Ein paar Ideen in Richtung "Channels" wie bei anderen Paketmanager schwebt mir auch noch vor. Solange CO meine Hintertür zum Aufrufen von exe Dateien nicht abstellt, sollte das alles ohne Probleme funktionieren...

    2 Mal editiert, zuletzt von eis_os (24. September 2011 um 19:46)

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 17. Januar 2012 um 19:14
    • #8

    Status Update.

    Nicht viel neues, aber das Benutzer Interface zeigt nun die Abhängigkeiten und den jeweiligen Status.
    Ein Downloader der aus CIM gestartet werden kann ist auch schon fertig, wobei das Locking noch nicht ausgereift ist.

    [gallery]1633[/gallery]

    • Zitieren
  • Speedy
    Meister
    Beiträge
    2.067
    Filebase Einträge
    21
    • 17. Januar 2012 um 21:49
    • #9

    Freut mich, dass du irgendwie vorankommst mit dem Tool.

    Ich hätt da mal ne Frage; wobei ich denke, die Antwort schon zu kennen:
    Gilt das Tool dann nur für Mods, die im addons-Ordner gehören? Oder auch für solche, die direkt in den metro-Ordner rein müssen? Wobei ich mir denke, dass wohl nur 1. möglich sein wird.

    Ansonsten sieht das Bild schon sehr vielversprechend aus. Und ich kann mir denken, dass es ein User-Liebling werden wird. :thumbup:

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 18. Januar 2012 um 12:16
    • #10

    Bis jetzt und in absehbarer Zukunft nur Mods die ohne absolute Pathangaben funktionieren. D.h. bei der Mod Erstellung müssen ein paar Sachen beachtet werden,
    aber es wird eine Install Routine geben, damit kann man sich Teile aus dem Metro Ordner kopieren. (so wie meine Metro Station)

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 22. Januar 2012 um 13:38
    • #11

    Status:

    Nach einen ganzen Abend an Arbeit und den heutigen Morgen.

    - Legacy Mods und Addons können verwaltet werden. (wenn man das möchte, das kann man per Einstellung später auch nachträglich ändern)
    - Alle Modifikationen können ein und ausgeschaltet werden im Hauptmenü, bei Tokyo oder US Addon könnte dies zu Fehlern führen, da zumindest Tokyo sehr Krude mit den Strings umgeht. Beim US Addon hab ich keine Ahnung, besitze es nicht.
    Dafür wird die metro/scripts/addons.script entpackt, ein Patch installiert, der Benutzer zum Neustart aufgefordert. Sollte Änderungen an dieser Datei vorhanden sein, wird diese nicht überschrieben sondern um den Patch ergänzt.
    - Egal wo der ModManager installiert wird (alle 3 addon Ordner sind möglich) der Patch ist richtig.
    - Patches können deinstalliert werden, ungenutzt bis jetzt. Noch eine Baustelle.
    - Kategorien für ModManager kompatible Mods.
    - Version Management für ModManager kompatible Mods ((MM Mods), es wird nur die neuste Version geladen.
    - MM Mods können Hybrid ausgelegt werden, d.h. normale Installation ist auch möglich.
    - MM Mods können während des Spiels im Pause Menü geladen werden und wenn es geht auch entladen während des Spiels.

    Für Mac User, Mods können leider nicht Ingame heruntergeladen werden, es wird ein Installationsordner geben, wo man die GS Dateien hineinschreiben kann. (Es wird ein externes Windows Programm dafür gestartet)

    Zum Downloader:
    Der Plan sieht aus, Paketquellen anzugeben, dieses bedeutet das es möglich wird verschiedene Quellen für neue Mods anzusprechen.


    - edit -
    Um ein paar Missverständnisse schon im Vorfeld auszuschließen, es wird keine Präferenz für ein CIM Portal geben, ich werde zur gegeben Zeit auch Kontakte zu CIM Exchange, den russischen Moddern aufnehmen um auch alle Sprachen zu unterstützen. Ich behalte mir auch das Recht vor, alle CIM ModManager Updates per eigener Seite zu hosten und dieses auch in ModManager fest verdrahten für Updates. (Man kann natürlich auch manuelle Updates mit der jeweiligen gs Datei selber einspielen)

    2 Mal editiert, zuletzt von eis_os (22. Januar 2012 um 13:59)

    • Zitieren
  • ArkenbergeJoe
    Gast
    • 22. Januar 2012 um 14:13
    • #12

    Das ist ein Haufen Arbeit, den du dir gemacht hast. Einfach nur große Klasse. :thumbup:

    • Zitieren
  • Mengi12
    Schüler
    Beiträge
    89
    • 22. Januar 2012 um 17:24
    • #13

    Das ist einfach nur genial. Kompliment!

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 29. Januar 2012 um 16:16
    • #14

    Hallo

    Der Fahrplan sieht nun so aus:

    Alpha Version müsste bald fertig sein, hierfür brauche ich Tester.
    Warnung: Nur melden wenn man sich auch mit Dateisystem, Mod Installation und auch eine Log_metro.txt versteht, sollte etwas nicht so richtig funktionieren muss man Hand anlegen.

    Die Alpha Version wird keine Online Tools mitbringen, da immer noch keine UI vorhaden,
    Strings werden wohl noch in Kauderwelch vorliegen und eben noch eine große Baustelle sein.

    • Zitieren
  • Mengi12
    Schüler
    Beiträge
    89
    • 30. Januar 2012 um 13:23
    • #15

    Hallo eis_os

    Wenn ich nicht scripten muß, dann kannst Du mir die alpha Version deines MM gerne zusenden. Ich habe mich am WE ausführlich mit der Log_metro.txt beschäftigt, da ich ständig Fehlermeldungen erhalten habe, die aus meiner Sicht keinen Sinn ergaben. Also mußte ich zwangsläufig lernen, was die Fehlermeldungen genau bedeuten und wie ich diese wieder los werde. Spannende Sache, zumal ich dann im weiteren Verlauf Fehler provoziert habe durch das editieren von scripten in den jeweiligen gs. Dateien das es nur so geraucht hat. Das war halt ein WE unter dem Motto try an error. Aber ich denke, nur so kommt man Stück für Stück dahinter. Krönung war dann die Fehlermeldung:"alley out of Bounds" die während der Ausführung des Spiels in die Log Datei geschrieben wurde. Im Spiel selbst ging dann fast gar nichts mehr, obwohl es ohne Probs geladen wurde. Busse im Verzeichnis der Trams, U-Bahnen zwar sichtbar aber nur noch als Busse einsetzbar, etc. Linepanelkonfikte hatte ich laut Log Datei über10 Stück, aber irgendwann habe ich es wieder hinbekommen, so nach ca. 8 Stunden. Also ich denke, schlimmer kann Dein MM auch nicht werden;-)

    • Zitieren
  • Speedy
    Meister
    Beiträge
    2.067
    Filebase Einträge
    21
    • 30. Januar 2012 um 13:38
    • #16

    Mengi12
    Wenn du Probleme mit Mods hast, kannst du die auch gern hier posten. Wir helfen auch weiter. ;)

    eis_os
    Wenn du nicht genügend Leute findest, könntest du mich quasi als Notnagel mit einbeziehen. Ich denk mal, dass ich die Voraussetzungen irgendwie schon hab. :)

    • Zitieren
  • Mengi12
    Schüler
    Beiträge
    89
    • 30. Januar 2012 um 14:32
    • #17

    speedy: Das weiß ich und sogar super gut. Aber ich hatte die Zeit und da habe ich mal selber probiert was geht und was nicht. Habe sowieso ein paar Sachen entdeckt bzw. sind mir aufgefallen, die sicherlich ein paar Antworten aus dem Forum benötigen. Mache ich aber erst heute Abend, da ich jetzt auch noch (lästig) Geld verdienen muß.

    Bis später!

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 3. Februar 2012 um 20:05
    • #18

    Wie auch schon im Paradox Forum gezeigt, gibt es auch direkt die Möglichkeit auf weitere wichtige Informationen zuzugreifen.
    Seit heute auch die interne Grafikkarten Info und die Möglichkeit die Sprache zu ändern (Erfordert einen Neustart).

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Soll ModManager die Möglichkeit bekommen gs Dateien aus Eigene Dokumente\Cities In Motion\addons zu löschen?
    Zurzeit geht es nur im eigen ModManager Bereich...

    Einmal editiert, zuletzt von eis_os (3. Februar 2012 um 20:09)

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 18. Februar 2012 um 18:02
    • #19

    Auch wenn ich ein Doppelpost mache.

    Ein Meilenstein ist erreicht.

    ModManager hat heute das erste mal erfolgreich eine Datei aus einem Repository geladen und installiert. :D

    Das Repository Format sieht so aus:

    Code
    /* ModManager Repository 1 */
    $baseurl = "http://localhost/";
    $mods = [
    	map[
    		"id", "eis_os_extmoneybar",
    		"name", "eis_os_extmoneybar",
    		"description", "Extended Money Bar",
    		"url", "cimdownloader/eis_os_extmoneybar_v04.gs",
    		"version", [0,4]
    	]
    ];
    Alles anzeigen

    In Version 1 ist es eine normale CIM Script Datei, sobald man "Refresh Repositories" startet in CIM, wird der ModManager Downloader gestartet, die eingestellten Quellen heruntergeladen,
    die Versionen verglichen und die Möglichkeit zum Installieren angeboten. (sollte die Version neuer sein)
    Jetzt werden wohl noch ne menge Bugs zu beseitigen zu sein, aber alle Grund-Funktionen sind vorhanden.

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 10. März 2012 um 19:53
    • #20

    psst

    Unter http://cim.bytetransfer.de/modmanager/ gibt es die erste semi öffentliche Version. 8)

    • Zitieren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Twitch

  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™