Zum Hauptinhalt springen

Nightbreak-Changelog-Benachrichtigungen

MagmaCore liefert einen gemeinsamen Changelog-Posteingang mit. Jedes Plugin, das den Nightbreak-Updater von MagmaCore verwendet, erhält ihn und nutzt ihn, um Serveradministratoren im Spiel mitzuteilen, wenn es für das Plugin oder eines seiner installierten Inhaltspakete noch ungelesene Release Notes gibt.

Da der Posteingang in MagmaCore liegt, verhält er sich überall gleich. Nur der Befehlsname und das jeweils gemeldete Plugin ändern sich.

Der Befehl

Jedes Plugin registriert seinen eigenen Changelog-Befehl, gebildet aus dem Stammbefehl des Plugins plus changelog — nicht aus seinem Anzeigenamen, sodass die Bezeichnung dem Stammbefehl folgt, den dieses Plugin verwendet:

PluginBefehl
EliteMobs/emchangelog
BetterStructures/bschangelog
EternalTD/etdchangelog
WorldCannon/wcchangelog
FreeMinecraftModels/freeminecraftmodelschangelog
ResurrectionChest/resurrectionchestchangelog
BetterFood/betterfoodchangelog
ResourcePackManager/resourcepackmanagerchangelog

Ist diese Bezeichnung auf dem Server bereits vergeben, registriert das Plugin stattdessen eine Namespace-Ausweichvariante und protokolliert eine Warnung, falls überhaupt keine kollisionsfreie Bezeichnung verfügbar war.

VerwendungWas sie bewirkt
/<root>changelogÖffnet die ungelesenen Release Notes.
/<root>changelog dismissMarkiert die soeben angezeigten Notizen als gelesen.
/<root>changelog disableStoppt die automatische Erinnerung für dich dauerhaft. Der Befehl selbst funktioniert weiterhin.

Der Befehl ist im Spiel und nur für Administratoren verfügbar. Du giltst als Administrator, wenn du Operator bist oder die Wildcard-Berechtigung des Plugins, seine Admin-Berechtigung, seine Setup-Berechtigung oder seine Initialize-Berechtigung besitzt.

Der Beitrittshinweis

Wenn ein Administrator beitritt, wartet das Plugin ein paar Sekunden und sendet dann einen kurzen Chathinweis mit einer anklickbaren VIEW CHANGELOG-Schaltfläche, sofern ungelesene Notizen vorliegen. Administratoren, die bereits online sind, werden ebenfalls einmalig benachrichtigt, wenn ein Abruf im Hintergrund etwas Neues zutage fördert.

Derselbe Hinweis wird nicht wiederholt, solange sich die Menge der ungelesenen Releases nicht ändert, sodass eine normale Sitzung eine Erinnerung erhält statt einer Flut davon. Administratoren, die disable ausgeführt haben, werden nie benachrichtigt.

Wie Notizen angezeigt werden

Ab Minecraft 1.21.6 öffnen sich die Notizen in einem Dialogfenster mit den Schaltflächen Dismiss These Updates und Never Show Changelogs. Auf älteren Servern wird derselbe Inhalt mit den entsprechenden Befehlsanweisungen in den Chat geschrieben.

Eine einzelne Ansicht zeigt höchstens 20 Releases, die neuesten zuerst, verschränkt zwischen dem Plugin selbst und jedem verfolgten Inhaltspaket. Alles darüber hinaus wird als Anzahl ausgelassener Releases gemeldet. Wird eine volle Seite verworfen, bleiben die älteren Notizen in der Warteschlange, und die Folgemeldung bietet eine VIEW NEXT-Schaltfläche an.

Was verfolgt wird

  • Die eigenen Releases des Plugins, entnommen aus seinem öffentlichen Nightbreak-Changelog.
  • Jedes installierte Inhaltspaket mit einem Nightbreak-Slug, entnommen aus dem öffentlichen Changelog dieses Pakets.

Beim ersten Lauf eines Plugins mit dem Posteingang wird die aktuelle Version als Verfolgungsuntergrenze festgehalten und nur dieses aktuelle Release angezeigt. Von da an werden die Releases zwischen der festgehaltenen Untergrenze und der Version angezeigt, die du jetzt ausführst — so ergibt ein Sprung über mehrere Versionen eine einzige Zusammenfassung über den gesamten Sprung statt gar nichts.

Release-Texte stammen von Nightbreak und werden immer als reiner Text dargestellt. Ist der Changelog-Dienst nicht erreichbar, versucht es das Plugin im Hintergrund erneut — beginnend etwa 15 Minuten später und mit einer Wartezeit von bis zu rund vier Stunden — und zeigt in der Zwischenzeit an, was bereits im Cache liegt.

Wo der Lesezustand liegt

Jedes Plugin speichert seinen eigenen Zustand in:

plugins/<PluginName>/nightbreak-changelogs.yml

<PluginName> ist der interne Name des Plugins, der nicht immer sein Wiki-Name ist: Der Ordner von WorldCannon heißt plugins/CannonRTP.

Diese Datei enthält die Verfolgungsuntergrenze der Version, einen Cache der abgerufenen Release Notes sowie den Lese- und Opt-out-Zustand je Administrator, adressiert über UUID. Sie enthält keinen Konto-Token und außer Spieler-UUIDs keine personenbezogenen Daten.

Das Löschen der Datei setzt die Verfolgung zurück: Das Plugin behandelt die aktuelle Version als neue Untergrenze, und jeder Administrator startet mit einem leeren Lesezustand.

Wie du es abschaltest

Es gibt keinen serverweiten Schalter. Erinnerungen werden pro Administrator abbestellt, mit:

/<root>changelog disable

Das markiert alles derzeit Verfügbare als gelesen und hinterlegt das Opt-out-Kennzeichen für diesen Spieler in der Zustandsdatei des Plugins. Der Befehl funktioniert danach weiterhin, falls sie manuell nachsehen möchten — nur der automatische Hinweis entfällt.