2026-05-21 14:25:49 +02:00
2026-05-21 14:25:49 +02:00
2026-05-10 20:32:23 +00:00

StatusAPI

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


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, Scoreboard
StatusAPIBridge Paper / Spigot (Backend) Sendet Spielerdaten (Health, Kompass, Position, Ticket-Daten etc.) an StatusAPI
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
ScoreboardModule
  • Vollständig konfigurierbares BungeeCord-Sidebar-Scoreboard
  • Flüssige Wave-Animation im Titel (10 fps, HSB-Farbwelle oder eigene Farben)
  • Gradient-Placeholder für farbige Zeilen
  • News-Ticker mit konfigurierbarem Text, Breite und Geschwindigkeit
  • Zeilenrotation bis zu 20 Varianten pro Zeile
  • Separates Admin-Scoreboard und Supporter-Scoreboard mit eigenen Zeilen und Permissions
  • /sb-Command zum Ein-/Ausblenden und Umschalten zwischen Player/Supporter/Admin-Board
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
POST /scoreboard/health Spieler-HP aktualisieren intern
POST /scoreboard/compass Spieler-Yaw aktualisieren intern
POST /scoreboard/tps Server-TPS aktualisieren intern
POST /player/world Spieler-Welt aktualisieren intern
POST /player/data Koordinaten, Gamemode, Exp, Food, Speed intern
POST /ticket/update TicketSystem-Daten aktualisieren (von StatusAPIBridge) intern

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)
scoreboard.properties Scoreboard-Konfiguration (siehe ScoreboardModule)

ScoreboardModule

Das ScoreboardModule zeigt ein vollständig konfigurierbares Sidebar-Scoreboard auf BungeeCord-Ebene. Spielerdaten werden über StatusAPIBridge vom Backend-Server in Echtzeit geliefert.

Es gibt drei separate Scoreboards, die automatisch anhand der Spieler-Permission zugewiesen werden:

Board Permission Beschreibung
Spieler-Board (keine) Standard-Scoreboard für alle Spieler
Supporter-Board statusapi.scoreboard.supporter Zeigt Ticket-Übersicht und Support-relevante Infos
Admin-Board statusapi.scoreboard.admin Vollständige Server- und Ticket-Statistiken

Admin hat Vorrang vor Supporter hat ein Spieler beide Permissions, sieht er das Admin-Board.


Features (Scoreboard)

  • Wave-Titel-Animation flüssige HSB-Farbwelle (10 fps), Farben frei konfigurierbar
  • Gradient-Placeholder %gradient:FARBE1:FARBE2:TEXT% für farbige Zeilen
  • News-Ticker konfigurierbarer Lauftext von rechts nach links (10 fps), nur im Spieler-Board
  • Zeilenrotation pro Zeile bis zu 20 Varianten, wechseln automatisch
  • Drei Scoreboards Spieler, Supporter, Admin je eigenes Objective, Titel und Zeilen
  • Kompass Himmelsrichtungs-Anzeige mit farbigen Buchstaben, zentriert
  • Herzen & Hunger ♥♥♥♥♥♡♡♡♡♡ / ◆◆◆◆◆◇◇◇◇◇
  • Separator-Styles frei wählbar (Striche, Wellen, Gradient, leer, …)
  • Toggle-Command /sb zum Ein-/Ausblenden, /sb admin / /sb player zum Umschalten

Placeholders

Spieler-Placeholders (werden von StatusAPIBridge geliefert)

Placeholder Beschreibung
%player% Spielername
%rank% Rang (LuckPerms Prefix)
%server% Aktueller Server (erster Buchstabe groß)
%health% Leben als Herz-Symbole ♥♥♥♡♡
%hearts% Leben als Zahl
%food% Hunger als Zahl (020)
%foodsym% Hunger als Symbole ◆◆◆◇◇
%compass% Kompass-Balken zentriert
%ping% Ping in ms
%online% Anzahl Online-Spieler
%maxplayers% Max. Spieleranzahl
%money% Kontostand (Economy)
%time% Aktuelle Uhrzeit
%date% Aktuelles Datum
%playtime% Spielzeit der Session TT HH:MM:SS
%x% %y% %z% Koordinaten
%world% Welt-Name
%gamemode% Spielmodus (SURVIVAL, CREATIVE, …)
%exp% XP-Level
%speed% Laufgeschwindigkeit
%news% News-Ticker (nur Spieler-Board)
%line% Trennlinie (konfigurierbar)

Admin-Placeholders (BungeeCord-seitig)

Placeholder Beschreibung
%tps% Server-TPS
%ram% RAM-Nutzung
%proxymem% Proxy RAM
%uptime% Proxy-Laufzeit HH:MM:SS
%servers% Anzahl verbundener Backend-Server

TicketSystem-Placeholders

Werden alle 5 Sekunden von StatusAPIBridge über POST /ticket/update an StatusAPI gesendet. Voraussetzung: TicketSystem läuft auf demselben Backend-Server wie StatusAPIBridge.

Placeholder Verfügbar für Beschreibung
%ticket_my_open% Spieler, Supporter, Admin Eigene aktive Tickets (OPEN + CLAIMED + FORWARDED)
%ticket_open% Supporter, Admin Alle unbearbeiteten Tickets (Status: OPEN)
%ticket_claimed% Admin Alle Tickets in Bearbeitung (Status: CLAIMED)
%ticket_rating_good% Admin Positive Bewertungen gesamt
%ticket_rating_bad% Admin Negative Bewertungen gesamt
%ticket_rating_pct% Admin Prozentsatz positiver Bewertungen (oder - wenn keine)

Spezial-Placeholders

Placeholder Beschreibung
%gradient:F1:F2:TEXT% Farbverlauf von F1 nach F2 über TEXT (beliebig viele Stopps)
%line% Trennlinie aus scoreboard.separator
%news% News-Ticker-Fenster

Farben für Gradient: Hex (#RRGGBB, &#RRGGBB) oder Minecraft-Codes (&0&f).


Konfiguration (Scoreboard)

Datei: plugins/StatusAPI/scoreboard.properties

scoreboard.enabled=true
scoreboard.update_interval=500          # Millisekunden, min. 250
scoreboard.title=&lViper Network        # Kein Farbcode → Wave übernimmt Farbe
scoreboard.admin_title=&l[Admin] Panel
scoreboard.supporter_title=&l[Support] Panel
scoreboard.admin_permission=statusapi.scoreboard.admin
scoreboard.supporter_permission=statusapi.scoreboard.supporter

# Wave-Animation
scoreboard.rainbow.enabled=true
scoreboard.rainbow.mode=wave            # wave | chars | line
scoreboard.rainbow.speed=10             # 1=sehr langsam, 10=normal, 50=schnell
scoreboard.rainbow.colors=#FF0000,#FF6600,#FFFF00,#00FF00,#00FFFF,#0000FF,#FF00FF

# News-Ticker (nur Spieler-Board)
scoreboard.news.text=Willkommen auf Viper Network!
scoreboard.news.prefix=&8[&6News&8] &r
scoreboard.news.width=20
scoreboard.news.speed=1

# Zeilenrotation (Sekunden pro Variante)
scoreboard.rotation_interval=4

# Separator für %line%
scoreboard.separator=&8&m--------------------

# ===================================================
# SPIELER-ZEILEN (max. 15 sichtbar)
# scoreboard.lines.N       = Variante 1 (dauerhaft)
# scoreboard.lines.N.2     = Variante 2 (rotiert nach rotation_interval Sekunden)
# ===================================================
scoreboard.lines.1=%line%
scoreboard.lines.2=%gradient:&b:&f:&b:&l> Player Info:%
scoreboard.lines.3=&7%rank% &f%player%
scoreboard.lines.4=
scoreboard.lines.5=&7Spielzeit: &f%playtime%
scoreboard.lines.5.2=&7Leben: &c%health%
scoreboard.lines.5.3=&7Hunger: &#8B4513%foodsym%
scoreboard.lines.6=
scoreboard.lines.7=%gradient:&b:&f:&b:&l> Money:%
scoreboard.lines.8=&a$%money%
scoreboard.lines.9=
scoreboard.lines.10=%gradient:&b:&f:&b:&l> Server Info:%
scoreboard.lines.11=&f%server%
scoreboard.lines.11.2=&7Ping: &f%ping%ms &8| &7Online: &f%online%
scoreboard.lines.12=
scoreboard.lines.13=%news%
scoreboard.lines.14=%line%
scoreboard.lines.15=&7%compass%

# ===================================================
# SUPPORTER-ZEILEN
# ===================================================
scoreboard.supporter_lines.1=%line%
scoreboard.supporter_lines.2=%gradient:&6:&f:&6:&l> Support Panel:%
scoreboard.supporter_lines.3=&7%rank% &f%player%
scoreboard.supporter_lines.4=&7Ping: &f%ping%ms &8| &7%server%
scoreboard.supporter_lines.5=
scoreboard.supporter_lines.6=%gradient:&6:&f:&6:&l> Tickets:%
scoreboard.supporter_lines.7=&7Offen: &c%ticket_open%
scoreboard.supporter_lines.8=&7Meine Tickets: &e%ticket_my_open%
scoreboard.supporter_lines.9=
scoreboard.supporter_lines.10=%gradient:&6:&f:&6:&l> Server Info:%
scoreboard.supporter_lines.11=&7Online: &f%online% &8/ &7%maxplayers%
scoreboard.supporter_lines.12=&7Zeit: &f%time%
scoreboard.supporter_lines.13=
scoreboard.supporter_lines.14=%line%
scoreboard.supporter_lines.15=&7%compass%

# ===================================================
# ADMIN-ZEILEN
# ===================================================
scoreboard.admin_lines.1=%line%
scoreboard.admin_lines.2=%gradient:&b:&f:&b:&l> Player Info:%
scoreboard.admin_lines.3=&7%rank% &f%player%
scoreboard.admin_lines.4=&7Gamemode: &f%gamemode%
scoreboard.admin_lines.5=&7Leben: &c%health%
scoreboard.admin_lines.5.2=&7Hunger: &#8B4513%foodsym%
scoreboard.admin_lines.6=
scoreboard.admin_lines.7=%gradient:&b:&f:&b:&l> Server Info:%
scoreboard.admin_lines.8=&f%server% &8| &7RAM: &e%ram%
scoreboard.admin_lines.8.2=&7Proxy: &f%uptime%
scoreboard.admin_lines.9=
scoreboard.admin_lines.10=&7TPS: &a%tps%
scoreboard.admin_lines.11=
scoreboard.admin_lines.12=%gradient:&b:&f:&b:&l> Tickets:%
scoreboard.admin_lines.13=&7Offen: &c%ticket_open% &8| &7Aktiv: &e%ticket_claimed%
scoreboard.admin_lines.14=&7Bewertung: &a%ticket_rating_good%&8/&c%ticket_rating_bad% &7(&f%ticket_rating_pct%&7%&7)
scoreboard.admin_lines.15=%line%
scoreboard.admin_lines.15.2=&7%compass%

Separator-Stile

Stil Wert
Standard &8&m--------------------
Doppelt &8&m====================
Wellig &8&m~~~~~~~~~~~~~~~~~~~~
Dünn &8&m────────────────────
Dick &8&m════════════════════
Diamanten &8◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
Gradient %gradient:&8:&7:────────────────────%
Leer (leer lassen)

Commands (Scoreboard)

Command Aliase Beschreibung
/scoreboard /sb, /togglesb Scoreboard ein-/ausblenden (Toggle)
/sb hide Scoreboard ausblenden
/sb show Scoreboard einblenden
/sb player Spieler-Scoreboard anzeigen
/sb supporter Supporter-Scoreboard anzeigen (Permission erforderlich)
/sb admin Admin-Scoreboard anzeigen (Permission erforderlich)

Permissions:

Permission Beschreibung
statusapi.scoreboard.admin Admin-Scoreboard + /sb admin
statusapi.scoreboard.supporter Supporter-Scoreboard (automatisch, kein Command nötig)

StatusAPIBridge

StatusAPIBridge läuft auf jedem Backend-Server (Spigot/Paper) und sendet Spielerdaten in Echtzeit an StatusAPI.

Gesendete Daten

Datenpunkt Endpunkt Beschreibung
Health POST /scoreboard/health Aktuelle HP
Kompass (Yaw) POST /scoreboard/compass Blickrichtung (0360°)
TPS POST /scoreboard/tps Server-TPS
Welt POST /player/world Welt-Name
Position, Gamemode, Exp, Food, Speed POST /player/data Erweiterte Spielerdaten
TicketSystem-Daten POST /ticket/update Ticket-Statistiken (alle 5 Sekunden, falls TicketSystem installiert)

TicketSystem-Daten (automatisch)

Ist das TicketSystem-Plugin auf demselben Backend-Server installiert, liest StatusAPIBridge die Daten per Reflection und sendet sie alle 5 Sekunden:

  • Globale Werte (Anzahl offener Tickets, Tickets in Bearbeitung, Bewertungen) nur bei Änderung
  • Pro Spieler: Anzahl eigener aktiver Tickets (OPEN + CLAIMED + FORWARDED)

Es wird keine harte Abhängigkeit zum TicketSystem benötigt fehlt es, passiert nichts.

Konfiguration (StatusAPIBridge)

Datei: plugins/StatusAPIBridge/config.yml

statusapi-url: "http://127.0.0.1:9191"
scoreboard-sync-interval-ticks: 20   # Ticks zwischen Daten-Pushes (20 = 1s)
compass-threshold: 0.5               # Minimale Yaw-Änderung für Kompass-Update (Grad)

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

TicketSystem-Integration

StatusAPI und StatusAPIBridge unterstützen eine optionale Integration mit dem TicketSystem-Plugin. Die Verbindung ist vollständig Reflection-basiert es sind keine harten Abhängigkeiten nötig.

Architektur

TicketSystem (Bukkit)
    ↓  Reflection (alle 5s)
StatusAPIBridge  →  POST /ticket/update  →  StatusAPI (BungeeCord)  →  Scoreboard

Voraussetzungen

  • TicketSystem ist auf demselben Backend-Server installiert wie StatusAPIBridge
  • StatusAPIBridge sendet die Daten automatisch keine zusätzliche Konfiguration nötig

Verfügbare Placeholder im Scoreboard

Placeholder Für wen Beschreibung
%ticket_my_open% Spieler, Supporter, Admin Eigene aktive Tickets (OPEN + CLAIMED + FORWARDED)
%ticket_open% Supporter, Admin Alle offenen Tickets (noch unbearbeitet)
%ticket_claimed% Admin Alle Tickets in Bearbeitung
%ticket_rating_good% Admin Positive Bewertungen gesamt
%ticket_rating_bad% Admin Negative Bewertungen gesamt
%ticket_rating_pct% Admin Prozentsatz positiver Bewertungen

PlaceholderAPI (PAPI)

Das TicketSystem selbst stellt über die Klasse TicketPlaceholderExpansion ebenfalls PAPI-Placeholder bereit (Prefix: ticketsystem):

PAPI-Placeholder Beschreibung
%ticketsystem_my_open% Eigene aktive Tickets des Spielers
%ticketsystem_admin_open% Alle offenen Tickets (Status: OPEN)
%ticketsystem_admin_claimed% Alle Tickets in Bearbeitung (Status: CLAIMED)
%ticketsystem_admin_rating_good% Positive Bewertungen gesamt
%ticketsystem_admin_rating_bad% Negative Bewertungen gesamt
%ticketsystem_admin_rating_total% Alle Bewertungen gesamt
%ticketsystem_admin_rating_percent% Prozentsatz positiver Bewertungen

Diese PAPI-Placeholder sind unabhängig von StatusAPI und können in jedem PAPI-kompatiblen Plugin genutzt werden (z.B. andere Scoreboard-Plugins, Chat-Plugins).


Voraussetzungen & Installation

Voraussetzungen

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

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 · scoreboard.properties
5. Proxy neu starten

StatusAPIBridge installieren (Backend)

1. StatusAPIBridge.jar  →  plugins/ auf jedem Backend-Server
2. Server starten       →  config.yml wird erzeugt
3. config.yml anpassen  →  statusapi-url auf Proxy-IP setzen
4. Server 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

ScoreboardModule

Problem Mögliche Ursachen & Lösung
Scoreboard verschwindet nach Join scoreboard.update_interval muss mind. 250ms sein nicht auf 1 setzen
Wave-Titel hängt / springt scoreboard.rainbow.speed reduzieren · Empfohlen: 1030
Hex-Farben werden nicht angezeigt Titel ohne feste Farb-Codes schreiben: &lViper Network statt &6&lViper Network
News-Ticker stoppt kurz Normal 4-Zeichen-Pause zwischen Durchläufen · scoreboard.news.speed erhöhen
Kompass nicht mittig COMPASS_WIN in der Quellcode-Konstante anpassen (Standard: 19)
too many queued packets update_interval zu niedrig auf mind. 500ms erhöhen
Supporter-Board wird nicht angezeigt Permission statusapi.scoreboard.supporter prüfen · scoreboard.supporter_permission in scoreboard.properties prüfen
Supporter sieht Admin-Board Normal Admin-Permission hat Vorrang über Supporter-Permission

StatusAPIBridge

Problem Mögliche Ursachen & Lösung
Herzen zeigen immer voll StatusAPIBridge nicht installiert oder statusapi-url falsch konfiguriert
Kompass bewegt sich nicht Bridge läuft, aber Spieler steht still PlayerMoveEvent sendet nur bei Bewegung
Ticket-Placeholder zeigen immer 0 TicketSystem nicht auf demselben Server wie StatusAPIBridge · Konsole auf [TicketPush]-Fehler prüfen

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
Sync mit StatusAPI funktioniert nicht base-url und Port prüfen · api-key muss identisch zu backendguard.sync.api_key sein
Description
No description provided
Readme 67 MiB
4.1.4 Latest
2026-05-31 10:39:59 +00:00
Languages
Java 100%