2026-05-08 09:14:43 +02:00
2026-05-08 09:14:43 +02:00
2026-05-07 20:28:41 +00:00

StatusAPI

Modulares BungeeCord-Plugin für Netzwerkbetrieb, Moderation und Integrationen.
Live-Status · Chat & Support · Verifizierung · Forum-Bridge · Broadcasts · AntiBot · BackendJoinGuard


Rechtlicher Hinweis Dieses Projekt sowie alle enthaltenen Module, Quelltexte und Ressourcen dürfen nicht verändert, kopiert oder weiterverbreitet werden. Jegliche Nutzung, Modifikation oder Weitergabe ist ausschließlich mit vorheriger schriftlicher Genehmigung des Entwicklers gestattet. © Entwickelt von M_Viper. Alle Rechte vorbehalten.


Übersicht

Dieses Repository enthält zwei aufeinander abgestimmte Plugins:

Plugin Plattform Zweck
StatusAPI BungeeCord (Proxy) HTTP-API, AntiBot, Chat, Moderation, Verify, Forum
BackendJoinGuard Paper / Spigot (Backend) Verhindert Direktjoins am Proxy vorbei

BackendJoinGuard kann eigenständig betrieben werden oder seine Schutzregeln automatisch per Sync von StatusAPI beziehen.


Inhaltsverzeichnis


StatusAPI

Module

Core & HTTP-API
  • Eigener HTTP-Server über konfigurierbaren Port (statusapi.port, Standard: 9191)
  • JSON-Statusausgabe mit Spieler-, Prefix-, Bedrock-, Netzwerk- und Systemdaten
  • POST-Endpunkte für Broadcast, Broadcast-Abbruch, Forum-Notify und Attack-Events
NetworkInfo
  • Live-Snapshot für Proxy, Uptime, RAM, CPU, Backends und Ping
  • Ingame-Befehl /netinfo für Statusprüfung
  • Discord-Webhook-Meldungen bei: Server-Start/-Stop, hoher RAM-/Spieler-Auslastung, Attack Detected/Stopped
  • Embed-Modus konfigurierbar: compact oder detailed
AntiBot
  • CPS-basierte Attack-Erkennung mit konfigurierbaren Start- und Stop-Schwellen
  • Pro-IP Rate-Limit mit temporären IP-Blocks
  • Optionaler VPN/Proxy/Hosting-Check via ip-api
  • Profile: strict und high-traffic
  • Laufzeitverwaltung über /antibot (Status, Blocks leeren, IP entblocken, Profil wechseln, Reload)
Chat & Moderation
  • Mehrere Chat-Kanäle, PM-System mit Reply, Ignore-System
  • Mute/Unmute, Mentions, Emoji-Unterstützung, SocialSpy
  • Chat-History und Admin-Infos
  • Report-System inkl. Close-Flow
  • Weiterleitung an Discord und Telegram (konfigurierbar)
Verify, Forum & CommandBlocker
  • Spieler-Verifizierung über Token
  • Forum-Linking und Forum-Benachrichtigungen ingame
  • Command-Blocker mit /cb-Verwaltung
AutoMessage & CustomCommands
  • Rotierende Auto-Nachrichten aus messages.txt (intervallgesteuert)
  • Eigene Command-Mappings über customcommands.yml
  • Optionaler /chat-Command (steuerbar per Konfiguration)
  • Reload via /bcmds

HTTP API

Basis-URL: http://<proxy-ip>:9191 Port konfigurierbar über statusapi.port.

Methode Pfad Beschreibung Auth
GET / Voller Netzwerk-Status als JSON
POST /broadcast Broadcast senden oder planen x-api-key
POST /broadcast/cancel Geplanten Broadcast abbrechen x-api-key
POST /cancel Alias für /broadcast/cancel x-api-key
POST /forum/notify Forum-Notification an Proxy x-api-key / Forum-Secret
POST /network/attack Attack-Event an Discord-Webhook melden x-api-key
GET /network/backendguard/config Guard-Regeln für BackendJoinGuard Sync x-api-key

Commands (StatusAPI)

Netzwerk & Schutz

Command Beschreibung
/netinfo Netzwerk- und Systemstatus anzeigen
/antibot status AntiBot-Status anzeigen
/antibot clearblocks Alle aktiven IP-Blocks entfernen
/antibot unblock <ip> Einzelne IP entblocken
/antibot profile <strict|high-traffic> Profil wechseln und speichern
/antibot reload AntiBot-Konfiguration neu laden

Verify & Forum

Command Beschreibung
/verify <token> Account verifizieren
/forumlink <token> Account mit Forum verknüpfen
/forum Forum-Benachrichtigungen anzeigen

Chat, Support & Moderation

Command Beschreibung
/channel [kanal] Kanal wechseln oder Liste anzeigen
/helpop <text> Support-Anfrage an Team
/msg <spieler> <text> Private Nachricht senden
/r <text> Auf letzte PM antworten
/ignore <spieler> Spieler ignorieren
/unignore <spieler> Ignore entfernen
/chatmute <spieler> [minuten] Spieler muten
/chatunmute <spieler> Mute aufheben
/chataus Chat-Empfang toggeln
/broadcast <text> Broadcast an alle senden
/emoji Emoji-Liste anzeigen
/socialspy PMs mitlesen toggeln
/chatreload Chat-Konfiguration neu laden
/chatinfo <spieler> Admin-Infos zu einem Spieler
/chathist [spieler] [anzahl] Chat-History anzeigen
/mentions Mention-Benachrichtigungen toggeln
/chatbypass Nächste Nachricht am Plugin vorbei senden
/discordlink, /dlink Discord-Linktoken erstellen
/telegramlink, /tlink Telegram-Linktoken erstellen
/unlink <discord|telegram|all> Verknüpfung aufheben
/report <spieler> <grund> Spieler melden
/reports [all] Reports ansehen
/reportclose <id> Report schließen

CommandBlocker

Command Beschreibung
/cb add <command> Command blockieren
/cb remove <command> Blockierung aufheben
/cb list Alle blockierten Commands anzeigen
/cb reload CommandBlocker neu laden

CustomCommands

Command Beschreibung
/bcmds customcommands.yml neu laden
/chat <text> Text als Chat senden oder Slash-Command ausführen

Permissions (StatusAPI)

Permission Beschreibung
statusapi.update.notify Update-Benachrichtigungen empfangen
statusapi.netinfo Zugriff auf /netinfo
statusapi.antibot Zugriff auf /antibot
statusapi.automessage Zugriff auf /automessage reload
statusapi.bcmds Zugriff auf CustomCommand-Funktionen
chat.channel.local Zugang zum Local-Kanal
chat.channel.trade Zugang zum Trade-Kanal
chat.channel.staff Zugang zum Staff-Kanal
chat.helpop.receive HelpOp-Nachrichten empfangen
chat.mute Spieler muten / unmuten
chat.broadcast Broadcasts senden
chat.socialspy Private Nachrichten mitlesen
chat.admin.bypass Nicht mutbar / nicht blockierbar
chat.admin.notify Benachrichtigungen über Mutes und Blocks
chat.report Spieler reporten (/report)
chat.color Farbcodes (&a, &b, …) im Chat nutzen
chat.color.format Formatierungen (&l, &o, &n, …) im Chat nutzen
chat.filter.bypass Anti-Spam, Caps und Blacklist umgehen
commandblocker.bypass Command-Blocker umgehen
commandblocker.admin CommandBlocker verwalten (/cb)

Konfiguration (StatusAPI)

verify.properties Core, Verify, Broadcast, Forum, Port

statusapi.port=9191
wp_verify_url=https://deine-domain.tld
server.<Name>.id=<id>
server.<Name>.secret=<secret>
broadcast.enabled=true
broadcast.api_key=<key>
forum.enabled=true
forum.api_secret=<key>
automessage.enabled=true
automessage.interval=300
automessage.file=messages.txt
automessage.prefix=&8[&bInfo&8]

network-guard.properties NetworkInfo, Webhook, AntiBot, BackendJoinGuard

networkinfo.enabled=true
networkinfo.webhook.enabled=true
networkinfo.webhook.url=<discord_webhook>
networkinfo.webhook.embed_mode=detailed
networkinfo.attack.api_key=<attack_api_key>

antibot.enabled=true
antibot.profile=high-traffic

backendguard.enforcement_enabled=true
backendguard.log_blocked_attempts=true
backendguard.kick_message=&cBitte verbinde dich nur ueber den Proxy-Server.
backendguard.allowed_proxy_ips=127.0.0.1,::1
backendguard.allowed_proxy_cidrs=10.0.0.0/24
backendguard.sync.api_key=<sync_key>

Weitere Konfigurationsdateien

Datei Inhalt
chat.yml Kanäle, Formate, PM, Reports, Filter, Logging, Discord/Telegram, Linking
blocked-commands.yml Liste der geblockten Commands
customcommands.yml Eigene Befehle, Aliase, Sender-Typen
messages.txt AutoMessage-Texte (Zeilen mit # und Leerzeilen werden ignoriert)

BackendJoinGuard

BackendJoinGuard verhindert, dass Spieler Backend-Server direkt betreten und damit den Proxy-Schutz umgehen. Das Plugin prüft beim Login die Quell-IP nur konfigurierte Proxy-IPs oder CIDR-Netze werden durchgelassen.

Wichtig: BackendJoinGuard kommt auf jeden Backend-Server, nicht auf den Proxy.


Betriebsarten

Modus Beschreibung
Standalone Nutzt ausschließlich die lokale config.yml
StatusAPI Sync Lädt Schutzregeln regelmäßig von StatusAPI; lokale Werte bleiben als Fallback erhalten

Commands & Permissions (BackendJoinGuard)

Command Permission Beschreibung
/backendguard reload backendguard.admin Config neu laden und bei aktivem Sync sofort neu abrufen

Konfiguration (BackendJoinGuard)

Datei: plugins/BackendJoinGuard/config.yml

Lokaler Schutz

enforcement-enabled: true
log-blocked-attempts: true
kick-message: "&cBitte verbinde dich nur ueber den Proxy-Server."

allowed-proxy-ips:
  - "127.0.0.1"
  - "::1"
  - "185.123.45.67"

allowed-proxy-cidrs:
  - "10.0.0.0/24"

StatusAPI Sync

statusapi-sync:
  enabled: true
  base-url: "http://127.0.0.1:9191"
  endpoint-path: "/network/backendguard/config"
  api-key: "DEIN_SYNC_KEY"
  interval-seconds: 60
  log-sync-errors: true

Typische Szenarien

Szenario allowed-proxy-ips base-url
Alles auf einer Maschine 127.0.0.1, ::1 http://127.0.0.1:9191
Proxy auf separatem Host 185.123.45.67 http://185.123.45.67:9191
Internes Netz (CIDR) 10.0.0.10 + CIDR 10.0.0.0/24 http://10.0.0.10:9191

Voraussetzungen & Installation

Voraussetzungen

Komponente Pflicht Optional
BungeeCord Proxy
Minecraft 1.20+
Java 8+
LuckPerms
Geyser-BungeeCord
Discord Webhook / Bot
Telegram Bot
WordPress / Forum-Backend

StatusAPI installieren (Proxy)

1. StatusAPI.jar  →  plugins/ auf dem Proxy
2. Proxy starten  →  Konfigurationsdateien werden erzeugt
3. Proxy stoppen
4. Konfigurationen anpassen:
     verify.properties · chat.yml · network-guard.properties · blocked-commands.yml
5. Proxy neu starten

BackendJoinGuard installieren (Backend)

1. BackendJoinGuard.jar  →  plugins/ auf jedem Backend-Server
2. Server starten  →  config.yml wird erzeugt
3. config.yml anpassen
4. Server neu starten  oder  /backendguard reload ausführen

StatusPulse Companion (WordPress)

Im Repository unter wordpress/statuspulse liegt ein WordPress-Admin-Plugin. Damit lassen sich StatusAPI-Verbindung, Attack-Key und Attack-Testflows direkt im WordPress-Backend bedienen. Erfordert StatusAPI ≥ 4.1.0.


Troubleshooting

StatusAPI

Problem Mögliche Ursachen & Lösung
API nicht erreichbar statusapi.port prüfen · Firewall / Portfreigabe prüfen · Proxy-Konsole auf HTTP-Server-Startmeldung prüfen
Attack-Meldungen fehlen in Discord networkinfo.webhook.enabled und .url prüfen · networkinfo.attack.enabled und api_key-Header prüfen
AntiBot zu hart / zu weich antibot.profile auf strict oder high-traffic setzen · Schwellwerte in network-guard.properties feinjustieren · /antibot reload ausführen

BackendJoinGuard

Problem Mögliche Ursachen & Lösung
Spieler werden trotz Proxy geblockt Proxy-IP in allowed-proxy-ips korrekt eintragen · Bei mehreren Segmenten CIDR-Eintrag nutzen · Proxy-Konfiguration (Velocity/BungeeCord) prüfen
Sync mit StatusAPI funktioniert nicht base-url und Port prüfen · api-key muss identisch zu backendguard.sync.api_key sein · log-sync-errors: true setzen und Konsole prüfen
Description
No description provided
Readme 67 MiB
4.1.4 Latest
2026-05-31 10:39:59 +00:00
Languages
Java 100%