259 lines
7.9 KiB
Markdown
259 lines
7.9 KiB
Markdown
# StatusAPI
|
|
|
|

|
|

|
|

|
|

|
|

|
|
|
|
StatusAPI ist ein modulares BungeeCord-Plugin für Netzwerkbetrieb, Moderation und Integrationen.
|
|
Der Fokus liegt auf Live-Status, Chat/Support, Verifizierung, Forum-Bridge, Broadcasts und Network-Guard mit AntiBot.
|
|
|
|
## 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, ganz oder teilweise, ist ausschließlich mit vorheriger schriftlicher Genehmigung des Entwicklers gestattet.
|
|
© Entwickelt von M_Viper. Alle Rechte vorbehalten.
|
|
|
|
## Was das Plugin kann
|
|
|
|
### Core und API
|
|
|
|
- Eigener HTTP-Server über konfigurierbaren Port
|
|
- JSON-Statusausgabe mit Spieler-, Prefix-, Bedrock-, Netzwerk- und Systemdaten
|
|
- POST-Endpunkte für Broadcast, Broadcast-Abbruch, Forum-Notify und Attack-Events
|
|
|
|
### NetworkInfo Modul
|
|
|
|
- Live-Snapshot für Proxy, Uptime, RAM, CPU, Backends und Ping
|
|
- Ingame-Befehl für Statusprüfung
|
|
- Discord-Webhook-Meldungen für:
|
|
- Start und Stop
|
|
- hohe RAM-Auslastung
|
|
- hohe Spieler-Auslastung
|
|
- Attack Detected und Attack Stopped
|
|
- Embed-Modus über Konfiguration:
|
|
- compact
|
|
- detailed
|
|
|
|
### AntiBot Modul
|
|
|
|
- CPS-basierte Attack-Erkennung mit Start- und Stop-Schwellen
|
|
- Pro-IP Rate-Limit mit temporären IP-Blocks
|
|
- Optionaler VPN/Proxy/Hosting-Check über ip-api
|
|
- Profile strict und high-traffic
|
|
- Laufzeitverwaltung per Command:
|
|
- Status anzeigen
|
|
- Blocks leeren
|
|
- einzelne IP entblocken
|
|
- Profil wechseln und speichern
|
|
- Konfiguration neu laden
|
|
|
|
### Chat und Moderation
|
|
|
|
- Mehrere Chat-Kanäle
|
|
- PM-System mit Reply
|
|
- Ignore-System
|
|
- Mute und Unmute
|
|
- Mentions
|
|
- Emoji-Unterstützung
|
|
- SocialSpy
|
|
- Chat-History und Admin-Infos
|
|
- Report-System inklusive Close-Flow
|
|
- Weiterleitung an Discord und Telegram (konfigurierbar)
|
|
|
|
### Verify, Forum und CommandBlocker
|
|
|
|
- Spieler-Verifizierung über Token
|
|
- Forum-Linking und Forum-Benachrichtigungen im Spiel
|
|
- Command-Blocker mit /cb Verwaltung
|
|
|
|
### AutoMessage und CustomCommands
|
|
|
|
- Rotierende Auto-Nachrichten aus Datei (intervallgesteuert)
|
|
- Eigene Command-Mappings über `customcommands.yml`
|
|
- Optionaler `/chat`-Command (steuerbar per Konfiguration)
|
|
- Reload der CustomCommands über `/bcmds`
|
|
|
|
## Voraussetzungen
|
|
|
|
- BungeeCord Proxy
|
|
- Minecraft 1.20+
|
|
- Java 8+
|
|
- Optional:
|
|
- LuckPerms
|
|
- Geyser-BungeeCord
|
|
- Discord Webhook/Bot
|
|
- Telegram Bot
|
|
- WordPress/Forum-Backend
|
|
|
|
## Installation
|
|
|
|
1. JAR nach plugins kopieren.
|
|
2. Proxy starten, damit Dateien erzeugt werden.
|
|
3. Proxy stoppen.
|
|
4. Konfigurationen anpassen:
|
|
- plugins/StatusAPI/verify.properties
|
|
- plugins/StatusAPI/chat.yml
|
|
- plugins/StatusAPI/network-guard.properties
|
|
- plugins/StatusAPI/blocked-commands.yml
|
|
5. Proxy neu starten.
|
|
|
|
## HTTP API
|
|
|
|
Standard-Port ist 9191 und wird über statusapi.port gesetzt.
|
|
|
|
| Methode | Pfad | Zweck | Auth |
|
|
|---|---|---|---|
|
|
| GET | / | Voller Status als JSON | keine |
|
|
| POST | /broadcast | Broadcast senden oder planen | x-api-key aus Broadcast-Konfiguration |
|
|
| 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 bzw. Forum-Secret-Flow |
|
|
| POST | /network/attack | Attack Detected/Stopped an Discord-Webhook melden | x-api-key aus networkinfo.attack.api_key |
|
|
|
|
## Commands
|
|
|
|
### Netzwerk und Schutz
|
|
|
|
| Command | Beschreibung |
|
|
|---|---|
|
|
| /netinfo | Zeigt Netzwerk- und Systemstatus |
|
|
| /antibot status | Zeigt AntiBot Status |
|
|
| /antibot clearblocks | Entfernt aktive IP-Blocks |
|
|
| /antibot unblock <ip> | Entblockt eine IP |
|
|
| /antibot profile <strict\|high-traffic> | Wechselt Profil und speichert Werte |
|
|
| /antibot reload | Lädt AntiBot-Konfiguration neu |
|
|
|
|
### Verify und Forum
|
|
|
|
| Command | Beschreibung |
|
|
|---|---|
|
|
| /verify <token> | Verifiziert den Account |
|
|
| /forumlink <token> | Verknüpft Account mit Forum |
|
|
| /forum | Zeigt Forum-Benachrichtigungen |
|
|
|
|
### Chat, Support und Moderation
|
|
|
|
| Command | Beschreibung |
|
|
|---|---|
|
|
| /channel [kanal] | Kanal wechseln oder Liste zeigen |
|
|
| /helpop <text> | Support-Anfrage an Team |
|
|
| /msg <spieler> <text> | Private Nachricht |
|
|
| /r <text> | Antwort auf letzte PM |
|
|
| /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 |
|
|
| /emoji | Emoji-Liste |
|
|
| /socialspy | PMs mitlesen |
|
|
| /chatreload | Chat-Konfig neu laden |
|
|
| /chatinfo <spieler> | Admin-Infos zu Spieler |
|
|
| /chathist [spieler] [anzahl] | Chat-History |
|
|
| /mentions | Mention-Benachrichtigungen toggeln |
|
|
| /chatbypass | Nächste Nachricht Plugin-bypass |
|
|
| /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 | Blockierte Commands anzeigen |
|
|
| /cb reload | CommandBlocker neu laden |
|
|
|
|
### CustomCommands
|
|
|
|
| Command | Beschreibung |
|
|
|---|---|
|
|
| /bcmds | Lädt `customcommands.yml` neu |
|
|
| /chat <text> | Sendet Text als Chat oder führt Slash-Command aus (falls aktiviert) |
|
|
|
|
## Wichtige Konfigurationen
|
|
|
|
### verify.properties
|
|
|
|
Core, Verify, Broadcast, Forum und Port.
|
|
|
|
Typische Schlüssel:
|
|
|
|
- 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, Attack-API und AntiBot.
|
|
|
|
Typische Schlüssel:
|
|
|
|
- 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
|
|
|
|
### chat.yml
|
|
|
|
Chat-Kanäle, Formate, PM, Reports, Filter, Logging, Discord/Telegram, Account-Linking.
|
|
|
|
### blocked-commands.yml
|
|
|
|
Liste der geblockten Commands für CommandBlocker.
|
|
|
|
### customcommands.yml
|
|
|
|
Konfiguration für eigene Befehle, Aliase, Sender-Typen und Command-Listen.
|
|
|
|
## AutoMessage Datei
|
|
|
|
Nachrichten für das AutoMessage-Modul liegen standardmäßig in `messages.txt`.
|
|
Leere Zeilen und Zeilen mit `#` werden ignoriert.
|
|
|
|
## StatusPulse Companion (WordPress)
|
|
|
|
Im Repository liegt zusätzlich ein WordPress-Admin-Companion unter wordpress/statuspulse.
|
|
Damit können Admins die StatusAPI-Verbindung, Attack-Key und Attack-Testflows direkt im WordPress-Backend bedienen.
|
|
Voraussetzung dafür ist StatusAPI ab Version 4.1.0.
|
|
|
|
## Troubleshooting
|
|
|
|
### API nicht erreichbar
|
|
|
|
- statusapi.port prüfen
|
|
- Firewall/Hosting-Portfreigabe prüfen
|
|
- Proxy-Konsole auf Startmeldung des HTTP-Servers prüfen
|
|
|
|
### Attack-Meldungen kommen nicht in Discord an
|
|
|
|
- networkinfo.webhook.enabled prüfen
|
|
- networkinfo.webhook.url prüfen
|
|
- networkinfo.attack.enabled prüfen
|
|
- networkinfo.attack.api_key Header prüfen
|
|
|
|
### AntiBot greift zu hart oder zu weich
|
|
|
|
- antibot.profile auf strict oder high-traffic setzen
|
|
- Schwellwerte in network-guard.properties feiner einstellen
|
|
- /antibot reload ausführen
|
|
|