+++ (3.2.3-3.2.5) - TARON +++
- Juli/August 2023 -
Das war eine intensive Zeit. Wieder einmal ist scheinbar aus dem Nichts ein Fehler aufgetaucht, welcher sporadisch auftrat und sich auf den ersten oder zweiten Blick nicht zuordnen ließ. Die ganze Geschichte dazu findet Ihr wie immer ab dem 18. in unserem JourFix. Hier folgt lediglich die Kurzfassung.
Die Änderungen im Detail: FEATURES
- Bisher sind die Server immer davon ausgegangen, dass die bei ihnen gespeicherten Erfolge (Achievements) syntaktisch korrekt sind. Schließlich senden sie am Beginn der Session die Erfolge aus und bekommen sie von den Clients am Ende der Session zurück. Die Möglichkeit, dass die Clients falsche Informationen reinschreiben, war nicht eingeplant. Grundsätzlich haben sie das auch seit fast 5 Jahren nicht, aber eine kleine Umstellung in einer System-Bibliothek führte zum Desaster. Die ganze Geschichte dazu gibt es ab 18. im JourFix. Hier nur soviel: wir haben einige Nachtschichten einlegen müssen, um das Problem zu lösen und aus der Welt zu schaffen. Aktuelle Tests zeigen uns, dass es nun passt und die Achievements wieder so funktionieren wie früher.
Die Änderungen im Detail: FIXES
- [Server] Wenn Clients zu schnell aussteigen und die Server nur Achievements ohne Absender bekommen, werden diese ignoriert. Bisher wurden sie zu "Karteileichen".
- Die Auszeit für Netzanfragen wurde von 2 Sekunden auf 5 Sekunden erhöht, um auch langsameren Verbindungen eine Chance zu geben.
- Seit einer Datenbankumstellung unseres Datenbankhosts im Jänner wurde für die SQL-Datenbanken ein Textformat verwendet, welches Groß- und Kleinbuchstaben nicht unterscheiden kann. Diese Information löste bei unserem Team leider kein Warnsignal aus. Erst an einem Sonntag im Juli wurde bei einer Datenbankrevision dieser Fehler erkannt. Dadurch konnte es zu Passwortüberschneidungen kommen, was natürlich nicht im Sinne der Erfinder ist. Leider wurde da sehr schnell gehandelt und noch am Sonntag - ohne Vorwarnung - der richtige Zustand durch Einspielung des korrekten Textformates wieder hergestellt. Manche User hatten dann ein Problem mit dem Einloggen, da deren Logins/Passwörter gespeichert waren und sie sich die Anmeldefehler sowohl auf der Webseite wie auch im Spiel nicht erklären konnten. Da hatte unser Support gut zu tun, bis das Gröbste überwunden war. Sorry an alle, welche da auch involviert waren.
- Für die Versendung von Daten über das Internet müssen mehrere Verschlüsselungen durchgeführt werden, welche die Daten sicher vor Übertragungsfehlern machen. Auf der Empfangsseite muss sichergestellt werden, dass diese Daten korrekt ankommen. Dazu gibt es kleine Routinen, welche das sicherstellen. Leider hat sich bei einem Empfangsmodul ein kleiner Fehler eingeschlichen, der ca. 1,6% der eintreffenden Pakete als "fehlerhaft" erkannte. Glücklicherweise haben wir diesen Fehler gefunden und nun wird alles wieder richtig überprüft.
- Im Laufe der Zeit hat es sich eingeschlichen, dass manche Meldungen in den Logfiles nicht an der richtigen Stelle eingetragen werden. Das ist zwar kein direktes Problem, aber macht eine mögliche Fehlersuche enorm schwierig. Wir werden nun im Laufe der Zeit versuchen, die chaotischen Logfiles besser zu verwalten.
- Die neue Pinganzeige von 3.2.2 hat mehrmals durch darüberliegende Panele geblinzelt (z.B. Analyse, Achievements, ...) - wir haben sie gebeten das zu unterlassen.
- In der Soundbox (kleines Fenster links zwischen Userprofile und Kommandos) haben wir das Icon für Sound abspielen und Sound stoppen vertauscht. Macht jetzt so irgendwie mehr Sinn und entspricht auch eher den vertrauten Symbolen von anderen Geräten des täglichen Lebens.
- Eine Verschlüsselungsbibliohek in Java wurde vom Hersteller in einem kleinen Punkt geändert. Das führte dazu, dass einige beim Abspeichern der Erfolge Fehler in der Struktur erzeugten. Die Umstellung passierte schon im Februar, aber wir haben die Anpassungen dazu erst im Juni eingespielt. Daher waren wir im Juli sehr überrascht, als scheinbar aus dem Nichts Fehler in der Erfolgsdatenbank auftauchten. Es dauerte insgesamt drei Programmversionen und ca. einen Monat, bis wir nun endlich das Problem beheben konnten.
- [Server] Bisher musste einer Client-Änderung auch eine Server-Änderung folgen, wenn die Mindest-Clientanforderung für den jeweiligen Server bindend sein sollte (z.B. Für den Server 3.2.2 musste auch ein Client diese Version haben, um Probleme bei der Kommunikation (Protokoll) zu vermeiden). Ab jetzt können wir das von außen steuern, welche Client-Version vom Server mindestens verlangt wird. Dadurch haben wir eine etwas größere Bandbreite, was in Zukunft für die Verwaltung und mögliche Fehlersuche von Vorteil sein wird.