TPF2 Organizer - Diskussion

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

  • Bitte format, dann version und complete checken, wenn complete nicht auf true ist, hat das Forum etwaige Probleme. Die muss ich das per Hand lösen.

    Einmal am Tag wird die json erneuert...


    Da die mod.lua teils sehr viel Müll, fehlerhaften LUA Code erhalten, wird der Name aus der Forum Datenbank genommen, die Version wird per regex aus mod.lua extrahiert. Zu große Mods werden ignoriert,...

    -edit-

    Zur Modwerkstatt habe ich keinen Kontakt, technisch ist mein Format etwas anders als TPFMM1 (das liegt an CommonAPI2 und das es mehrere Versionen eines Mods geben kann, aber ist auch nicht viel anders)


    Wen die Modwerkstatt es möchte, kann sich bei mir Melden, technisch fehlen noch ein paar Sachen in CommonAPI2 aber ich würde das gerne auch anbieten. Gerne auch direkt "ab Werk". Das Format der CommonAPI2 kann ich aber nicht wegen unserem Forum groß ändern..

  • "Damit Mods auch aus einer Steam Quelle erkannt werden können , kann hier die originale modid übergeben werden.

    Ok interessant, wusste ich bisher nicht. Habe auf die schnelle keinen Mod gefunden der "modId" enthält. D.h. damit kann man die intern genutzte Id überschreiben, ansonsten wird die SteamId oder der Ordnername genutzt?


    Die wenigsten Uploader wissen halt wahrscheinlich davon. Und wenn ich keine Abhängigkeiten habe, ist es ja auch nicht wirklich nötig.


    Früher habe ich auch tfnetId angegeben, da das vom TPFMM1 benutzt wurde. Aber da es bei TPF2 dann nicht mehr genutzt wurde, habe ich damit auch aufgehört (u.a. auch weil man die tfnetId beim ersten Hochladen noch nicht weiß)

  • @eis_os

    Ok, danke, die Infos helfen mir mal sehr weiter. Ich werde einfach die json einmal am Tag abfragen zusätzlich zu meinem Parsing des Forums.


    Bei ModWerkstatt sehe ich auch gerade, dass dort im Download Link der Zip Name mit enthalten ist. Hier kann ich ebenso den Dateinamen erhalten, ohne weitere Daten herunterladen zu müssen. D.h. ich kann die Mod-Dateinamen mit meinen eigenen IDs zumindest bei modwerkstatt und tpfnet weg werfen und die original Dateinamen verwenden.


    Die CommonAPI2 muss ja nicht verändert werden, ich wußte ja nicht einmal, dass diese Daten dort bereitgestellt werden. Ich führe die fehlenden Daten einfach in meinen Datenbanken zusammen und zeige das dann in der Mod Detailanischt an.


    Aber mal noch eine andere Frage: Werden Mods mit 2 oder mehr Varianten per Mod bei Dir getrennt? Also wenn es einen Foreneintrag gibt, aber 2 oder mehr Downloads mit zB unterschieldichen Loks (habe gerade leider kein Beispiel, aber ich weiß, dass es solche Einträge gibt). Sind diese in der JSON getrennt oder wird sich eine Variante ausgesucht?



    Ok, nächste Woche wird es viel Arbeit geben :D Aber es geht vorran und alles wird besser.


    eis_os

    VacuumTube

    Von Euch beiden weiß jetzt gerade zufällig niemand wie man schön sauber per API Abfrage bei steam im TPF2 Workshop Daten abfragen kann?

    Kann das Steamworks SDK so etwas?


    -edit-

    Ok sehe egrade es gibt eine schöne Web API bei Steam

  • modid + version sind eindeutig. Neuere Einträge (fileids) überschreiben ggf. alte. (D.h. alle Files im Webdisk eintrag werden gescannt. Repaints oder Varianten sollten einen andere mod_id haben)
    CommonAPI2 unterstützt downgrades. D.h. es wird eine Liste mit modid + version ausgegeben.


    Hab gerade nur nen alten Screenshot der Linux Version zur Hand:


    Wenn mir UGs UI Probleme zu bunt werden, werde ich mein so/dll Library nächsten nen Loader voranstellen, dann kann man die Mods auch ohne TPF2 verwalten.


    https://partner.steamgames.com/doc/api/ISteamUGC sollte helfen, relevant sind:


    Code
    1. uint32_t (*GetNumSubscribedItems)(DampfUGCObj* DampfUGC);
    2. uint32_t (*GetSubscribedItems)(DampfUGCObj* DampfUGC, PublishedFileIdHandle* nPublishedFileIDs, uint32_t size );
    3. uint32_t (*GetItemState) (DampfUGCObj* DampfUGC, PublishedFileIdHandle nPublishedFileID);
    4. bool (*GetItemInstallInfo)(DampfUGCObj* DampfUGC, PublishedFileIdHandle nPublishedFileID, uint64_t *sizeondisk, char *pathname, uint32_t pathnamelen, uint32_t *timestamp );

    TPF2 nutzt auch keine weiteren Funktionen um die Liste der Mods zu erhalten. Die Nutzung der Dampf APIs sind nicht via SDK "abgesegnet", ergo nicht über den Namen wundern... commonapi._native.dampf.getMods() ist die Liste dann als LUA per Console ;)

  • Nein, Xanos hat dazu veröffentlicht: TPFMM 2 und ich habe da keinen weiteren Einblick.

    CommonAPI2 kann Mods selber installieren und downloaden seit 1.4.20200611-dev.

    Aber die genannte Json Datei wird also schon von zwei Mod Managern genutzt. Und das Forum mit irgendwelchen Crawlern zu quälen muss ja nicht sein. Das gehört aber nicht hier ins Thema

  • Und das Forum mit irgendwelchen Crawlern zu quälen muss ja nicht sein.

    Also ich parse, indem ich Firefox über das Selenium Projekt fernsteuere. Ich orientiere mich an den Datum der Datensätze und den beiden Seiten, für neue Einträge und aktualisierte Einträge. Diese beiden Seiten werden pro Vorgang einmal gelesen und dann nur die Seiten angesprochen, die neu sind bzw aktualisiert wurden. Dazwischen lasse ich so 2-3 Sekunden zufallsgeneriert eine Pause. Beim ersten Mal war das ein längerer Vorgang, danach nur noch täglich so max 10 Abrufe. Da generiert mancher User mehr Last :D

  • Hallo,

    im Laufe der nächsten Woche kommt die nächte Version (V1.0.10). Werden wenige kleinere Neuerungen und Bugfixes enthalten sein.

    • Bilder wurden bei zu schnellem Auswählen von Tabelleneinträgen mehrfach geladen, das ist behoben.
    • Ebenso wird es für die Bildansicht oben rechts einen Cache geben.
    • Bilder in dieser Ansicht lassen sich nun per Links-/Rechtpfeil sehr schnell auswählen, wenn der Datensatz in der Tabelle geladen wurde.
    • Texturecache lässt sich per Klick im Menu löschen.
    • Steam Nachrichten wird es in einem neuen Tab geben.
    • Im Hauuptmenü gibt es nun eine neue Sektion: Ansicht, die es erlaubt die Tabs auch über das Menü aufzurufen.
    • Der rest passiert aktuell eher unter der Haube, damit die Anwendung schneller und stabiler wird.


    in der übernächsten Version (V1.0.11) wird dann endlich der gesamte Ladevorgang und Intallationsprozess angepasst sein. Bei wenigen gibt es Threading- Probleme beim Laden, das kommt durch alten Quelltext aus alten Tagen. Kommt alles weg und wird neu umgesetzt. Dazu kommen auch neue felder in die Datenbank. Überlege auch, ob V1.0.11 nicht die V1.1.0 werden wird, da die Änderungen schon recht erheblich sein werden.

  • wunder99

    Danke für das Feedback, ich versuche das in V1.0.11 zu beheben. Dort wird generell der ganze Installationsprozess neu umgesetzt, das betrifft dann auch Aktualisierung und auch Deinstallation. Es wird auch die Möglichkeit geben Mods herunterzuladen und lokal zu speichern, dass man nicht immer wieder neu herunterladen muss, falls man deinstalliert hat. Dann kann man sich selbst ein Archiv aufbauen.