Plugin2018 · Serverbetreiber

FlatteningMigrator

Migrationswerkzeug für den Sprung auf 1.13: Block-IDs, Item-Namen und Configs werden automatisch umgeschrieben.

Über das Projekt

Schwerpunkt: Datenhaltung & Persistenz

Ausgangslage

Migrationswerkzeug für den Sprung auf 1.13: Block-IDs, Item-Namen und Configs werden automatisch umgeschrieben. Auftraggeber war Serverbetreiber (2018). Datenzugriffe liefen im Haupt-Thread: Beim Beitreten vieler Spieler stockte der Server sichtbar.

Umsetzung

Lesen und Schreiben laufen asynchron über einen Verbindungspool, Änderungen werden gesammelt und gebündelt geschrieben. Beim Verlassen wird garantiert einmal gespeichert. Gebaut für Spigot 1.13 auf Java 8. Der Schwerpunkt lag auf Speichern, Laden und Migration von Spielerdaten.

Ergebnis

Keine Tick-Aussetzer mehr beim Join-Ansturm und kein Datenverlust bei hartem Serverstopp. Das Plugin wurde über mehrere Minecraft-Versionen weiter gepflegt; Konfiguration und Texte sind so getrennt, dass Anpassungen ohne Neubau möglich sind.

Technik im Detail

Eingesetzt wurden Java 8, Spigot 1.13, Datenmigration. Zeitkritische Arbeit läuft außerhalb des Server-Ticks, Zustände werden bewusst klein gehalten und beim Beenden verlässlich gespeichert. Der Code-Auszug unten zeigt die tragende Klasse mit Registrierung, Event-Behandlung und Intervall-Logik.

Kernpunkte

  • Asynchrone Zugriffe mit Verbindungspool
  • Gebündeltes Schreiben statt Einzelabfragen
  • Versionierte Schemata mit automatischer Migration

Kein Download: Dieses Plugin-Projekt ist Auftrags- bzw. Eigenarbeit und wird hier ausschließlich beschrieben.

Code-Auszug

Repräsentativer Ausschnitt der tragenden Klasse – Java 8, Spigot 1.13, Datenmigration.

Tech-Stack & Tools

  • Java 8
  • Spigot 1.13
  • Datenmigration
Jahr
2018
Kategorie
Plugin
Auftraggeber
Serverbetreiber
Ähnliches Projekt anfragen

Weiterstöbern

Ähnliche Projekte

Vergleichbare Plugin-Arbeiten aus dem Umfeld von 2018.

Alle 77 Plugin-Projekte
Plugin2018

NetworkCore

Servernetzwerk

Proxy-Kern für den Wechsel zwischen Lobby, Survival und Minispielen inklusive Nachrichten über Plugin-Messaging.

  • Java 8
  • BungeeCord
  • Maven
  • Redis
Projekt ansehen →
Plugin2018

FriendSystem

Servernetzwerk

Freundesliste über alle Server hinweg: Anfragen, Statusanzeige, Direktnachrichten und Jump-to-Friend.

  • Java 8
  • BungeeCord
  • MySQL
Projekt ansehen →
Plugin2018

PartyManager

Minispiel-Netzwerk

Gruppen bleiben beim Serverwechsel zusammen und werden gemeinsam in Runden eingereiht.

  • Java 8
  • BungeeCord
  • Redis
Projekt ansehen →