API-Abfrage "zufälliges Zugfahrzeug" inkl. entdecktem Fehler

  • Abend zusammen,

    gibt es eine einfache und schnelle Möglichkeit abzufragen, ob bei Anhängern das Zugfahrzeug zufällig gewählt wird bzw. die Checkbox "Zufälliges Zugfahrzeug" ausgewählt ist?

    Die Antwort auf die Frage scheint einfach und trivial: schau in die Vehicles-API ob hinter der entsprechenden Variable "tractive_vehicle_id" eine Zahl steht oder nicht.

    Glaubt mir: wenn das so funktionieren würde, würde ich nicht diese Frage stellen ;)
    Das Problem ist folgendes: Wenn in der Anhänger-Einstellung im Dropdown-Menü ein Zugfahrzeug ausgewählt ist und anschließend die Checkbox "Zufälliges Zugfahrzeug" ausgewählt wird (und dadurch das Dropdown-Menü verschwindet), erscheint in der API hinter "tractive_vehicle_id" trotzdem genau jene Fahrzeug-ID vom Dropdown-Menu, obwohl "Zufälliges Zugfahrzeug" ausgewählt wurde.

    Also einfach über "tractive_vehicle_id" zu gehen ist somit nicht möglich. Deswegen meine initiale Frage.


    Fun-Fact: die in diesem Fall angezeigte tractive_vehicle_id springt immer auf jene Fahrzeug-ID, welches den entsprechenden Anhänger zuletzt gezogen hat



    --- Hier endet der Part bzgl. meiner Frage und der gefundene Fehler mit User-impact wird beschrieben ---

    Das Szenario in welchem der Fehler auftritt kommt nicht so häufig vor und der Impact ist überschaubar, trotzdem wäre es cool wenn der Fehler behoben wird


    Folgendes Szenario:

    wir haben eine fiktive THW-Wache mit folgenden Fahrzeugen:
    - Anh DLE
    - GKW
    - NEA50 (festes Zugfahrzeug ist der MzGW)
    - MzGW

    - beliebig weitere nicht relevante Fahrzeuge


    Durch Ausprobieren habe ich festgestellt, dass die Anhänger auch bei aktiviertem "zufälligen Zugfahrzeug" eine klare Präferenz haben. Bei mir wählt der Anh DLE immer genau einen MzGW (natürlich nur sofern dieser verfügbar ist) und die zweite Präferenz in meinem Fall ist immer ein spezieller GKW.



    Fall 1: beim Anh DLE ist "zufälliges Zugfahrzeug" aktiviert und im entsprechenden Dropdown-Menü ist kein Fahrzeug ausgewählt
    Schritt 1: Anh DLE wird in der Fahrzeugalarmierung ausgewählt
    Schritt 2: NEA50 wird in der Fahrzeugalarmierung ausgewählt

    Schritt 3: Fahrzeuge werden alarmiert
    Resultat: NEA50 fährt mit dem MzGW raus und Anh DLE mit dem GKW. Dass ist soweit zu erwarten gewesen.



    Fall 2: beim Anh DLE ist "zufälliges Zugfahrzeug" aktiviert, im entsprechenden Zugfahrzeug-Dropdown-Menü ist allerdings ein Fahrzeug ausgewählt
    Schritt 1: Anh DLE wird in der Fahrzeugalarmierung ausgewählt

    Schritt 2: NEA50 kann nicht mehr alarmiert werden, da das Trägerfahrzeug nicht verfügbar ist

    Schritt 3: Fahrzeuge werden alarmiert

    Resultat: Anh DLE fährt mit MzGW raus



    Obwohl bei beiden Fällen das selbe Resultat eintreten sollte, könnten sie nicht unterschiedlicher sein.

    Hoffe ihr konntet mir folgen. Text wurde deutlich länger als geplant.


    Da die Frage und der entdeckte Fehler irgendwie zusammenhängen, habe ich sie mal in einen Post gepackt. Es geht mir aber vor allen um die Frage.
    Falls Fragen bzgl. meiner Frage oder dem Fehler bestehen, immer raus damit.


    Grüße
    Flo

  • Mir fällt da auf Anhieb die gleiche Arbeitsweise wir mein "Ignorierte Verbandsmitglieder"-Script ein. Die Fahrzeugeinstellung aufrufen, prüfen ob checkbox Wert True.


    Nachteil: Hetz...mich...nicht. Wir dürfen maximal alle 100ms ein Serveranfrage stellen. Das sind bei nicht so unwahrscheinlichen 10k Fahrzeugen gleich Mal 16min. Wobei es noch etwas schneller wird, da wir nur die Anhänger abfragen müssen. Ich würde trotzdem mit >10 Minuten bei etwas größeren Spielern rechnen.


    Wenn es über die API nicht geht (was ich dir jetzt einfach Mal glaube, weil ich aktuell unterwegs bin und es nicht prüfen kann) wird es also nicht so wirklich einfach das schnell zu erledigen. Aber als Einzelabfrage sollte das funktionieren.

    Mecker nicht Rum, mach's besser! Kannst du nicht? Dann halt den Ball flach!8o


    Mein Verband "Sachsen, Dresden und Osterzgebirge"

    "Und Du wünschst dieser Welt

    Dass endlich Hirn vom Himmel fällt

    Es wär' schön, wenn sie verstehen

    Zum Homosapiens gehört nicht nur aufrecht gehen"

  • Hat das vlt. Mit diesem Fehler zu tun?

    Da es primär das THW betrifft.

    Danke, so konnten wir das reproduzieren! Der Fehler tritt nur auf, wenn man den Anhänger alleine aus dem Bereitstellungsraum rausnimmt, also nicht sowohl Zugfahrzeug als auch Anhänger. Das erstmal als Workaround. aber da wir jetzt wissen, was genau passiert, sollte das auch gefixt werden können.


    Viele Grüße


    Rüdiger vom Community-Team

  • Mir fällt da auf Anhieb die gleiche Arbeitsweise wir mein "Ignorierte Verbandsmitglieder"-Script ein. Die Fahrzeugeinstellung aufrufen, prüfen ob checkbox Wert True.


    Nachteil: Hetz...mich...nicht. Wir dürfen maximal alle 100ms ein Serveranfrage stellen. Das sind bei nicht so unwahrscheinlichen 10k Fahrzeugen gleich Mal 16min. Wobei es noch etwas schneller wird, da wir nur die Anhänger abfragen müssen. Ich würde trotzdem mit >10 Minuten bei etwas größeren Spielern rechnen.


    Wenn es über die API nicht geht (was ich dir jetzt einfach Mal glaube, weil ich aktuell unterwegs bin und es nicht prüfen kann) wird es also nicht so wirklich einfach das schnell zu erledigen. Aber als Einzelabfrage sollte das funktionieren.


    Nicht die Antwort die ich erhofft, aber dafür erwartet habe 8o


    Dann führt scheinbar (fürs erste) kein Weg an Einzelabfragen vorbei.


    Aber sehen wir es positiv: Das Skript läuft ja nebenher. Ob es jetzt 10 Minuten oder 20 läuft macht jetzt nicht so den riesen Unterschied.

    Danke für die schnelle Antwort

  • Hat das vlt. Mit diesem Fehler zu tun?

    Da es primär das THW betrifft.


    Glaube nicht.
    Wir wissen natürlich nicht was im Hintergrund wie abläuft, bezweifle es aber.

    Primär weil in meinem Fall die Anhänger nicht auf Status 9 gehen, sondern regulär in 3.



    Außerdem war das THW in meinem beschriebenen Szenario nur ein Beispiel und betrifft nach meinem aktuellen Kenntnisstand alle Anhänger. Konnte es z.B. gerade in der Wasserwacht reproduzieren. Also dass ein Anhänger mit "zufälligem Zugfahrzeug" Zugfahrzeuge von anderen fest zugewiesenen Anhänger blockiert und diese dadurch nicht ausrücken.

  • Ist per Glaskugel bereits um 08:47 Uhr ans Team weitergegeben worden. Es ist davon auszugehen (basierend auf Erfahrumgswerten), dass sich im Rahmen der Möglichkeiten bei nächster Gelegenheit darum gekümmert wird.

  • Im Prinzip müsste doch nur verhindert werden, das gebundene Zugfahrzeuge bei der Auswahl für andere Anhänger außen vor bleiben.


    Heinrich

    Eigentlich müssten manche gut schwimmen können, denn sie sind hohl. Aber sie gehen unter, weil sie nicht ganz dicht sind.


    " Ein Kluger bemerkt alles, ein Dummer macht über alles eine Bemerkung !"
    (Heinrich Heine)


    "Experten sind Leute, die 99 Liebesstellungen kennen, aber kein einziges Mädchen"
    (Didi Hallervorden)

  • Zur API: Ihr findet jetzt ein Feld "tractive_random" (boolean) in der API, das der Checkbox entspricht, das wurde soweit nur nicht über die API exponiert, kommt also relativ günstig (für uns) daher :-)


    Zum Bug: Das Problem ist tatsächlich nicht trivial, die alarmierten Fahrzeuge werden aktuell mehr oder weniger unabhängig voneinander bearbeitet. Das hat vor allem Effizienzgründe, da Algorithmen zur "passenden Zuordnung" von Fahrzeugen unter Beachtung aller Anforderungen nicht ganz günstig sind. Da das Alarmieren von Fahrzeugen der kritische Pfad ist, sind wir hier sehr vorsichtig bei allem, was es langsamer machen kann. Eventuell könnte noch eine Umsortierung der Reihenfolge stattfinden (also erst alle Fz mit gebundenem Zugfahrzeug, dann die zufälligen), aber auch dies wird nur eine Annäherung sein (aber eine die wir nochmal beleuchten werden).


    Grüße

    Dennis vom Entwicklerteam


  • erstmal vielen herzlichen Dank fürs Abändern der API. Hast mir sehr damit geholfen ;)



    Bzgl. dem Bug: Versteh mich bitte nicht falsch, ich will in keinster Weise mir anmaßen Ahnung von eurer Server-Client-Landschaft zu habe.
    Frage ist rein interessenshalber

    Sollte dass nicht ein rein Client-Seitiges Problem sein? Zumindest lässt euer Traffic mit den entsprechenden Requests dass vermuten. Dem Server wird nicht mitgeteilt, wenn ein Anhänger ausgewählt wird und schlussendlich nur nach dem Drücken des Alarm-Knopfes welche Fahrzeug rausfahren. Der Fehler aber geschieht bereits deutlich früher und der fehlerhafte Code wird clientseitig nur jeweils einmal ausgeführt, wenn der Haken vor dem Fahrzeug gesetzt wird bzw. wieder entfernt. Der Performance Impact clientseitig sollte also quasi nicht merkbar sein.

    Wie gesagt, bitte verstehe meine Frage nicht falsch. Sie ist reine Interessenshalber und nicht böswillig gemeint. Kann auch gut sein, dass ich mit meiner Vermutung daneben liege und es komplett anders ist