Last Oasis - Stress Test und neue Informationen

  • lastoasisnews.png

    Stresstest

    Wie wir heute Morgen angekündigt haben, werden wir die Server für einige Zeit für einen öffentlichen Test Hochfahren. Der Stresstest wird heute um 20.00 Uhr MEZ / 11.00 Uhr PST beginnen.


    Um teilzunehmen, müsst ihr nur auf das Update von Steam warten und das Spiel wie gewohnt starten.


    Aufgrund der Datenkorruption, die in unserer Datenbank aufgetreten ist, wird das Spiel mit einer neuen Welt und einem vollständigen Wipe neu beginnen.


    Ihr könnt mit längeren Wartezeiten rechnen, da wir einige Dinge geändert haben, damit unsere Systeme nicht überlastet wird. Wir werden uns später mit den Wartezeiten befassen, aber ansonsten sollte das Spiel normal laufen. Zu Testzwecken kann es ab und zu zu Neustarts kommen. Wir werden euch alle so oft wie möglich auf dem Laufenden halten und die Möglichkeiten, die wir während des gesamten Tests haben, in Betracht ziehen.


    Der Zweck dieses Tests ist es, zu überprüfen, ob die Korrekturen, die wir im Laufe der Woche angewendet haben, es uns ermöglichen, das Spiel wieder in den Early Access zu bringen.


    Wir werden die Durchführung des Tests genau beobachten und danach entscheiden, wie wir weiter vorgehen werden. Wenn alles gut läuft, ist unser Plan, die Server morgen neu zu starten. Sollten wir auf weitere Probleme stoßen, müssen wir uns das noch einmal genauer ansehen.


    Was ist passiert und was haben wir dagegen unternommen?

    Beim Start sind viele Dinge schief gelaufen, und obwohl wir sie einzeln hätten in Angriff nehmen können, sind sie alle gleichzeitig passiert. Wir fühlten uns auf den Start vorbereitet und hätten sonst noch nicht veröffentlicht. Wir haben über ein Jahr lang eine Betaversion durchgeführt und alle Probleme, auf die wir gestoßen sind, kontinuierlich behoben. Darüber hinaus haben wir im Laufe des letzten Jahres viele groß angelegte Lasttests durchgeführt, die in keinem unserer Systeme Probleme zeigten.


    Wie viele von euch gesehen haben, verliefen die ersten Stunden nach der Veröffentlichung reibungslos. Nach einiger Zeit bekamen wir gelegentlich Berichte über Charaktere, die in der Weltkarte feststeckten. Die Ingenieure gingen der Sache nach, aber es schien zu diesem Zeitpunkt kein weit verbreitetes Problem zu sein, wenn man bedenkt, dass es nur eine sehr geringe Anzahl dieser Berichte gab. Unser ursprünglicher Plan für die ersten Tage nach der Veröffentlichung bestand darin, das Team in eine Tages- und eine Nachtschicht aufzuteilen, Probleme schnell zu beheben, sobald sie auftauchten, und rund um die Uhr Aktualisierungen einzuführen, bis die Dinge stabil liefen. Bald darauf stellten wir jedoch fest, dass die Anzahl der Berichte zunahm, das Backend immer instabiler wurde und sich die Situation zunehmend verschlechterte.


    Immer mehr Menschen konnten sich nicht mehr verbinden, und eine große Anzahl von Spielern saßen in Warteschlangen fest. Wir versuchten, schnelle Lösungen zu finden, aber in so kurzer Zeit hätten wir die Probleme nicht wirklich verstehen können, wenn wir sie nicht ordnungsgemäß beseitigt hätten.


    Inmitten des Ganzen trat das wichtigste Problem auf - die Server wurden ständig abgeschaltet.


    Um zu erklären, was das bedeutet, möchten wir ein wenig tiefer in die Funktionsweise unseres Weltsystems eintauchen.

    In unserem Spiel stellt jede Oase einen Server dar. Es gibt eine riesige Datenbank, die dafür sorgt, dass die Welt konsistent ist - ein Spieler, der einen Server verlässt, muss erfolgreich auf einem anderen Server ankommen, damit diese Konsistenz gewährleistet ist. Aufgrund der Art und Weise, wie das System funktioniert, war das Herunterfahren der Server allein nicht so sehr ein Fehler, sondern eher eine ausfallsichere Datenbank. Es bedeutete, dass etwas in der Welt passierte, das diese Konsistenz unterbrach, und wann immer das passiert, fährt der Server herunter und startet neu, um sicherzustellen, dass der letzte korrekte Zustand wieder aufgenommen wird (was viele von Ihnen meist als Rollback bezeichnet haben).


    Irgendwann wurde die Datenbank mit all den Verbindungen so langsam, dass die Gameserver ihren Konsistenzzustand nicht mehr rechtzeitig überprüfen konnten, was sie zwang, alle gleichzeitig herunterzufahren. Auch hier war es ein Fail-Safe, um sicherzustellen, dass die Welt nicht inkonsistent wird und die Logik des Spiels auf lange Sicht bricht.


    Die kontinuierlichen Abschaltungen deckten zwei weitere Fehler auf, die zuvor unbemerkt geblieben waren. Erstens waren unsere Lobby und die Warteschlangen für Zehntausende von Spielern, die sich gleichzeitig anschließen, nicht optimiert genug, da die Spieler normalerweise über einen bestimmten Zeitraum in kleineren Wellen teilnehmen. Kunden schickten massenhaft Anfragen an unser Backend, um den Status zu überprüfen, und spammten ihn im Wesentlichen. Dies hätte die Gameserver nicht mit dem Verifizierungsprozess überlasten dürfen, aber die schiere Menge dieser Anfragen tat es. Das vorhandene System konnte die Last nicht bewältigen. Hinzu kam, dass bei so vielen Leuten, die aufgrund eines anderen Fehlers in der Warteschlange festsaßen, die Kunden weiterhin diese Anfragen auf unbestimmte Zeit senden mussten.


    Unsere Systeme steckten im Wesentlichen in einer Schleife fest, in der sich mehrere Probleme gegenseitig beeinflussten. Als alle Server heruntergefahren und neu gestartet wurden, versuchten über 20.000 Personen gleichzeitig wieder einzusteigen, was dazu führte, dass unser Warteschlangensystem ausfiel, wodurch der Master-Server immer wieder überlastet wurde und nur einige wenige Personen einsteigen konnten, bis der Master-Server wieder heruntergefahren wurde und alle Server mit sich nahm. Und der Zyklus würde weitergehen.


    Viele von Ihnen waren darüber verständlicherweise verärgert, deshalb versuchten wir, die Systeme in einen funktionierenden Zustand zu bringen und gleichzeitig die zugrunde liegenden Probleme zu beheben. Es fühlte sich an wie der Wiederaufbau eines Kartenhauses mitten in einem Hurrikan. Wir hofften, diese magische Lösung zu finden, die den Zyklus zu diesem Zeitpunkt unterbrechen würde, und warteten ab, ob der nächste Patch das Hauptproblem behebt. Die Berücksichtigung von viel Druck und Stress gemischt mit einer verschlechterten Kommunikation aufgrund der Quarantäne-Situation machte die Sache noch schwieriger.


    Irgendwann mussten wir die Realität akzeptieren, dass es nicht nur eine Lösung entfernt ist. Zu viele Systeme fielen gleichzeitig aus, was sich für die Freigabe als ein viel größeres Problem erwies, als wir zunächst dachten. Viele von Ihnen haben erwähnt, dass die Entscheidung, die Server am Sonntag herunterzufahren, zu spät kam, und wir stimmen Ihnen zu. Es war sehr schwierig, den richtigen Zeitpunkt für die nuklearste Option zu wählen, da wir uns bei so vielen Patches, die eingespielt wurden, fragten: "Was ist, wenn wir das alles in der nächsten Stunde repariert haben?".


    Nachdem wir angekündigt hatten, dass die Server zur Wartung ausfallen würden, ging der Großteil des Teams nach tagelanger Non-Stop-Arbeit schlafen und wachte mit etwas auf, das wir nicht erwartet hatten: Viele von Ihnen äußerten Verständnis und Unterstützung. Wir können Ihnen nicht sagen, wie sehr das die Moral für alle im Team gestärkt hat. Es hat uns geholfen. Wir müssen uns zusammenreißen: richtig organisieren, Protokolle und Code analysieren und vollständig überprüfen, was schief gelaufen ist. In den letzten Tagen können wir leicht sagen, dass wir eine Menge gefunden haben. Wir haben große Teile des Codes, bei denen wir gesehen haben, dass sie Probleme verursacht haben, überarbeitet, die fehlerhafte Datenbankstruktur geändert und verschiedene Integritätsprobleme behoben, die aufgetreten sind. Soweit wir das beurteilen können, wurden alle bekannten Probleme behoben.


    Der beängstigende Teil für uns, und wir möchten so offen wie möglich sein, ist, dass wir noch nicht garantieren können, dass es vollständig gelöst ist. Bei so vielen Problemen auf einmal, die verwandte Probleme verursachen, wissen wir zwar, welche Fehler aufgetreten sind, aber nicht, welche genau die Kette gestartet haben, die zum Terminalproblem geführt hat. Um beim Beispiel des Kartenhauses zu bleiben: Wir sehen nur, dass es zusammengebrochen ist, und jetzt müssen wir rekonstruieren, welche Karte zuerst gefallen ist, womit wir erst dann beginnen können, wenn echte Spieler auf die Server zugreifen.


    Aus diesem Grund haben wir beschlossen, heute einen öffentlichen Stresstest zu starten und alle Korrekturen zu überprüfen, die wir vorgenommen haben. Wir haben auch zusätzliche Server-Protokolle hinzugefügt, um sicherzustellen, dass wir bessere Daten haben, um die Probleme zu analysieren, falls neue Probleme auftreten sollten.


    Einige Funktionalitäten, die unserer Meinung nach mehr Zeit für eine ordnungsgemäße Überarbeitung benötigen, wurden vorerst vorübergehend deaktiviert. Wir glauben, dass sie zu einem großen Teil die Ursache der Probleme waren. Insbesondere der Server-Zerfall, das zeitbasierte Packen von Strukturen und das Löschen des eigenen Charakters.

    Sobald die Dinge wieder reibungslos laufen, werden wir uns so schnell wie möglich mit diesen Funktionen befassen und sie in einer stabileren Form zurückbringen.


    Das unmittelbare Ziel ist es jedoch, Sie alle so schnell wie möglich wieder spielen und Last Oasis genießen zu lassen.


    Quelle: https://steamcommunity.com/gam…etail/2114944526815497770