Zum Inhalt springen

Bug Time Synchronisation funktioniert nicht korrekt


Empfohlene Beiträge

Steps to reproduce
An meinen "Ping" Endpoint gebe ich das Property "start_time" zurück. In diesen wird angegeben wann das Rennen gestartet werden soll.
Ich gebe jedes mal den gleichen Wert zurück z.B. "2022-07-06T10:29:20.115179" oder als UTC Datetime String "2022-07-06T10:29:20.115179Z".
Wenn ein Spieler z.B. 2 Sekunden später im Rennen auftaucht so kann dieser 2 Sekunden schneller starten oder erst 30 Sekunden später weil die
Synchronistation teilweise nicht funktioniert.

Erwartung
CAPI sollte dieses Handling selbst übernehmen da ja erwartet wird wann das Rennen startet.


Workaround
Keiner

Bearbeitet von Zockermichi125
Link zu diesem Kommentar
Auf anderen Seiten teilen

Kannst du den Fehler noch mal etwas besser beschreiben, ich versteht das nicht ganz.

Also du gibst start_time zurück. Dann joint der Spieler. Wodurch kommt jetzt dieser 2-30 Sekunden unterschied, liegt der an der API oder an der App oder am Handy selbst?

Und was genau meinst du mit "CAPI sollte dieses Handling selbst übernehmen"? Kannst du da mal ins Detail gehen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn man nur die gemeinsame Startzeit wählt, ohne die restliche API zu nutzen, passt die Synchronisation auch nicht so wirklich. Hab da teilweise auch schon mehr als 10 Sek. Unterschied gesehen.

Am 21.6.2022 um 09:03 schrieb Atomregen:

Bitte melde dich an um den Link zu sehen.

 bei mir stimmt was mit der Synchronität nicht.

Falls es einen Unterschied macht, links Android mit SIM und rechts Iphone ohne SIM. Die Systemzeiten, der beiden Geräte haben auch einen paar Sekunden Unterschied.

Bitte melde dich an um Bilder zu sehen.

Bitte melde dich an um Bilder zu sehen.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde dich an um den Link zu sehen.

Also ich kläre noch a bissl ausführlicher damit es verständlicher wird. Der Fehler liegt definitiv in der App. Ich als Rennleiter erstelle eine Rennen. Bei mir gibt es so etwas wie eine Art Planungsmodus. Sobald der Rennleiter fertig mit der Planung ist kann er das Rennen freigeben. Ab diesen Zeitpunkt können die Spieler joinen. Jedes mal wenn ja ein Spieler joined wird beim Ping das Property "start_time" zurückgegeben. Dieser wird bei mir im System wie folgt berechnet der Zeitpunkt wo das Rennen freigegeben worden ist plus ein festgelegter Lobbyzeitraum. Daraus resultiert dann ein Timestamp der für das ganze Rennen immer gleich bleibt z.B. "2022-07-06T10:29:20.115179Z". Sprich bei jeden Ping kommt dieser Wert als "start_time" zurück. Jetzt erwarte ich als Consumer der CAPI dass zu den Zeitpunkt wo ich über den Timestamp im "start_time" property festgelegt habe, das Rennen gestartet wird und die Zeit über alle Teilnehmer synchronisiert wird. Das ist aber momentan leider nicht der Fall. Ich hoffe du verstehst jetzt a bissl besser des Problem 🙂 Solltest dazu Fragen haben darfst natürlich gerne stellen. Ist hald momentan für meine Implementierung von der Drift Cloud a Knockout Kriterien und ich kann solange nicht live gehen bis wir dafür ne Lösung haben ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde dich an um den Link zu sehen.

 Ok, also gehts konkret nur darum, dass die Startzeit-Synchronisierung in der App nicht genau genug funktioniert, aber das liegt nicht an der API sondern der Startzeit-Synchronisation in der App selbst bzw. auch daran, dass die Smartphones teilweise echt asynchron gehende Uhren haben (google mal "Atomzeit" und vergleich die mit der in deinem Smartphone...). Das hab ich als Bug Report schon aufgenommen und an Sturmkind weitergeleitet. Dieses Problem müsstest du übrigens auch bekommen, wenn du selbst eine Startzeit in der App einstellst, ganz ohne Server. Ich wollte nur heraus finden, ob es vielleicht noch einen zweiten Fehler "on top" gibt, der vielleicht durch die API verursacht wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

 Teilen

×
×
  • Neu erstellen...

Wichtige Information

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung