Clone
2
Home
M_Viper edited this page 2026-01-22 18:53:35 +00:00

StatusAPI Wiki

Version Minecraft Platform Java

StatusAPI ist ein modulares BungeeCord-Plugin mit integriertem HTTP-Status-Endpunkt, globalem Chat-System, WordPress-Verifizierung und vielen weiteren Features.


Inhaltsverzeichnis


Installation

  1. Lade die neueste StatusAPI.jar aus den Releases herunter
  2. Kopiere die JAR-Datei in den plugins/ Ordner deines BungeeCord-Servers
  3. Starte den Server neu
  4. Konfiguriere das Plugin in plugins/StatusAPI/verify.properties

Konfiguration

Die Hauptkonfiguration erfolgt in der Datei verify.properties. Diese wird beim ersten Start automatisch erstellt.

verify.properties

# ===========================
# GLOBALCHAT AKTIVIERUNG
# ===========================
chat.enabled=false

# ===========================
# BROADCAST
# ===========================
broadcast.enabled=false
broadcast.prefix=[Broadcast]
broadcast.prefix-color=&c
broadcast.message-color=&f
broadcast.format=%prefixColored% %messageColored%

# ===========================
# NAVIGATION / SERVER SWITCHER
# ===========================
navigation.enabled=false

# ===========================
# WORDPRESS / VERIFY EINSTELLUNGEN
# ===========================
wp_verify_url=https://deine-wp-domain.tld

# ===========================
# SERVER KONFIGURATION
# ===========================
# Server 1: Lobby
server.lobby=&bLobby
server.lobby.id=1
server.lobby.secret=GeheimesWortFuerLobby123

# Server 2: Survival
server.survival=&aSurvival
server.survival.id=2
server.survival.secret=GeheimesWortFuerSurvival456

# ===========================
# Manuelle Ränge (Overrides)
# ===========================
# Syntax: override.<Spieler-UUID> = <Gruppenname>
override.uuid-hier-einfuegen = Owner

# ===========================
# Chat-Formate für Gruppen
# ===========================
# Format: Rang || Spielerfarbe || Chatfarbe
groupformat.owner=&c[Owner] || &b || &d
groupformat.admin=&4[Admin] || &9 || &c
groupformat.developer=&b[Dev] || &3 || &a
groupformat.premium=&6[Premium] || &e || &7
groupformat.spieler=&f[Spieler] || &7 || &8

# ===========================
# AUTOMESSAGE
# ===========================
automessage.enabled=false
automessage.interval=300
automessage.prefix=
automessage.file=messages.txt

# ===========================
# COMMAND BLOCKER
# ===========================
commandblocker.enabled=true
commandblocker.bypass.permission=commandblocker.bypass

# ===========================
# CUSTOM COMMANDS
# ===========================
customcommands.enabled=true

Module

GlobalChat Modul

Das GlobalChat-Modul ermöglicht einen netzwerkweiten Chat mit:

  • Chatfilter (Schimpfwort-Zensur)
  • Gruppen-basierte Formatierung (mit LuckPerms-Integration)
  • Manuelle Rang-Overrides per UUID
  • Support-System für Spieler-Team-Kommunikation
  • Join/Quit/Server-Switch Nachrichten

Aktivierung

chat.enabled=true

Chat-Format Syntax

groupformat.<gruppenname>=<Rang-Prefix> || <Spielername-Farbe> || <Chat-Farbe>

Beispiel:

groupformat.owner=&c[Owner] || &b || &d
  • &c[Owner] - Rang wird rot angezeigt
  • &b - Spielername wird aqua/cyan angezeigt
  • &d - Chatnachrichten werden pink angezeigt

Manuelle Rang-Overrides

Überschreibe den LuckPerms-Rang für bestimmte Spieler:

override.550e8400-e29b-41d4-a716-446655440000=Owner

Filter-Konfiguration (filter.yml)

badwords:
  - wort1
  - wort2
  - wort3

Willkommensnachrichten (welcome.yml)

- "&aWillkommen auf dem Server, %player%!"
- "&eHallo %player%, viel Spaß!"

Verify Modul

Das Verify-Modul ermöglicht die Verifizierung von Spielern über eine WordPress-Webseite.

Konfiguration

wp_verify_url=https://deine-wordpress-seite.de

# Pro Server eine eigene ID und Secret
server.lobby.id=1
server.lobby.secret=GeheimesWort123

Verwendung

Spieler verifizieren sich mit:

/verify <token>

Navigation Modul

Erstellt automatisch Server-Wechsel-Befehle basierend auf den konfigurierten Servern.

Aktivierung

navigation.enabled=true

Automatisch erstellte Befehle

Für jeden konfigurierten Server wird ein Befehl erstellt:

  • server.lobby=&bLobby/lobby
  • server.survival=&aSurvival/survival
  • server.skyblock=&dSkyBlock/skyblock

Broadcast Modul

Ermöglicht das Senden von Broadcasts über die HTTP-API oder geplante Nachrichten.

Aktivierung

broadcast.enabled=true
broadcast.prefix=[Broadcast]
broadcast.prefix-color=&c
broadcast.bracket-color=&8
broadcast.message-color=&f
broadcast.format=%prefixColored% %messageColored%

Format-Platzhalter

Platzhalter Beschreibung
%name% Name der Quelle
%prefix% Prefix ohne Farbe
%prefixColored% Prefix mit Farbe
%message% Nachricht ohne Farbe
%messageColored% Nachricht mit Farbe
%type% Broadcast-Typ

Wiederholungsoptionen

  • none - Einmalig
  • hourly - Stündlich
  • daily - Täglich
  • weekly - Wöchentlich

AutoMessage Modul

Sendet automatisch rotierende Nachrichten an alle Spieler.

Aktivierung

automessage.enabled=true
automessage.interval=300
automessage.prefix=&6[Info]
automessage.file=messages.txt

messages.txt

&aBesuche unsere Webseite: &ehttps://example.com
&bVergiss nicht, uns auf Discord zu folgen!
&dViel Spaß auf dem Server!

CommandBlocker Modul

Blockiert bestimmte Befehle für Spieler ohne Bypass-Berechtigung.

Befehle

Befehl Beschreibung Permission
/cb add <command> Befehl blockieren commandblocker.admin
/cb remove <command> Blockierung aufheben commandblocker.admin
/cb list Blockierte Befehle anzeigen commandblocker.admin
/cb reload Konfiguration neu laden commandblocker.admin

Konfiguration (blocked-commands.yml)

blocked:
  - plugins
  - ver
  - version
  - about

CustomCommands Modul

Erstelle eigene Befehle mit Aliasen und verschiedenen Ausführungstypen.

Aktivierung

customcommands.enabled=true

customcommands.yml

chat-command: true

commands:
  test:
    aliases:
      - test2
    permission: ""
    type: random        # random = Zufällig, line = Sequenziell
    sender: default     # default, admin, console, <playername>
    commands:
      - "alert Das ist ein Test!"
      - "glist"
      
  regeln:
    aliases:
      - rules
    permission: ""
    type: line
    sender: default
    commands:
      - "alert &6=== Serverregeln ==="
      - "alert &e1. Sei respektvoll"
      - "alert &e2. Kein Cheating"
      
  sudo:
    aliases:
      - runasadmin
    permission: "commands.sudo"
    type: line
    sender: admin
    commands:
      - "%args%"

Platzhalter

Platzhalter Beschreibung
%args% Alle Argumente des Befehls
%sender% Name des ausführenden Spielers

Sender-Typen

Typ Beschreibung
default Spieler selbst
admin Mit Admin-Rechten
console Als Konsole
<name> Als bestimmter Spieler

Stats Modul

Trackt Spielerstatistiken wie Spielzeit, Joins und letzte Aktivität.

Features

  • Automatisches Tracking von Join/Quit
  • Gesamtspielzeit pro Spieler
  • Auto-Save alle 5 Minuten
  • Persistente Speicherung

Befehle

Allgemeine Befehle

Befehl Beschreibung Permission
/verify <token> Verifizierung mit Token -
/info Plugin-Informationen -

GlobalChat Befehle

Befehl Beschreibung Permission
/globalreload Chat-Filter neu laden globalchat.reload
/globalmute Globalen Chat (de)aktivieren globalchat.mute
/support <nachricht> Support-Nachricht senden -
/reply <nachricht> Auf Support antworten -
/chattoggle Eigenen Chat umschalten -
/clearchat Chat leeren globalchat.clearchat

CommandBlocker Befehle

Befehl Beschreibung Permission
/cb add <cmd> Befehl blockieren commandblocker.admin
/cb remove <cmd> Blockierung aufheben commandblocker.admin
/cb list Liste anzeigen commandblocker.admin
/cb reload Neu laden commandblocker.admin

CustomCommands Befehle

Befehl Beschreibung Permission
/bcmds Config neu laden statusapi.bcmds
/chat <nachricht> Chat-Nachricht senden -

Permissions

Allgemein

Permission Beschreibung
statusapi.admin Admin-Benachrichtigungen (Updates)
statusapi.update.notify Update-Benachrichtigungen erhalten
statusapi.bcmds CustomCommands Config neu laden

GlobalChat

Permission Beschreibung
globalchat.reload Filter neu laden
globalchat.mute Chat muten/unmuten
globalchat.bypass Mute umgehen
globalchat.clearchat Chat leeren

CommandBlocker

Permission Beschreibung
commandblocker.admin CommandBlocker verwalten
commandblocker.bypass Blockierte Befehle umgehen

API-Endpunkte

StatusAPI startet einen integrierten HTTP-Server auf Port 9191.

GET /status

Gibt den aktuellen Serverstatus zurück.

POST /broadcast

Sendet einen Broadcast an alle Spieler.

Request Body:

{
  "message": "Deine Nachricht",
  "prefix": "[Info]",
  "prefixColor": "&e",
  "messageColor": "&f",
  "type": "global"
}

POST /broadcast/schedule

Plant einen Broadcast für später.

Request Body:

{
  "message": "Geplante Nachricht",
  "timestamp": 1700000000000,
  "recur": "daily",
  "clientScheduleId": "unique-id"
}

DELETE /broadcast/schedule/{id}

Bricht einen geplanten Broadcast ab.


Optionale Abhängigkeiten

LuckPerms

StatusAPI unterstützt LuckPerms für erweiterte Rang-Funktionalität:

  • Automatische Erkennung der Spielergruppe
  • Gruppen-basierte Chat-Formate
  • Prefix/Suffix-Integration

Falls LuckPerms nicht installiert ist, werden die manuellen Overrides und Permission-basierte Gruppen verwendet.


Plugin-Oekosystem

StatusAPI ist Teil eines umfangreichen Plugin-Oekosystems von M_Viper, das Minecraft-Server und WordPress nahtlos verbindet.

Minecraft Plugins

Plugin Beschreibung Repository
StatusAPI Kern-Plugin mit HTTP-API, GlobalChat und Modulen StatusAPI
GlobalChat-Supressor Erweiterte Chat-Unterdrueckung und Filterung GlobalChat-Supressor

WordPress Plugins

Plugin Beschreibung Repository
MC-Player-History Zeigt Spieler-Historie und Statistiken an MC-Player-History
Minecraft-Server-Status Live Server-Status Widget fuer WordPress Minecraft-Server-Status
Minecraft-BungeeCord-Status BungeeCord Netzwerk-Status Anzeige MC-BungeeCord-Status
Wordpress-MC-Gallery Minecraft Screenshot Galerie MC-Gallery
PulseCast Audio-Streaming Integration PulseCast

Integration

┌─────────────────────────────────────────────────────────────────┐
│                        WordPress                                 │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐            │
│  │ MC-Player-   │ │ Server-      │ │ BungeeCord-  │            │
│  │ History      │ │ Status       │ │ Status       │            │
│  └──────┬───────┘ └──────┬───────┘ └──────┬───────┘            │
│         │                │                │                     │
│         └────────────────┼────────────────┘                     │
│                          │                                      │
│                    HTTP API (Port 9191)                         │
└──────────────────────────┼──────────────────────────────────────┘
                           │
┌──────────────────────────┼──────────────────────────────────────┐
│                          ▼                                      │
│                    ┌───────────┐                                │
│                    │ StatusAPI │ ◄── BungeeCord/Velocity        │
│                    └─────┬─────┘                                │
│                          │                                      │
│    ┌─────────────────────┼─────────────────────┐               │
│    │                     │                     │               │
│    ▼                     ▼                     ▼               │
│ ┌──────┐           ┌──────────┐         ┌───────────┐         │
│ │Lobby │           │ Survival │         │  SkyBlock │         │
│ └──────┘           └──────────┘         └───────────┘         │
│                                                                 │
│                    Minecraft Server                             │
└─────────────────────────────────────────────────────────────────┘

Die WordPress-Plugins kommunizieren ueber die StatusAPI HTTP-Schnittstelle (Port 9191) mit dem Minecraft-Netzwerk und koennen so Echtzeit-Daten wie Spieleranzahl, Online-Status und Statistiken abrufen.


Support

Bei Problemen oder Fragen:

  • Erstelle ein Issue
  • Überprüfe die Logs in plugins/StatusAPI/logs/

Lizenz & Nutzung

Alle Rechte vorbehalten.

Dieses Projekt sowie alle enthaltenen Module, Quelltexte und Ressourcen duerfen nicht veraendert, kopiert oder weiterverbreitet werden.

Jegliche Nutzung, Modifikation oder Weitergabe - ganz oder teilweise - ist ausschliesslich mit vorheriger schriftlicher Genehmigung des Entwicklers gestattet.


Copyright (c) M_Viper. Alle Rechte vorbehalten.