StatusAPI
Ein modulares und mächtiges Plugin für BungeeCord, das einen zentralen JSON-Status, ein globales Chat-System, WordPress-Verifizierung und dynamische Server-Navigation bereitstellt.
⚡ Features
- Modulares System: Aktiviere nur die Features, die du brauchst (Chat, Stats, Verify)
- JSON API: Liefert Echtzeit-Server-Statistiken (Spieleranzahl, Motd, Versionen) für deine Webseite (Port 9191)
- Global Chat: Ein einheitlicher Chat über alle Server hinweg mit Badword-Filter und LuckPerms-Support
- Server Navigation: Automatische Generierung von Befehlen basierend auf deiner Config (z.B.
/survivalstatt/server survival) - WordPress Verify: Verifiziere Spieler direkt mit deiner WordPress-Seite (CPT Integration)
- Auto-Updater: Prüft automatisch auf Updates und lädt diese herunter
- Logging: Speichert den kompletten Chatverlauf in Dateien
📥 Installation
- Lade die aktuellste
StatusAPI.jarherunter - Lege die Datei in den
pluginsOrdner deiner BungeeCord-Installation - Starte den Server neu
- Die Config-Dateien werden automatisch erstellt
⚙️ Konfiguration
Alle Haupt-Einstellungen werden in der plugins/StatusAPI/verify.properties zentral verwaltet.
verify.properties
Hier konfigurierst du Server-Namen, Farben und die Verbindung zu WordPress.
# ===========================
# GLOBALE EINSTELLUNGEN
# ===========================
# Aktiviert oder deaktiviert das globale Chat-Modul
chat.enabled=true
# Aktiviert die automatischen Server-Switch Befehle (z.B. /survival)
navigation.enabled=true
# URL deiner WordPress-Installation
wp_verify_url=https://deine-wordpress-domain.tld
# ===========================
# SERVER KONFIGURATION
# ===========================
# Der Key-Name (z.B. bungee-server-1) MUSS exakt mit dem
# Namen in deiner BungeeCord config.yml übereinstimmen!
#
# - server.<Name>=<Anzeigename> -> Wird im Chat und als Befehl genutzt
# - server.<Name>.id=<ID> -> WordPress Server ID
# - server.<Name>.secret=<Key> -> WordPress Secret
# Beispiel: Server mit Namen "Lobby"
server.lobby=&bLobby
server.lobby.id=1606
server.lobby.secret=DeinSecretHier
# Beispiel: Server mit Namen "bungee-server-1" (Name aus BungeeConfig)
server.bungee-server-1=&aSurvival
server.bungee-server-1.id=2
server.bungee-server-1.secret=GeheimesWortFuerSurvival
# Beispiel: SkyBlock
server.skyblock=&dSkyBlock
server.skyblock.id=3
server.skyblock.secret=GeheimesWortFuerSkyBlock
Weitere Dateien
- filter.yml: Hier trägst du Badwords ein, die im Chat zensiert werden sollen
- welcome.yml: Hier definierst du Willkommensnachrichten für neue Spieler (nur sichtbar, wenn Welcome-Events aktiviert sind)
- plugins/StatusAPI/logs/: Hier werden alle Chatnachrichten als Textdateien gespeichert (Löschung nach 7 Tagen)
💻 Befehle
Die meisten Befehle werden dynamisch basierend auf deiner verify.properties erstellt.
| Befehl | Beschreibung | Permission |
|---|---|---|
/verify <token> |
Verifiziert den Spieler mit der WordPress-Seite | - |
/survival / /lobby |
Führt dich auf den entsprechenden Server um (wird dynamisch erstellt) | - |
/globalmute |
Aktiviert oder deaktiviert den globalen Chat | globalchat.mute |
/globalreload |
Lädt Filter und Konfigurationen neu | globalchat.reload |
/support <msg> |
Sendet eine Nachricht an das Online-Team | - |
/reply <msg> |
Antwortet auf eine Support-Anfrage | - |
/info |
Zeigt Plugin-Informationen an | - |
🌐 JSON API (Status)
Die API läuft unter http://DEINE_IP:9191/.
Beispiel Request
curl http://127.0.0.1:9191/
Beispiel Antwort
{
"online": true,
"version": "1.20.4",
"max_players": "500",
"motd": "Willkommen auf meinem Server!",
"players": [
{
"name": "Player1",
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"prefix": "§aAdmin",
"server": "Lobby"
}
]
}
🛠️ Für Entwickler
Die StatusAPI ist modular aufgebaut. Du kannst eigene Module erstellen, ohne den Core-Code zu berühren.
Beispiel
- Erstelle eine Klasse, die
Moduleimplementiert - Registriere sie in der StatusAPI Hauptdatei:
moduleManager.registerModule(new MeinModul());
- Dein Modul hat Zugriff auf
onEnableundonDisabledes Haupt-Plugins
📝 Permissions
globalchat.mute- Erlaubt das Stummschalten des Chatsglobalchat.bypass- Erlaubt das Schreiben, auch wenn der Chat gemuted istglobalchat.reload- Erlaubt das Neuladen der Konfiguration
🤝 Credits
Entwickelt von M_Viper.
Unterstützt durch BungeeCord und LuckPerms Community.