Neuigkeit » DevBlog #01 | Private Server

NeruxVace

Administrator
Liebe NeruxVace Community,

heute präsentieren wir euch den ersten DevBlog des NeruxVace.net Entwickler-Teams. In den DevBlogs werden wir den Technik-Interessieren unter euch einen kleinen Einblick hinter die Kulissen und damit unsere Infrastruktur im Hintergrund geben. Sollte euch diese Art von Beiträgen gefallen und ihr euch mehr DevBlogs wünschen, lasst es uns doch gerne durch ein Kommentar unter diesem Post oder einem Like wissen.

Am Mittwoch (19.10.2022) haben wir morgens Wartungsarbeiten am Netzwerk durchgeführt. Dort haben wir eine Vielzahl an Neuerungen an unserem CloudSystem, LobbySystem und PrivateServer-System auf das Netzwerk aufgespielt. Da es sich hierbei eigentlich ausschließlich um Änderungen im Hintergrund handelt, solltet ihr im Idealfall auf dem Netzwerk von unserem Update wenig bis gar nichts sehen. Der folgende Beitrag befasst sich genauer mit den Veränderungen und dessen Hintergründen.

» Die Ausgangssituation:
Die Software eines Minecraft-Netzwerkes wächst mit jedem Update stetig an, sodass sich aus einem schmalem und in sich geschlossenem System schnell ein großes und offenes System entwickelt. Neben den eigentlichen Hauptaufgaben erfüllt dieses System dann oft viele andere kleine Aufgaben, die für ein eigenständiges Plugin oder gar einen eigenen Microservice zu klein wären. So auch bei NeruxVace:
Damals erschien es sinnvoll, die Privaten Server und fast alle damit verbundenen Features direkt im CloudSystem zu implementieren. Daher befanden sich beispielsweise der Lobby-Teleporter, das PServer-Lobby-Item die Lobby-Schilder und vieles mehr in unserem CloudSystem Bukkit-Plugin, dass auf jedem Bukkit-Server des Netzwerkes läuft. Da viele dieser Features durch ihre Programmierung nur für 1.8 Server bzw. nur für gewisse Server-Typen (Lobby-Server, Private-Server usw.) ausgelegt waren, bedarf es hier einiger Renovierungsarbeiten.

» Die Renovierungsarbeiten:
Eine solche Umstrukturierung ist weitaus komplizierter, als man sich das am Anfang vorstellen mag. Hierbei stellt nicht der eigentliche Umzug der Quellcode-Komponenten die eigentliche Hürde dar, sondern die zahlreichen Abhängigkeiten von anderen Systemen. Beispielsweise haben diverse alte Systeme Methoden genutzt, die umgezogen werden sollten. Hier war die Schwierigkeit, sämtliche Abhängigkeiten zu finden und dadurch Auftretende Probleme möglichst elegant zu lösen. Häufig sind wir zu dem Entschluss gekommen, dass wir Abschnitte lieber gänzlich neu programmieren, da wir nur so in Zukunft ordentlich damit arbeiten können. Schlussendlich haben wir knapp 25% der Bukkit-Implementation der Privaten Server verworfen und neu programmiert.
Neben dem Umziehen von Quellcode-Komponenten war aber noch ein weiteres Problem zu lösen: Wie gehen wir mit versionsspezifischen Quellcode-Abschnitten um (also Quellcode, der nur auf 1.8 Server funktioniert). Glücklicherweise waren diese Abhängigkeiten nur an wenigen Stellen zu finden. An diesen Stellen wurde der Quellcode dann so umgeschrieben oder gänzlich neu geschrieben, sodass er mit nur wenigen Zeilen Code für jede Version anders implementiert werden kann. Diese Versionsunabhängigkeit öffnet uns für die Zukunft viele neue Möglichkeiten.

» Der Status Quo:
Komponenten wie der Lobby-Teleporter oder die Server-Schilder sind nun endlich da, wo sie auch hingehören - im LobbySystem. Außerdem sind die PServer-Komponenten der Lobby nun in einem eigenen Plugin, sodass wir das Item flexibel auf den bedürftigen Servern einsetzen können.

» Blick in die Zukunft:
Die nächsten Wochen werden wir uns auch weiter mit der Modernisierung und Renovierung unserer Backend-Infrastruktur beschäftigen. Unter anderem werden wir eine für das Spielgeschehen essenzielle Komponente des Netzwerkes komplett ersetzen und durch eine neuere Technologie ersetzen. Diese Veränderung werden wir falls gewünscht im nächsten DevBlog aufgreifen.

Wir hoffen, dass euch unser erster DevBlog gefallen hat. Sollte euch diese Art von Beiträgen gefallen und ihr euch mehr DevBlogs wünschen, lasst es uns doch gerne durch ein Kommentar unter diesem Post oder einem Like wissen.

Wir wünschen euch eine schöne Woche, Gesundheit und viel Spaß auf NeruxVace.net!
Euer NeruxVace.net ServerTeam!
 
Top