Modding Namenskonventionen

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Es gibt ja nach wie vor in TpF das Problem, dass Dateien in alphabetischer reihenfolge geladen werden und die Reihenfolge in der die Dateien geladen werden für Spielstände in denen neue Mods hinzugefügt werden eine ntscheidende Rolle spielt.
    Am besten wäre es natürllich, wenn UG selbst dieses Problem behebt.
    Aktuell wird es so gehandhabt, dass immer mehr "z"s vor den Namen gestellt werden. Ich habe mir überlegt, dass ein einheitlicher Präfix dem Problem entgegen kommen könnte.
    Dazu bräuchten wir im Optimalfall ein Sonderzeichen, dass in Windows, Linux und Mac OS ein gültiges Zeichen im Dateinamen ist und in der Sortierung nach z kommt.
    Ich behaupte jetzt einfach mal "_" wäre so ein Zeichen, um ein Beispiel bringen zu können, dann wäre eine sinnvolle Konvention für einen solchen Präfix "_jahreszahlMonatszahlTageszahl" also Heute z.B. _20170317.


    Das ganze funktioniert dann natürlich auch nur unter der Annahme, dass Spieler immer nur neue Mods in älteren Spielständen hinzufügen und nicht im Nachhinein eine Mod entdecken und hinzufügen, die schon ziemlich lange existiert.


    Man könnte dem Problem damit aber immerhin ein wenig entgegen kommen und die Fälle in denen Savegames durch neue Mods verwüstet werden reduzieren.

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

  • Ehrlich gesagt weiss ich grade nicht welches Problem du damit lösen willst?


    Probleme gibt es ja nur wenn ein Mod die gleichen Dateien verändert wie ein anderer Mod der gleichzeitig mit geladen wird und mit deinem Vorschlag wirst du dieses Problem nicht lösen können.
    Das würde nämlich voraussetzen das der Modder der zuletzt etwas veröffentlicht dafür sorgen müsste das sein Mod keine Dateien verändert die ein anderer Mod schon verändert hat. Alternativ müsste er dessen Änderungen (von ALLEN Mod's die betroffen sein könnten) mit in seinen integrieren und das ist schlichtweg unmöglich.

  • Das was du beschreibst ist ein anderes Problem.
    Ich meine die Probleme die auftreten, wenn man Brücken-, Gleis-, Straßen- oder andere Mods nachträglich in einen Spielstand hinzufügt. Dadurch werden dann unter Umständen Brücken, Straßen, Gleise etc. in andere umgewandelt.
    Dieses Problem taucht immer wieder bei unterschiedlichen Mods auf. z.B. bei @Toms Bahnhöfen, da diese einen neuen Gleistyp definieren.
    Daraus resultieren dann Kommentare wie der folgende im Forum:

    ... und sich in meinem Savegame jetzt entsprechend (ich verwende deine Advanced Trackrules-Mod) die Höchstgeschwindigkeiten sämtlicher Gleise um zwei "Stufen" nach unten verschoben haben

    Das in den Kommentaren zu Kanhis modernem Hauptbahnhof erwähnte Problem ist auch darauf zurückzuführen, dass die Gleise in dem Bahnhof vor den Gleisen aus einem anderen Mod, der bereits im Spielstand gespeichert war geladen wurden.
    Kanshi's moderner Hauptbahnhof


    Und genau diesen Problemen könnte man damit zumindest etwas entgegenkommen.

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

    2 Mal editiert, zuletzt von Freahk ()

  • Und genau diesen Problemen könnte man damit zumindest etwas entgegenkommen.

    Wir können da leider gar nichts machen!
    Damit dein Vorschlag funktioniert, müsste ein jeder Spieler immer alle Mods von Anfang an aktiv haben, damit die Reihenfolge nicht über den Haufen geschmissen wird.


    Angenommen ein Spieler entdeckt die Mod "_20170317", fügt sie seinem Spiel hinzu, spielt und speichert den Spielstand.
    Am nächsten Tag läuft ihm die Mod "_20170215" über den Weg und er will sie nutzen.
    Was macht das Hinzufügen dieser Mod mit dem Spielstand? Richtig: all fucked up!


    Zur Zeit kann nur jeder Spieler für seinen jeweiligen Spielstand entweder
    - am Anfang alle Mods dieser Art aktivieren und dann auf weitere verzichten
    oder
    - eine eigene Liste der betroffenen Mods führen und beim Hinzufügen die Namen der config-Dateien und ihre Verweise anpassen.


    Beides, sagen wir mal freundlich ausgedrückt, suboptimal. Aus Sicht des Spielers und aus Sicht des Modders.


    Mod-freundlich geht anders...

  • @Tom das ist völlig klar.
    Das ganze funktioniert eben nur unter der Annahme, dass man nicht irgendwann wenn man bereits neuere Mods drin hat eine ältere Mod findet und die hinzufügt.
    In den meisten Fällen wird es aber wohl so sein, dass man einen Spielstand hat, im Forum eine neue Mod hochgeladen wird und man diese dann gerne hinzufügen möchte.
    Genau diesem Fall würde das Vorgehen entgegen kommen. Man kann das Problem also nicht "einfach so" beseitigen, aber man würde zumindest den "default" Namen so wählen, dass die Wahrscheinlichkeit, dass ein Nutzer manuell die Namen ändern muss klein gehalten wird.


    Das Problem wirklich beseitigen kann nur UG oder ggf. ein mod manager, der zu jedem savegame ein mod Profil speichert und die mods passent umbenennt.

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

    Einmal editiert, zuletzt von Freahk ()

  • Genau diesem Fall würde das Vorgehen entgegen kommen. Man kann das Problem also nicht "einfach so" beseitigen, aber man würde zumindest den "default" Namen so wählen, dass die Wahrscheinlichkeit, dass ein Nutzer manuell die Namen ändern muss klein gehalten wird.

    Ja, stimmt. Allerdings wäre "_" als erstes Zeichen nicht zu gebrauchen, da zwischen Groß- und Kleinbuchstaben liegend.
    "{" wäre möglich, da unser kleines "z" ja schon "verbrannt" ist...

  • Es gibt in der Tat aber Namenskonventionen, die von einigen Moddern leider nicht eingehalten werden. Vielen Moddern ist z.B. nicht bewusst, dass bei fehlender Versionierung das Script der mod.lua nicht oder nicht ordnungsgemäss aufgeführt wird. Diese ist bei den Mods wie folgt geregelt:
    - Im Dateinamen ist die Version anzugeben, also z.B. Dateiname & "_1" für die Version 1.
    - In der mod.lua wiederum wird ausserdem die minorVersion erfasst.
    - Darüber hinaus ist der Name der Mod in der mod.lua bzw. der string.lua (nur mit entsprechendem Verweis) angegeben.


    Im Mod-Fenster wird dann angezeigt:
    - Name der Mod & Leerzeichen & Version
    - Die Version wird aber nicht angezeigt, solange die Version 1.0 ist (Endung "_1" und minorVersion = 0).
    - Bei Mouseover über dem Mod-Namen wird in Klammer auch der Dateiname angezeigt.


    Die Anzeige ist dann wie folgt (Beispiele):
    Version = "_1", minorVersion = 0: Name der Mod & ohne weitere Angabe
    Version = "_1", minorVersion = 1: Name der Mod 1.1
    Version = "_2", minorVersion = 0: Name der Mod 2.0
    Version = "_3", minorVersion = 1: Name der Mod 3.1
    usw.


    Fehlt die Versionierung wird im Mod_Fenster nur der Dateiname & "***" angezeigt und in der Klammer nochmals derselbe Dateiname.


    Dass die mod.lua bei fehlender Versionierung nicht ausgeführt wird kann man übrigens einmel prüfen:
    Kürzlich wurde unter anderen die Mod "Akeem TPF EMD GP9 Amtrak" angeboten. Die mod.lua dort enthält einen Fehler, d.h. es fehlt eine schliessende Klammer. Setzt man nun hinter den Dateinamen "_1" stürzt TPF mit Verweis auf die mod.lua ab. Repariert man diese entsprechend und fügt die fehlende Klammer an, wird im Mod-Fenster der in der mod.lua definierte Name korrekt angezeigt.

  • @maeni, das ist die Konvention für den Namen des Mod-Ordners und der Versionierung der Mod.
    Hier geht es aber um das "kaputte" Verhalten von TF und TpF bezüglich Brücken, Tunnels und in TpF auch von Gleisen.


    Bevor ich mir da weitere Gedanken mache, warte ich den angekündigten "Benutzerfreundlichkeits-Patch" ab.
    Eine Behebung dieses Problems wäre wohl wirklich "benutzerfreundlich"...

  • Kürzlich wurde unter anderen die Mod "Akeem TPF EMD GP9 Amtrak" angeboten. Die mod.lua dort enthält einen Fehler


    Das waren @Akeem erste Mods für TPF, das ist also durchaus entschuldbar.


    Was ich mich allerdings wundert ist, dass du es lieber hier postest wo man es nur durch Zufall findet anstatt es dem Mod-Author als Kommentar zu seinem Mod zu schreiben damit er es reparieren kann.

  • Das ist doch nicht der Punkt. Hier ging es doch um die Frage, wie man die Mods so in eine chronologische Reihenfolge bringen kann, damit sich ältere und jügere Mods nicht ins Gehege kommen. Oder habe ich etwas falsch verstanden?


    Ich habe mich dann nur gefragt, warum einige Mods am Ende der Liste ohne ersichtliche Logik aufgelistet werden. Die von mir erwähnte Mod habe ich rein zufällig ausgewählt, weil ich herausfinden wollte, wie und nach welchen Kriterien Mods generell gelistet werden. So wie die Mod jetzt freigegeben ist, funktioniert sie doch. ich bin auch nicht auf der Fehlersuche, sondern versuche auch nur Lösungen auf Probleme und Fragen zu finden. Ebensowenig ist es meine Absicht die Arbeit der Modder in irgend einer Art und Weise in Frage zu stellen oder gering zu schätzen. Genau das Gegenteil ist der Fall, ich habe viel Hochachtung und Anerkennung für alle Modder, die viel Zeit dafür verwenden, auch uns ein besseres und interessanteres Spiel zu ermöglichen.

  • Hier ging es doch um die Frage, wie man die Mods so in eine chronologische Reihenfolge bringen kann, damit sich ältere und jügere Mods nicht ins Gehege kommen. Oder habe ich etwas falsch verstanden?

    Letzteres.
    Es geht um die Dateien im config-Unterordner einer Mod, die für Brücken, Tunnels und Gleise benötigt werden.
    Das hat nichts mit der Reihenfolge zu tun, in der die Mods im Mod-Manager angezeigt werden.
    Bei letzterem hast Du mit deinen Ausführungen allerdings recht...

  • So ich hab jetzt mal nicht alles gelesen, allerdings versucht das TF|net Team schon eine längere zeit davon zu überzeugen Brücken etc. mit festen id´s zu versehen über zB. id= merk_betonbruecke.
    Solange das nicht der Fall ist wird es immer zu solchen Problemen kommen.
    Möchte ich das mein Mod als letztes geladen wird und ich mache dann xxxxxxxxxxxgrimesstreet.lua und der nächste macht ein x mehr sind wir wieder bei 0.


    Auch wenns blöd klingt, wendet euch mit dem Anliegen in sachlicher Form direkt an UG über [email protected] je mehr dieses Problem "Offiziell" ansprechen desto wahrscheinlicher ist die Behebung dieser Problematik.

  • aufgewärmt:


    Alle Modder könnten ihre TFNET-ID in Dateinamen und Mod-Ordnernamen mit einbauen, also z.B.
    tfnetid_0001_bruecke_holz_moosig für die erste Brücke
    tfnetid_0002_bruecke_stahl_korrosiv für die zweite etc.


    Das müsste dann aber auch nachträglich für alle Brücken, Gleise, Straßen etc. getan werden und würde ein neues Spiel bedeuten, aber auf lange Sicht wäre das hilfreich, es sei denn ...


    UG fixt das!

  • Und das bringt genau 0
    Weil der Name ist nicht die ID sondern generiert die ID
    Kurz erklärt an deinem Beispiel.


    tfnetid_0001_bruecke_holz_moosig
    tfnetid_0002_bruecke_stahl_korrosiv sind im Game


    Nun füge ich den mod
    tfnetid_0006_bruecke_mamor hinzu


    Noch ist alles gut, weil der Name aufsteigt und somit eine höhere ID bekommt.
    So nun finde ich aber eine neue Brücke toll und zwar
    tfnetid_0004_bruecke_zahnstocher
    und schon sind wir wieder bei 0


    Wie gesagt das Problem kann nur, und zwar nur, durch UG beseitigt werden. Alles andere ist Murks.

  • Ich hab mir dazu gerade ein paar Gedanken gemacht, bei dem mich eure Meinungen und Gedanken interessieren.


    Wie wär es wenn ein Script-Mod sämtliche geladene, im Mods und Workshop Ordner anhand der Timestamps (Änderungsdatum) einsortiert. Somit ist der neuste Mod immer am ende.


    Das Script sollte nichts weiters tun als für jeden Ordner im Mods und Workshop Ordner - sortiere anhand dem Änderungsdatum und benenne den mit "1_modname" aufsteigend.


    Kritisiert jetzt nicht meine Antwort - ich will lediglich ein paar Gedanken austauschen um eventuell eine Lösung zu finden.

  • Netter Ansatz. Erstmal ist aber zu sagen, dass den Straßen/Gleisen, Brücken, Tunneln und was nicht sonst noch, ich nenne sie in Zukunft einfach kritische Dateien, der Name der Mod komplett egal ist. Es geht darum, dass die entsprechenden .lua Dateien passend benannt sein müssen. Ich gehe jetzt also einfach mal davon aus, dass du mit dem Script diese Dateien anhand der timestamps sortieren möchtest, indem du deren Namen änderst.
    Dazu müsste man dann auch noch alle Referenzen auf diese ändern. Das wäre aber auch machbar.


    Ich behaupte aber einfach mal, dass dadurchausgeschlossen wird, dass diese Mods geupdatet werden können.
    Denn wenn eine Datei geupdated wird, ändert sich ihr timestamp.
    =>Die Datei wird vom Script entsprechend umbenannt
    =>Die Datei ruscht in der Liste nach Unten
    =>Die IDs sind durcheinander, das Script hat also nicht das gebracht was wir gerne wollen.


    Wenn man ein solches Script bastelt, dürfte es nur neue Dateien entsprechend des installationsdatums umbenennen. Dann würden die IDs zumindest schonmal unter der Vorraussetzung, dass die Spieler nicht nachträglich ältere mods hinzufügen funktionieren. Das wäre dann auch sehr ähnlich zu meiner vorgeschlagenen Namenskonvention nur mit dem unterschied, dass das installationsdatum verwendet würde (besser) und alles ohne zutun der modder funktioniert (ebenfalls besser). Allerding weiß ich nicht ob man sowas überhaupt als mod umsetzen kann und es müsste sich jemand die Mühe machen ein solche Script zu schreiben.


    Besagte Einschränkung könnte man ebenfalls beheben, indem man jeder Datei fest einen Index zuweist. Dazu müsste man bei jedem Start alle dem savegame hinzugefügten mods nach kritischen Dateien durchwühlen und "einfach" für noch nicht bekannte kritische Dateien einen höheren Index vergeben. Anhand diese Zuordnung kann man dann die Dateien temporär umbenennen und alle Verweise auf diese Dateien entsprechend auch anpassen.
    Bleibt noch zu erwähnen, dass man natürlich für jedes savegame ein solches mapping machen müsste.


    Möglich wäre das also schon aber das fehlerfrei hinzubekommen dürfte schwierig werden und ehrlich gesagt kann das auch nicht die Aufgabe der Modder sein.


    Deshalb hatte ich die Namenskonvention vorgeschlagen, die deutlich enfacher umzusetzen ist und für den vermutlich am häufigsten auftretenden Fall, dass man neu rausgekommene Mods in einen existierenden Spielstand einfügen möchte vernünftig funktioniert.

    Dieser Beitrag wurde bereits ∞ mal editiert, zuletzt von Freahk (Vor π Minuten)

    Einmal editiert, zuletzt von Freahk ()

BlueBrixx