MRadmin

Paper-Plugin · Admin-Werkzeugkasten: Wartung, Tickets, Staff-Chat, Ankündigungen und Weboberfläche.

Der Werkzeugkasten für dein Server-Team: Wartungen mit Countdown, Tickets und Reports, Admin-Modus, Spieler-Werkzeuge, Ankündigungen, Staff-Chat - im Spiel über Menüs und vom Handy über eine eigene Weboberfläche. Außerdem verbindet MRadmin alle anderen MRtechnology-Plugins miteinander.

Auf einen Blick
Server Paper 26.3 (oder ein Fork wie Purpur), Java 25
Benötigt nichts - LuckPerms empfohlen, Uptime Kuma und LibertyBans optional
Sprachen Deutsch, Englisch (eigene Übersetzungen möglich)
Status Vorabversion (0.x) - Config, Befehle und Permissions können sich bis 1.0.0 noch ändern

Was kann MRadmin?

  • Wartungsarbeiten: Während einer Wartung kommt nur das Team auf den Server. Geplante Wartungen kommen auf Wunsch live aus Uptime Kuma, vorher läuft eine Bossbar mit Countdown.
  • Tickets & Reports: Spieler melden Regelverstöße, Bugs und Fragen mit /report über ein Menü. Das Team antwortet im Spiel oder im Web - wie in einem Chat.
  • Admin-Modus: Creative und ein Teleport-Kompass. Beim Beenden ist alles wieder exakt wie vorher - Inventar, XP, Leben, Position.
  • Spieler-Werkzeuge: hinteleportieren, herholen, Inventar und Enderchest ansehen, einfrieren, kicken.
  • Ankündigungen auf dem Bildschirm aller Spieler, mit Vorlagen (z.B. fürs Restart-Script) und auf Wunsch im Community-Discord.
  • Admin-Dashboard mit Live-Kacheln, Serverzustand und Staff-Chat.
  • Weboberfläche fürs Handy: Tickets, Spieler, Serverzustand, Wartungen, Push-Benachrichtigungen - mit 2FA und Passkeys.
  • Discord-Logs, Update-Prüfung, eine Permission für jede Funktion, jede Funktion einzeln abschaltbar.

Schnellstart

  1. MRadmin herunterladen und die JAR in den Ordner plugins/ legen.
  2. Den Server starten. Dabei entstehen plugins/MRadmin/config.yml und die Sprachdateien in plugins/MRadmin/lang/.
  3. Dem Team die Rechte geben - es gibt fertige Pakete:
    /lp group supporter permission set mradmin.support true
    /lp group staff permission set mradmin.staff true
    /lp group admin permission set mradmin.admin true
    
  4. Fertig: /mradmin öffnet das Dashboard, Spieler erstellen Tickets mit /report.

Alles andere ist optional: Uptime Kuma für geplante Wartungen, ein Discord-Webhook für Logs, die Weboberfläche fürs Handy.

Update: Die alte JAR durch die neue ersetzen und den Server neu starten. Die Config wird automatisch angepasst: Deine Werte bleiben, neue Optionen kommen dazu, die alte Datei wird als config.v<N>.backup.yml gesichert.

Funktionen ein- und ausschalten

Alles, was du nicht brauchst, schaltest du unter features in der Config ab (/mradmin reload genügt):

features:
  maintenance: true    # Wartungsmodus inkl. Uptime Kuma
  announce: true       # Ankündigungen
  admin-mode: true     # Admin-Modus und Kompass
  teleport: true       # zu Spielern teleportieren
  summon: true         # Spieler herholen
  inventory: true      # Inventar/Enderchest ansehen
  freeze: true         # Einfrieren
  server-status: true  # Serverzustand
  tickets: true        # Tickets & Reports (/report)
  staff-chat: true     # Staff-Chat (/sc)

Eine ausgeschaltete Funktion verschwindet komplett aus Befehlen, Menüs und Web. Ihre Daten (Tickets, geplante Wartungen) bleiben erhalten.


Admin-Dashboard

/mradmin (oder Rechtsklick mit dem Admin-Kompass) öffnet das Dashboard:

  • Live-Kacheln für Spieler, Server, Wartung und Tickets. Darunter zeigt eine farbige Scheibe den Zustand, z.B. TPS (grün ab 19,5, gelb ab 15), Wartung (gelb = geplant, rot = aktiv), Tickets (rot = warten auf Antwort).
  • Ankündigen: alle Vorlagen als Knöpfe, „Eigener Text“ öffnet einen Dialog.
  • Plugin-Knöpfe: Admin-Menüs der anderen MRtechnology-Plugins mit Live-Infos. Eigene Knöpfe (z.B. für Chunky) gehen über admin-mode.menu.buttons.
  • Schalter für Admin-Modus und Staff-Chat.

Fehlt eine Permission, fehlt einfach der Knopf. Alle Befehle zeigt /mradmin help.

Admin-Modus

  • /mradmin mode on (oder der Schalter im Dashboard): Inventar, Rüstung, XP, Leben, Hunger, Effekte, Flugstatus und Position werden gespeichert. Danach bist du im Creative-Modus mit dem Admin-Kompass.
  • /mradmin mode off: Alles wird exakt wiederhergestellt, und du landest wieder am Ausgangspunkt.
  • Gespeichert wird vor jeder Änderung - auch ein Absturz verliert nichts. Du bist danach einfach noch im Admin-Modus.
  • Im Admin-Modus kann man nichts fallen lassen oder aufheben, damit keine Creative-Items ins Survival gelangen.
  • /mradmin mode list zeigt, wer im Admin-Modus ist. /mradmin mode off <spieler> beendet ihn für andere.

Spieler-Menü & Serverzustand

Spieler-Menü (Kompass → Spieler teleportieren → Kopf anklicken, oder /mradmin player <spieler>):

  • Infos: Position, Spielmodus, Leben, Ping, Spielzeit, erster Join
  • Hinteleportieren und zu mir holen (Shift-Klick auf einen Kopf teleportiert direkt)
  • Inventar und Enderchest ansehen - live und nur lesend
  • Einfrieren: Der Spieler kann sich nicht bewegen, bauen oder kämpfen und nimmt keinen Schaden. Ausloggen hilft nicht.
  • Seine Reports und die Infos aus den anderen MRtechnology-Plugins

Serverzustand (Dashboard → Server oder /mradmin status): TPS, MSPT, RAM, Chunks, Entities und Spieler pro Welt. Darunter mit MRchunks die auffälligen und gesperrten Chunkloader, ohne MRchunks die Chunks mit den meisten Entities - ein Klick teleportiert hin.

Tickets & Reports

  • /report (auch /ticket, /support) öffnet für alle Spieler das Ticket-Menü: neues Ticket, offene Tickets (neue Antworten leuchten) und das Archiv.
  • Neues Ticket: Kategorie wählen, dann ein Formular ausfüllen. Bei Spieler-Reports wird erst der Spieler gewählt. /report <spieler> springt direkt zur Auswahl des Grundes. Der Standort wird mitgespeichert.
  • Kategorien legst du unter tickets.categories an. Standard: Cheating, Chat, Griefing, Betrug, Bug, Frage/Sonstiges.
  • Im Ticket steht der Verlauf wie in einem Chat. Wer offline ist, erfährt beim nächsten Join von neuen Antworten.
  • Das Team bekommt neue Tickets mit [Öffnen] [Teleport] [Alle Tickets]. Unter Dashboard → Tickets oder /mradmin tickets: filtern, antworten, übernehmen, schließen, wieder öffnen. Wer zuerst antwortet, übernimmt das Ticket automatisch.
  • Mit MRchunks bekommt der Owner automatisch ein Ticket, wenn sein Chunkloader wegen Lag gesperrt wird - mit allen Messwerten. Schließen kann es nur das Team.

Staff-Chat

/sc <nachricht> schreibt an alle mit mradmin.staffchat, auch aus der Konsole. /sc ohne Text schaltet um: Dann geht dein normaler Chat ans Team. Spiegeln in den Admin-Discord ist optional (Event staff-chat).


Wartungsarbeiten

Zeitpunkt Was passiert
15 Minuten vorher (warn-before) Chat-Ankündigung und Bossbar mit Countdown für alle
15m, 10m, 5m, 2m, 1m, 30s vorher Chat-Erinnerung mit Ton
letzte 10 Sekunden großer Countdown auf dem Bildschirm
Beginn Titel „Wartungsarbeiten“, kurz danach werden alle ohne Bypass gekickt
während der Wartung Join nur mit mradmin.maintenance.bypass, die Serverliste zeigt „Wartung“
Ende Chat-Nachricht, alle dürfen wieder joinen

Ohne Uptime Kuma

Befehl Was er tut
/mradmin maintenance Status
/mradmin maintenance on [dauer] [titel] Sofort starten (ohne Dauer bis off)
/mradmin maintenance schedule <in> [dauer] [titel] Mit Countdown planen, z.B. schedule 15m 1h Update
/mradmin maintenance extend <dauer> Ende verschieben, z.B. 30m oder -15m
/mradmin maintenance off Beenden oder absagen

Uptime Kuma

Wartungen, die du in Uptime Kuma planst, übernimmt MRadmin live - inklusive Countdown. Wird eine Wartung in Kuma verlängert, verschoben oder abgesagt, passt sich alles sofort an, und die Spieler werden informiert.

uptime-kuma:
  enabled: true
  url: "https://status.deinserver.de"
  username: "admin"
  password: "geheim"
  monitor-ids: [12]      # nur Wartungen, die den Minecraft-Monitor (ID 12) betreffen
  • 2FA in Kuma aktiv? Dann statt Passwort den Login-Token eintragen (token): im Browser bei Kuma einloggen, F12 → Anwendung → Local Storage → Wert von token kopieren.
  • monitor-ids / maintenance-ids legen fest, welche Wartungen für diesen Server gelten (beide leer = alle).
  • Ist Kuma nicht erreichbar, bleibt die zuletzt bekannte Planung gültig, und MRadmin verbindet sich automatisch neu.
  • Unterstützt werden alle Wartungsarten von Kuma: einmalig, wiederkehrend, Cron und manuell. /mradmin maintenance refresh fragt sofort neu ab.

Ankündigungen

/mradmin announce Heute Abend Event am Spawn!
/mradmin announce Achtung | Der Nether wird gleich zurückgesetzt
/mradmin announce restart 5 Minuten
  • Eigener Text erscheint als Titel auf dem Bildschirm. Mit | trennst du Titel | Untertitel. Farben im MiniMessage-Format sind erlaubt.
  • Vorlagen (z.B. restart, event) stehen in der Sprachdatei unter announce-presets. Werte nach dem Namen füllen <arg1>, <arg2> … Eigene Vorlagen schreibst du einfach dazu.
Beispiel: Restart-Script mit Countdown
mcrcon -p "$RCON_PW" "mradmin announce restart 5 Minuten"; sleep 240
mcrcon -p "$RCON_PW" "mradmin announce restart 1 Minute";  sleep 60
mcrcon -p "$RCON_PW" "mradmin announce restart-now" "stop"

Ankündigungen im Community-Discord

Ein eigener Webhook für deinen öffentlichen Channel (discord-announce), getrennt vom Admin-Log. Er postet sparsam:

  • „Wartungsarbeiten geplant“ höchstens 24 Stunden vorher - bei Änderungen wird derselbe Post bearbeitet, bei einer Absage durchgestrichen.
  • „Wartungsarbeiten laufen“ und „Server wieder online“ zu Beginn und Ende.
  • Ankündigungen, wenn die Vorlage einen discord-Text hat. Eigene Texte nur mit -d: /mradmin announce -d Heute Abend Event!. Mit -q geht eine Vorlage nicht nach Discord.

Zeiten erscheinen als Discord-Zeitstempel - jeder sieht sie in seiner Zeitzone. Test: /mradmin discord test announce.


Weboberfläche

MRadmin vom Handy, Tablet oder PC bedienen: Übersicht mit Live-Werten, Tickets, Spieler, Serverzustand, Wartungen und Ankündigungen, Push-Benachrichtigungen, dazu Seiten für Chunkloader, Schlaf und Duelle, wenn die Plugins installiert sind. Im Web gelten dieselben Rechte wie im Spiel.

  1. In der Config web.enabled: true und web.public-url auf deine Adresse setzen (z.B. https://admin.deinserver.de), dann /mradmin reload.
  2. Reverse Proxy einrichten: deine Domain mit HTTPS → http://127.0.0.1:8125.
  3. Im Spiel /mradmin web setup → Link öffnen → Passwort festlegen und Authenticator-App verbinden. Fürs Team: /mradmin web invite <spieler>.

Anmeldung immer mit Passwort und Code aus der Authenticator-App - oder per Passkey (Fingerabdruck, Face ID, Windows Hello) oder Discord. Alle Funktionen, Sicherheitsdetails, die Web-Konsole, Entbannungsanträge und das Kontaktformular: Weboberfläche im Detail.


Zusammenarbeit mit anderen Plugins

MRadmin, MRsleep, MRchunks, MRtoolbar und MRpvp laufen jeweils auch allein. Sind sie zusammen installiert, erkennt MRadmin sie automatisch und passt Menüs und Web von selbst an:

  • Dashboard: ein Knopf je Plugin mit Live-Infos.
  • Spieler-Menü: die Infos des Spielers aus jedem Plugin.
  • Serverzustand: auffällige und gesperrte Chunkloader (MRchunks), wartende Duell-Prüfungen (MRpvp).
  • Web: eigene Seiten Chunkloader, Schlaf und Duelle.

MRadmin ist außerdem die Verbindung zwischen den anderen Plugins - ohne MRadmin bekommen sie voneinander nichts mit:

Mit MRadmin Braucht außerdem
Spieler im Duell zählen nicht zur Schlafquote MRsleep + MRpvp
Die Werkzeugleiste pausiert im Duell, die Gürtel werden mitgesichert MRtoolbar + MRpvp
In der Arena-Welt lassen sich keine Chunkloader setzen MRchunks + MRpvp
Spieler im Admin-Modus zählen nicht zur Schlafquote, haben die Werkzeugleiste pausiert und können kein Duell starten MRsleep / MRtoolbar / MRpvp

Einrichten musst du dafür nichts. Eine Verbindung abschalten geht unter integrations (z.B. mrsleep: false). Die Konsole zeigt beim Start, welche Plugins verbunden sind. Für Entwickler: docs/MODULE-API.md.

LibertyBans: Ist es installiert, zeigt MRadmin Strafen im Spieler-Menü und im Web und ermöglicht Entbannungsanträge über die Weboberfläche.


Permissions

Jede Funktion hat eine eigene Permission - im Spiel und im Web gleich. Am einfachsten vergibst du die Pakete:

Paket Enthält
mradmin.support Dashboard, Tickets bearbeiten, Spieler ansehen, Staff-Chat, Weboberfläche
mradmin.staff Support + Ticket-Teleport, Wartung ansehen und joinen, Admin-Modus, Spieler-Werkzeuge (Teleport, Holen, Inventar, Einfrieren, Kicken), Serverzustand
mradmin.admin Alles außer der Web-Konsole: Staff + Wartung steuern, Ankündigungen, Admin-Modus anderer, Web-Konten, Reload, Speicher, Discord, Update-Hinweis
Alle einzelnen Permissions

Standard ist op, außer anders angegeben.

Bereich Permissions
Dashboard mradmin.dashboard · mradmin.status · mradmin.status.health
Tickets mradmin.tickets.create (alle, /report) · .notify · .view · .reply · .claim · .close · .reopen · .teleport
Wartung mradmin.maintenance.view · .manage · .bypass · .notify
Ankündigungen, Modus, Chat mradmin.announce · mradmin.mode · mradmin.mode.others · mradmin.staffchat
Spieler mradmin.player.view · .teleport · .summon · .inventory · .freeze · .kick
Weboberfläche mradmin.web · mradmin.web.audit · mradmin.web.manage · mradmin.web.console.view · mradmin.web.console.execute (Konsole in keinem Paket, Standard: niemand)
Verwaltung mradmin.admin.reload · .storage · .discord · .update

Die Permissions von MRsleep, MRchunks und MRpvp gelten im Web genauso für deren Bereiche.

Die Web-Konsole gibst du nur gezielt frei: /lp user <name> permission set mradmin.web.console.execute true

Konfiguration

Alles steht kommentiert in plugins/MRadmin/config.yml. Änderungen übernimmst du mit /mradmin reload.

Abschnitt Wofür
features · integrations Funktionen und Plugin-Verbindungen an/aus
maintenance · uptime-kuma Ablauf der Wartung, Anbindung an Uptime Kuma
announce · discord-announce Ankündigungen im Spiel und im Community-Discord
admin-mode · gui Admin-Modus, Kompass, eigene Dashboard-Knöpfe
tickets Kategorien, Cooldowns, Limits, wie lange geschlossene Tickets bleiben
discord Admin-Log per Webhook, welche Ereignisse gesendet werden
storage Speicher: yaml (Standard), sqlite oder mysql
web · mail Weboberfläche, Mails für Kontakt- und Entbannungsanfragen
health · libertybans · update-checker Verlauf und TPS-Alarm, Strafen-Schnellauswahl, Update-Hinweise

Sprache: language: de oder en. Alle Texte, Vorlagen und Discord-Nachrichten stehen in plugins/MRadmin/lang/<sprache>.yml. Neue Texte aus Updates werden automatisch ergänzt.

Speicher: YAML, SQLite oder MySQL

storage.type Wo Wofür
yaml (Standard) Dateien im Plugin-Ordner kleine Server
sqlite plugins/MRadmin/mradmin.db viele Tickets, die Weboberfläche
mysql MySQL oder MariaDB mehrere Server mit gemeinsamen Tickets

Umstellen: type ändern und den Server neu starten - die bisherigen Daten werden übernommen. Die Datenbank-Treiber lädt Paper beim ersten Start selbst herunter.

Discord

Für das Admin-Log einen Webhook anlegen (Kanal bearbeiten → Integrationen → Webhooks), unter discord aktivieren und die URL eintragen. Welche Ereignisse gesendet werden (Tickets, Wartung, Admin-Modus, Web-Anmeldungen …), stellst du unter discord.events ein. Test: /mradmin discord test.


Häufige Fragen

Ein Teammitglied wird bei der Wartung trotzdem gekickt. Es braucht mradmin.maintenance.bypass (in mradmin.staff enthalten). Ohne LuckPerms prüft MRadmin die Rechte erst beim Join.

Ich war im Admin-Modus, und der Server ist abgestürzt. Nichts verloren - du bist nach dem Neustart einfach noch im Admin-Modus. /mradmin mode off stellt alles wieder her. Die Dateien in plugins/MRadmin/admin-mode/ bitte nicht löschen.

Wo sehe ich, welche Plugins verbunden sind? In der Konsole beim Start. Ist ein Plugin zu alt für die Verbindung, steht dort eine Warnung - dann alle MRtechnology-Plugins zusammen aktualisieren.

Ich habe einen Fehler gefunden oder einen Wunsch. Gern über das Formular auf der Website - am besten mit der Ausgabe von /mradmin version.


Lizenz

MRadmin steht unter der MRtechnology Lizenz (source-available, nicht Open Source). Kurz gesagt:

✅ Erlaubt ❌ Nicht erlaubt
Nutzen - privat und gewerblich, auch auf Servern mit Spenden, Rängen oder Shops Weiterveröffentlichen (auch verändert), z.B. auf Modrinth, Spigot, in Modpacks
Verändern und neu kompilieren Verkaufen oder gegen Geld anbieten
An dein Team oder deinen Hoster weitergeben Als eigenes Werk ausgeben, Lizenzhinweis entfernen
Verbesserungen per Pull Request einreichen

Die Nutzung erfolgt auf eigenes Risiko - leg vor Updates eine Sicherung an. Maßgeblich ist der vollständige Text in LICENSE.

Für Entwickler

Selbst bauen mit Java 25: gradlew build → build/libs/ (inkl. Unit-Tests und der Weboberfläche aus web/, Node lädt Gradle selbst). Zum Entwickeln der Oberfläche in web/ npm run dev (leitet /api an ein laufendes MRadmin auf Port 8125 weiter). Modul-API für andere Plugins: docs/MODULE-API.md, Branches und Releases: docs/RELEASES.md.

Quelle: mradmin/README.md ↗