Standard-Klanskin_Klankrieg

Wochenrückblick: Die Jagd nach Bugs, Skins für Klans und OAuth2

Wochenrückblick30. Jan. 2022

Bughunt

Dass das Matchmaking grundlegend funktioniert, heißt leider nicht automatisch, dass alles ohne Anpassungen reibungslos funktioniert. Und so beschäftigte sich ein Teil der Entwickler damit, die wichtigsten Fehler zu beseitigen. So gab es etwa einen großen Fehler bei unserem Warteschlangen-Prozess (also zum Beispiel bei /arena join), der dazu führte, dass man sich nicht erfolgreich in die Warteschlange einreihen konnte.

Dabei fiel ein weiterer Bug auf: Wenn es (nach einem Kick) beim Verbinden auf den Fallback-Server einen Fehler gibt, wurde ununterbrochen erneut versucht den Spieler auf einen Fallback-Server zu bringen. Das ging so weit, das über 5.000 Mal in 30 Sekunden versucht wurde, den Spieler zu verbinden und dadurch sehr viel Auslastung entstanden ist. Nun trennen wir die Verbindung, falls dies passiert. Außerdem fiel auf, dass die Meldung beim unerfolgreichen Verbindungsversuch mitunter doppelt und dreifach geschickt wurde. Entsprechend haben wir das gleich mit behoben.

Der Fehler mit der Warteschlange wurde behoben

Auch wurde ein Fehler beim Matchmaking behoben, der die Verbindung auf den Server blockiert hat. Jetzt können wir also wieder ungebremst weiter testen, wobei uns automatisierte Testverfahren und Analysetools eine große Hilfe sind.

Und Agones wird nun auf den Bukkit-Servern wieder sauber heruntergefahren. Vorher gab es immer einen Fehler beim Shutdown (auch wenn alles richtig funktioniert hat). Jetzt melden wir uns sauber von Agones ab. Zuletzt haben wir damit begonnen einen Director (also den Verwalter) für die Warteschlange von Klankriegen zu entwickeln.

Skins für Klans

Wenn ihr eure Basis errichtet, könnt ihr durch Skins auch die Umgebung eurer Welt austauschen. Das soll sich aber nicht nur auf eure Klan-Insel auswirken, sondern auch um Krieg. Während das Zentrum einer Kriegs-Karte von der Karte abhängig ist, ist die Umgebung davon abhängig, welchen Skin euer und der gegnerische Klan aktiviert haben.

So langsam kommt dafür bei uns alles zusammen: Was vorher in Form eines Prototypens mit der heißen Nadel zusammengestrickt wurde, wurde nun sauber aufgesetzt. Damit sind wir der Fertigstellung des Klankriegs einen großen Schritt näher gekommen!

Wenn es zu einem Klankrieg kommt, wird alles zusammengefügt. Je nach Skin und Map werden so unterschiedlichste Welten erschaffen.
Das linke Template nutzen unsere Builder zur Erstellung eines neuen Skins für eine Klankriegsmap. In der Mitte sehen wir eine Map ohne Skin drum herum. Wenn es zu einem Klankrieg kommt, wird alles zusammengefügt. Je nach Skin und Map werden so unterschiedlichste Welten erschaffen.

Neue Accounts mit OAuth2

In dieser Woche haben wir begonnen, einen OAuth2-Authentication Server in unsere offene Programmier-Schnittstelle Charon zu integrieren. Einige kennen das bereits von unserem Discord-Link, bei dem unsere Website von Discord die Erlaubnis erhält, die Daten des eigenen Accounts abzufragen. Auf diese Weise sieht man auf unserem Discord-Server auch, welchen Rang jemand hat (z. B. Admin oder Premium).

Da wir bei der neuen Website ohnehin höchste Anforderungen an die Sicherheit und Transparenz unserer gesammelten Daten stellen, wollen wir dies zur Grundlage unseres Account-Systems machen. In Zukunft erstellt man seinen Account nicht mehr auf der Website, sondern erst einmal ingame (z.B. durch /account create <email>). Dadurch erhält man einen einmaligen Link zu unserer Website, bei dem der Account dann vervollständigt und angelegt werden kann.

Technisch gesehen erschaffen wir hier eine öffentliche API, bei der man unserer Website erlaubt, bestimmte Informationen des eigenen Accounts zu betrachten, oder gar zu verändern. Man kann als Nutzer auch anderen Webseiten erlauben, bestimmte Informationen auszulesen. Dabei wird der Nutzer kurz zu unserer Website geleitet und gefragt, welche Informationen er dieser Website zur Verfügung stellen möchte. Dank Oauth2 können wir dabei sicher sein, dass keine privaten Informationen wie Email-Adresse und Passwörter an diese Website weitergegeben werden.

Wenn jemand z. B. eine Website erstellen möchte, die die eigenen Kampf-Statistiken noch besser aufbereitet als wir, dann wollen wir dem Ganzen keine Steine in den Weg legen – ganz im Gegenteil!

Nachdem wir in den letzten Wochen hierzu die nötige Recherche betrieben haben, haben wir in dieser Woche erst mit dem Einbau begonnen. Wir wollten an dieser Stelle aber schon einmal ausführlicher auf unsere Pläne eingehen, denn das Thema wird uns noch eine Weile in den Wochenrückblicken begleiten.

Ausblick

In der nächsten Woche wollen wir unter anderem verraten, was es mit dem Director für Klankriege auf sich hat. Wer uns noch nicht per Discord, Instagram und Twitter abonniert hat, sollte dies vielleicht nachholen, zumal uns in den kommenden Wochen immer mehr Screenshots und vielleicht auch das eine oder andere Video erwartet!