Probleme mit mangelhaften MODs (case sensitive filesystems)

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


  • Hallo,
    ich weiss nicht ob schon darüber diskutiert wurde oder wie ich am besten den Tipp an das Entwicklerteam senden kann?


    Ich bin ständig am aussortieren von Mods, die Spielabstürze verursachen, weil die Dateien anderes benannt sind, als wohl in den Scripts angegeben..
    Entsprechende Fehlermeldung, z.B. "res/models/model/asset/nown_post_letter_box_02_DE.mdl: cannot open res/models/model/asset/nown_post_letter_box_02_DE.mdl: No such file or directory", es stellt sich dabei jedes mal heraus, dass gross und kleinschreibung der Dateinamen nicht beachtet wurden.
    Nun bei den meisten Windoof-Nutzern dürfte das kein Problem verursachen, aber die Mods laufen weder unter Linux, noch Mac und auch Microsoft kennt inzwischen case sensitive Dateisysteme...
    Mein Vorschlag wäre irgendeine Routine die das abfängt.. Exception handling on file not found, um dann die richtige datei (nur Gross-/Kleinschreibung falsch) doch zu laden.. sollte programmiertechnisch eigentlich simpel umsetzbar sein und würde all die fehlerhaften mods gangfähig machen..
    Besser wären natürlich saubere Mods.. aber das ist wohl eher illusorisch..
    Grüsse


    tsilaicos

    Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

    Linux version 5.14.21-150400.24.60-default (geeko@buildhost) (gcc (SUSE Linux) 7.5.0, GNU ld (GNU Binutils; SUSE Linux Enterprise 15) 2.39.0.20220810-150100.7.40) #1 SMP PREEMPT_DYNAMIC Wed Apr 12 12:13:32 UTC 2023 (93dbe2e)

    Einmal editiert, zuletzt von tsilaicosneknurd ()

  • Du könntest natürlich erstmal den Modder anschreiben (hier @nown) ob er den Fehler korrigiert.


    Das andere dürfte möglich sein, wenn man es am Anfang wie die CommonAPI lädt. Oder liege ich damit falsch @eis_os ??
    Könntest du eine Funktion für die API einbauen, die das macht?



    Nun aber @tsilaicosneknurd :


    Ist ein Mod mangelhaft, wenn er einen Case Fehler hat?


    Meine Meinung nach nein, da das nichts an der Qualität ausmacht. Wenn mir so ein Fehler nicht gemeldet wird, kann ich ihn nicht ändern. Ich persönlich nutze Windows. Wenn ich nach Testern frage, gerade nach Updates bekomme ich keine Rückmeldung. Zudem kann ich nur was ändern, wenn mir gemeldet wird, das was nicht passt.


    Also streng nach dem Motto:


    "Melden macht frei und belastet den Vorgesetzten"


    welches man hierfür gut nutzen und umstrukturieren kann zu


    "Melden macht frei und sorgt für funktionierende Mods"


    solltest du sowas direkt nach feststellen an den Modder melden. Davor solltest du nur noch eine Sache erledigen.


    Und zwar überprüfen ob ein Update erschienen ist, das den Fehler schon behoben hat.

    Warum einfach, wenn es auch schwer geht?


    Einmal editiert, zuletzt von RPGFabi ()

  • Besser wären natürlich saubere Mods.. aber das ist wohl eher illusorisch..

    Solange niemand den Fehler an den betreffenden Modder meldet, ist es illusiorisch. Hast du dich bei nown gemeldet, um ihm das mitzuteilen?
    Ich freue mich als Entwickler drüber, wenn ich einen entsprechenden Hinweis bekomme. Danke @Atomic Dad, der mir erst gestern Abend wieder einen solchen Fehler gemeldet hat.


    UG ließt hier mit, also sollten sie deinen Wunsch mit etwas Glück wahrgenommen haben.

  • Danke für die zahlreichen rückmeldungen.



    solltest du sowas direkt nach feststellen an den Modder melden.

    habe ich bei ~4 mods schon über kommentarfunktion.


    @Yoshi genau darum geht es mir... will nur unterstützen...


    Ist ein Mod mangelhaft, wenn er einen Case Fehler hat?


    Meine Meinung nach nein, da das nichts an der Qualität ausmacht. Wenn mir so ein Fehler nicht gemeldet wird, kann ich ihn nicht ändern.

    Ich will niemanden etwas vorwerfen, und ja es ist meinungssache, auch unter windows gibt es inzwischen case sensitive dateisysteme (oder das benutzen von NFS shares), damit kann man den fehler auch unter windows vermutlich nachvollziehen... müsste ich mal austesten wenn ich mal wieder gezwungen bin microsoft zu nutzen... in meinen augen ist es schon ein mangel, wenn ein mod unter bestimmten vorraussetzungen nicht funktioniert.. aber wie gesagt kein vorwurf, wie gesagt, der fehler ist für die meisten (windoof und windoof-typische dateisysteme) schwer zu finden.


    Dann schlag mal was vor Es gibt einige Möglichkeiten, aber simple würde ich das nicht nennen.
    Simpler wäre es, wenn Modder mal auf Groß-/Kleinschreibung achten würden...

    Kommt daraufan, an welcher stelle, und in welcher Programmiersprache.. ob es über ein mod möglich ist, weiss ich nicht.. ich hab noch nicht hinter die materie geschaut, und mit lua habe ich relativ wenig erfahrung, bietet das überhaupt ein exception handling?
    vom ablauf so in etwa
    bei auftreten der exception "file not found" diese catchen, dann am einfachsten mit einer regulären expression mit nicht case sensitiven flag nach der datei suchen und datei öffnen und zurückspringen, oder eben funktion erneut mit richtigen argumenten aufrufen, je nach dem was die Sprache da an möglichkeiten anbietet.
    könnte ich in C++, bash oder PHP beispielsweise mal testen.

    Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

    Linux version 5.14.21-150400.24.60-default (geeko@buildhost) (gcc (SUSE Linux) 7.5.0, GNU ld (GNU Binutils; SUSE Linux Enterprise 15) 2.39.0.20220810-150100.7.40) #1 SMP PREEMPT_DYNAMIC Wed Apr 12 12:13:32 UTC 2023 (93dbe2e)

  • Gut, es wird dadurch vereinfacht, dass wir davon ausgehen können, dass es nicht zwei Dateien mit identischen case-insensitivem Namen geben wird (aka Hallo.mdl und hAllo.mdl)
    Dann muss man halt "nur" alle Dateien im Verzeichnis listen und case-insensitiv vergleichen. Dazu kommt aber: was, wenn der Fehler nicht im Dateinamen sondern irgendwo im Pfad ist. Dann muss rekursiv alles durchsucht werden um nen Match zu finden.... Na viel Spaß beim warten ;-)


    Aber ich verstehe trotzdem nicht, warum es so ein Problem für manche Modder ist, die korrekten Dateinamen zu verwenden ^^


    @RPGFabi Wenn UG diese Ignoranz an den Tag legen würde (da das nichts an der Qualität ausmacht...), wäre deren Büro wahrscheinlich vom wütenden Mob schon abgebrannt worden. Und ich frage mich, ob Du nicht in dem Fall sogar Teil des Mobs gewesen wärst ;-)

  • Es gibt nicht nur ein Gross & Kleinbuchstaben Problem, UTF-8 (Umlaute) im Dateinamen auf MacOSX kann auch ganz böse Folgen haben..


    Exception handling? Nicht LUA ist das Problem wenn eine Datei nicht gefunden wird, sondern das Spiel selber mit einer schönen meistens nichtssagende Exception.


    Alle Modelle nach fehlerhaften Dateinamen zu durchsuchen per LUA ist utopisch, das Vorladen der ganzen Configs für Strassen, Schienen und Co dauert mir ja schon zu lange.
    Außerdem TPF LUA hat kein API für das Filesystem, also die LUA Seite scheidet deswegen aus. (CommonAPI nutzt dafür unter Linux/MacOS ein Shellscript)


    Du musst unter Unix-artige Systeme dafür dann das komplette Verzeichnis durchsuchen, um irgendwie dann die richtige Schreibweise zu finden.


    Es gibt insofern Hoffnung, das ich langsam ein grobes Gesamtbild von TPFs ausführbaren Code habe,
    ich grübele zwar seit zwei Wochen schon wie ich den Schienenradius Patchen kann, das aber ein anderes Thema.


    Ich habe auf meiner Todolist (für meine Windows DLL):

    • Gleisradius anpassbar machen
    • Brückenkollisionen abschaltbar machen
    • TPF Exception für Cargo Patchen (Cargo Namen anzeigen, hier bräuchte ich noch ein einfaches Testcases um ein GetIndex Problem zu produzieren!)
    • Schönbau Mode (Irgendwie TPFs Routine zur Straßenerweiterung abschalten)
    • Dateinamen auf richtige Schreibweise prüfen (Keine Ahnung wo ich im Code ansetzen soll, ich will ja nicht jede Ladefunktion von TPF suchen und einen Patch schreiben)
  • Ich denke mal wir alle sind Menschen und machen Fehler und diese nicht unbedingt beabsichtig.
    Gerade da es sich hier ja um Mods handelt die von leuten erstellt werden zum größtenteil die einfach nur Spaß daran haben
    und vieles sich selbst beigebracht haben ob nun über testen und rum probieren oder Videos anschauen oder Anleitungen lesen etc.


    Damit nun auch nicht das Wissen haben an was man alles denken muss bei anderen Betriebssystemen.
    Bzw. überhaupt wissen das es da Unterschiede gibt.
    Am Ende testet man es ja auf seinen Dateisystem und ggf. bei anderen testern mit und wenn dann alle Windows haben.
    Fällt dort nunmal kein Linux / mac spezifischer Fehler auf. Das bedeutet auch das diese Leute sich gar nicht das wissen aneignen können
    wie es auf anderen Systemen ist wenn niemand es meldet.


    Ich würde es toll finden wenn man mich darauf hinweist sollte dies der Fall sein und ich es abändern und etwas für die Zukunft mitnehmen kann.
    Hier sollte man aber immer im Hinterkopf haben schreibe ich nur einen Kommentar oder Pn muss ich als Melder auch die Zeit in kauf nehmen die es dauert.
    Bis der Ersteller die Nachricht erhalten hat und die Zeit finden konnte etwas zu ändern und zu bessern. Je genauer die Fehlermeldung und eventueller Lösung ansatz je shcneller könnte es gehen.


    Meldungen wie Spielt crasht helfen hier nicht weiter.
    Also auch wenn ich die Mod Äffchen geil findet und auf anderen Systemen läuft muss ich ggf. warten bis ich sie auch auf meinen System nutzen kann.
    Ärgerlich ist das aber man kann es un mal nicht ändern.

  • habe ich bei ~4 mods schon über kommentarfunktion.

    Das ist gut. Nur würde ich das per PM lösen, da ich die Kommentare nicht vollgespammt haben will. :D

    Wenn UG diese Ignoranz an den Tag legen würde

    Wo habe ich UG erwähnt??

    Und ich frage mich, ob Du nicht in dem Fall sogar Teil des Mobs gewesen wärst

    Nicht zum runterbrennen :D Zum Hallo sagen ja aber nicht zum runterbrennen :D

    Warum einfach, wenn es auch schwer geht?


  • Naja, ich hatte bisher noch nie nen Tester bei meinen Mods, der was anderes als Windows nutze. Und auch erst einmal einen Case Fehler gemeldet bekommen. Und das war nach ca. 600 Downloads eines Mods.


    Somit nutzen die meisten (meiner Folgschaft) Windows. Und dadurch ist doch der Großteil der Nutzer abgedeckt :D


    Und genau darum ist alles "OK", auch wenn ich Fehler schnell behebe :D


    Und Qualitativ...


    Der Mod ändert nichts an der Qualität. Es ist ein Bug, der behoben werden kann. Die Modelle etc. behalten dabei ihre Qualität bei.


    Stell dir vor Du kaufst dir nen Tesla. Qualitativ gutes Auto, wird allerdings an die von dir falsch angegebene Adresse geliefert. Das ändert nichts an der Qualität, wenn du die Adresse abänderst (also den falschen Aufruf korrigierst).

    Warum einfach, wenn es auch schwer geht?


  • @Xanos Naja, mal ehrlich, wenn die betroffenen 2/3 der Betriebssysteme nur von vielleicht 5 % der Spielerschaft genutzt werden... who cares ?


    Ich finde es ziemlich exotisch auf einem Mac oder Linux System spielen zu wollen und bin ehrlich gesagt verwundert das die Hersteller sich überhaupt die Mühe machen.
    Der typische Nutzerkreis von Linux oder Mac sind ja nun nicht unbedingt Gamer. Und Modder wohl offensichtlich auch nicht ;)


    Klar wäre es schön wenn die Modder die Unix Derivate Minderheit berücksichtigen würden, nur wenn das Problem auf dem eigenen System gar nicht erst auftritt, hab ich persönlich da vollstes Verständnis dafür wenn sowas mal durchrutscht. Und es wurden ja bei einigen Mods schon explizit Betatester mit Linux & Mac Systemen gesucht, die Resonanz war aber wohl eher bescheiden.

  • Naja, ich hatte bisher noch nie nen Tester bei meinen Mods, der was anderes als Windows nutze. Und auch erst einmal einen Case Fehler gemeldet bekommen. Und das war nach ca. 600 Downloads eines Mods.

    Schreibst du denn gezielt Personen an oder ist das ein offener Aufruf bei dir? Vielleicht wäre hier ein „Pool“ an Betatestern mit Angabe des OS nützlich? (Wie auch immer dieser realisiert werden könnte. Über ein Forum-Feature, @Stepke?)


    Somit nutzen die meisten (meiner Folgschaft) Windows. Und dadurch ist doch der Großteil der Nutzer abgedeckt :D

    Den Schluss kann man ziehen, ist aber falsch. Wie viele melden den Fehler? Gerade die unter Linux unterwegs sind, scheuen (vielleicht) nicht vor Veränderungen/Anpassungen an den Mods zurück und fixen den Fehler so selber. Im Notfall und für den schnellen Fix mache ich das auch, aber dennoch wird der Fehler gemeldet.


    @Xanos Naja, mal ehrlich, wenn die betroffenen 2/3 der Betriebssysteme nur von vielleicht 5 % der Spielerschaft genutzt werden... who cares ?

    Du bist also zufrieden, wenn die Mehrheit deiner „Kundschaft“ ein gutes „Produkt“ bekommt. In der Wirtschaft sicherlich gar nicht der schlechteste Ansatz. Als Modder habe ich für mich den Anspruch alle OS, die das Spiel nativ unterstützt, ebenso zu unterstützen.


    Ich finde es ziemlich exotisch auf einem Mac oder Linux System spielen zu wollen und bin ehrlich gesagt verwundert das die Hersteller sich überhaupt die Mühe machen.
    Der typische Nutzerkreis von Linux oder Mac sind ja nun nicht unbedingt Gamer. Und Modder wohl offensichtlich auch nicht ;)

    Der typische Nutzerkreis von Windows sind auch keine Gamer. Die Mehrheit sind schlichtweg DAUs in Büros.


    Klar wäre es schön wenn die Modder die Unix Derivate Minderheit berücksichtigen würden, nur wenn das Problem auf dem eigenen System gar nicht erst auftritt, hab ich persönlich da vollstes Verständnis dafür wenn sowas mal durchrutscht. Und es wurden ja bei einigen Mods schon explizit Betatester mit Linux & Mac Systemen gesucht, die Resonanz war aber wohl eher bescheiden.

    Fehler passieren, egal für welches OS. Da bin ich voll bei dir.
    Vielleicht scheuen ein paar Nutzer auch vor Betatests, da sie nicht wissen was genau auf sie zukommt oder verlangt wird. Außerdem wäre vielleicht eine Art „Betatesterpool“ hilfreich (Irgendwie kommt mir der Vorschlag bekannt vor :rolleyes: )?

    Xubuntu 18.04 64bit – MSI Z170A GAMING PRO Carbon – Intel Core i7-6700K – ZOTAC GeForce GTX 970 OC (Treiber 384.90) – 40GB DDR4 RAM Transport Fever Build 15434

  • Wie viele melden den Fehler?

    Ich hoffe alle. Denn ein Fehler der nicht gemeldet wird ist nicht vorhanden...



    Schreibst du denn gezielt Personen an oder ist das ein offener Aufruf bei dir

    Ich mach immer nen Aufruf



    Der typische Nutzerkreis von Windows sind auch keine Gamer.

    Aber Gaming ist eher auf Windows vertreten als auf den andern Betriebsystemen.

    Als Modder habe ich für mich den Anspruch alle OS, die das Spiel nativ unterstützt, ebenso zu unterstützen.

    Den Ansatz habe ich zwar auch aber Fehler passieren. Und wenn sich niemand meldet kann ich ihn auch nicht beheben.

    Warum einfach, wenn es auch schwer geht?


  • Aber Gaming ist eher auf Windows vertreten als auf den andern Betriebsystemen.

    Kann ich so bestätigen :D nach 18 Monaten und 2786 Downloads hat mal ein Linux Nutzer bemerkt das bei den Donnerbüchsen 1xDDS statt dds drin stand. Heißt wohl das so ca. 0,035% der TPF-User Linux/Mac nutzen. ^^
    (Danke @Atomic Dad für die Rückmeldung)


    PS:Ja ich weiss für ne ordentliche Statistik ist die Datenbasis bissl dünne. Vielleicht sollte ich mal beim Hamster auf Steam nen Linuxfehler einbauen :evil: , da dürften sich eventuell paar mehr melden

  • Um auch noch meinen "Senf" dazuzugeben:


    Ich habe die Erfahrung gemacht, dass Linux-User tatsächlich viel technik/programmier-affiner sind als die Windows-Nutzer. Wie schon jemand gesagt hat, reparieren sie das Problem oft gleich selbst, weil's schneller ist als dem Urheber lange zu schreiben und dann letzten Endes von diesem noch angepflaumt zu werden. Ich habe auf Steam schon erlebt, dass ich statt einer Meldung gleich die korrigierten Files erhalten habe oder aber eine Liste mit allen Fehlern, die meine Mod ausgelöst hat.


    Da meine Mods auf Steam immer wieder Updates (mit neuen Fahrzeugen) erhalten, bekomme ich eher Meldung, da jedes Update all die Verbesserung der Linux-User wieder zunichte machen würde. Persönlich bin ich aber auch darum bemüht, meine Mod möglichst für alle User fehlerfrei funktionierend zu haben.

  • viel technik/programmier-affiner

    Linux ist ja auch eher für die, die gerne was selber machen



    reparieren sie das Problem oft gleich selbst, weil's schneller ist als dem Urheber lange zu schreiben

    finde ich auch in Ordnung, nur melden sollten sie es einem



    letzten Endes von diesem noch angepflaumt zu werden

    Welcher Modder pflaumt seine Nutzer an, wenn die nen Fehler im Case Bereich finden?



    Persönlich bin ich aber auch darum bemüht, meine Mod möglichst für alle User fehlerfrei funktionierend zu haben.

    Diese Einstellung sollte jeder haben :D

    Warum einfach, wenn es auch schwer geht?


  • Welcher Modder pflaumt seine Nutzer an

    Ich hatte einmal so ein Erlebnis, allerdings habe ich einen Fehler gemeldet, der mit einem anderen Mod zu einem Konflikt führte. Spielt aber keine Rolle mehr ... Modder ist inaktiv, Fehler ist noch immer vorhanden.
    Ansonsten ist es wirklich so, dass die meisten Modder Rückmeldungen dankbar annehmen und auch versuchen umzusetzen, wenn's keine Sonderwünsche (oder fehlende Nieten) sind.

  • Ich habe die Erfahrung gemacht, dass Linux-User tatsächlich viel technik/programmier-affiner sind als die Windows-Nutzer. Wie schon jemand gesagt hat, reparieren sie das Problem oft gleich selbst, weil's schneller ist als dem Urheber lange zu schreiben und dann letzten Endes von diesem noch angepflaumt zu werden.

    da gebe ich dir recht.. ich wünsche mir ständig, dass das spiel open source wäre... einige der fehler die das spiel zum absturz bringen, klingen eigentich simpel zu lösen.. bzw. zumindest einen workaround zu erstellen, dass das spiel nicht gleich abstürzt.. und man wieder mintenlang warten darf.. hm wobei die meisten dieser fehler ohne mods nicht auftreten würden.. aber jene bringen dann fälle, an die die programmierer nicht gedacht haben.
    übrigens ein grund, warum ich programmieren übrigens noicht mehr so mag,w wie früher.. perfektionismus.. jeden (un)denkbaren fehler versuchen abzufagen...
    auch ein weiterer grund für opensourcve, diese undenkbarsten fällen, passiere irgendwen, dann wird das (vielleicht gleich von demjenigen) gefixt.. hm aber leidser ist die Grafik von simutrans z.B. nicht annähernd vergleichbar mit transport fever :-/ aber sehr viel umfangreicher und stabiler dafür..

    Dell Precision T7600, 2 x Intel(R) Xeon(R) CPU E5-2665 (8 cores per CPU, 2 threads per core, 20MB L3 cache, 2.4/3.1GHz) (⁼32 logische CPUs), 512 GiB DDR3 ECC registered 1600 MT/s, NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (11GB GDDR5X 352 bit), SAS Hardware RAID Level 1

    Linux version 5.14.21-150400.24.60-default (geeko@buildhost) (gcc (SUSE Linux) 7.5.0, GNU ld (GNU Binutils; SUSE Linux Enterprise 15) 2.39.0.20220810-150100.7.40) #1 SMP PREEMPT_DYNAMIC Wed Apr 12 12:13:32 UTC 2023 (93dbe2e)

BlueBrixx