Files
StatusAPI/README.md
2026-04-02 06:11:50 +00:00

259 lines
7.9 KiB
Markdown

# StatusAPI
![Version](https://img.shields.io/badge/version-4.1.0-0B63CE?style=for-the-badge)
![Platform](https://img.shields.io/badge/platform-BungeeCord-D48700?style=for-the-badge)
![Minecraft](https://img.shields.io/badge/Minecraft-1.20%2B-1E9E5A?style=for-the-badge)
![Java](https://img.shields.io/badge/Java-8%2B-C0392B?style=for-the-badge)
![API](https://img.shields.io/badge/HTTP%20API-Status%20%2B%20Broadcast%20%2B%20Attack-6F42C1?style=for-the-badge)
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