README.md aktualisiert

This commit is contained in:
2026-04-02 06:11:50 +00:00
parent 7adfc8b5ab
commit 4330cedd83

404
README.md
View File

@@ -1,284 +1,258 @@
# StatusAPI # StatusAPI
![Version](https://img.shields.io/badge/version-4.1.0-blue) ![Version](https://img.shields.io/badge/version-4.1.0-0B63CE?style=for-the-badge)
![Plattform](https://img.shields.io/badge/platform-BungeeCord-orange) ![Platform](https://img.shields.io/badge/platform-BungeeCord-D48700?style=for-the-badge)
![Minecraft](https://img.shields.io/badge/Minecraft-1.20%2B-brightgreen) ![Minecraft](https://img.shields.io/badge/Minecraft-1.20%2B-1E9E5A?style=for-the-badge)
![Java](https://img.shields.io/badge/Java-8%2B-red) ![Java](https://img.shields.io/badge/Java-8%2B-C0392B?style=for-the-badge)
![Lizenz](https://img.shields.io/badge/license-All%20Rights%20Reserved-black) ![API](https://img.shields.io/badge/HTTP%20API-Status%20%2B%20Broadcast%20%2B%20Attack-6F42C1?style=for-the-badge)
Benutzerdokumentation für GitHub (Serverbetreiber, Teammitglieder und Spieler). 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.
StatusAPI ist ein BungeeCord-Plugin mit Fokus auf Chat, Moderation, Verifizierung und Brücken zu externen Plattformen wie Discord, Telegram und Forum/WordPress.
## Rechtlicher Hinweis ## Rechtlicher Hinweis
Dieses Projekt sowie alle enthaltenen Module, Quelltexte und Ressourcen dürfen nicht verändert, kopiert oder weiterverbreitet werden. 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.
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. © Entwickelt von M_Viper. Alle Rechte vorbehalten.
## Inhaltsverzeichnis ## Was das Plugin kann
1. [Features](#features) ### Core und API
2. [Voraussetzungen](#voraussetzungen)
3. [Installation](#installation)
4. [Schnellstart](#schnellstart)
5. [Befehle](#befehle)
6. [Permissions](#permissions)
7. [Konfiguration](#konfiguration)
8. [Typische Nutzung](#typische-nutzung)
9. [Fehlerbehebung](#fehlerbehebung)
## Features - 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
- Mehrere Chat-Kanäle (z. B. Global, Local, Trade, Staff) ### NetworkInfo Modul
- Private Nachrichten mit Antwortfunktion (`/msg`, `/r`)
- Ignore-System (`/ignore`, `/unignore`) - Live-Snapshot für Proxy, Uptime, RAM, CPU, Backends und Ping
- Mute-System für Teammitglieder (`/chatmute`, `/chatunmute`) - Ingame-Befehl für Statusprüfung
- Report-System (`/report`, `/reports`, `/reportclose`) - Discord-Webhook-Meldungen für:
- Mentions (`@Spieler`) mit Benachrichtigung - Start und Stop
- Emoji-Unterstützung über Platzhalter (z. B. `:smile:`) - hohe RAM-Auslastung
- Chat-Filter (Spam, Duplikate, Caps, Wortfilter) - hohe Spieler-Auslastung
- Chat-Logs und History - Attack Detected und Attack Stopped
- Discord- und Telegram-Integration - Embed-Modus über Konfiguration:
- Discord-/Telegram-Account-Verknüpfung - compact
- Website/WordPress-Verifizierung (`/verify`) - detailed
- Forum-Bridge mit Ingame-Benachrichtigungen
- Broadcast-Funktion ### AntiBot Modul
- Command-Blocker für unerwünschte Befehle
- 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 ## Voraussetzungen
- BungeeCord-Proxy - BungeeCord Proxy
- Minecraft 1.20+ - Minecraft 1.20+
- Java 8+
- Optional: - Optional:
- LuckPerms (Soft-Dependency) - LuckPerms
- Geyser-BungeeCord (Soft-Dependency) - Geyser-BungeeCord
- Discord Bot/Webhook - Discord Webhook/Bot
- Telegram Bot - Telegram Bot
- WordPress/API für Verify und Forum - WordPress/Forum-Backend
## Installation ## Installation
1. Plugin-JAR in den Plugin-Ordner deines BungeeCord-Proxys legen. 1. JAR nach plugins kopieren.
2. Proxy starten (Dateien werden automatisch erstellt). 2. Proxy starten, damit Dateien erzeugt werden.
3. Proxy stoppen. 3. Proxy stoppen.
4. Konfiguration anpassen: 4. Konfigurationen anpassen:
- `plugins/StatusAPI/verify.properties` - plugins/StatusAPI/verify.properties
- `plugins/StatusAPI/chat.yml` - plugins/StatusAPI/chat.yml
- `plugins/StatusAPI/blocked-commands.yml` (optional) - plugins/StatusAPI/network-guard.properties
- plugins/StatusAPI/blocked-commands.yml
5. Proxy neu starten. 5. Proxy neu starten.
## Schnellstart ## HTTP API
1. In `verify.properties` Port und Verify-/Forum-Daten setzen. Standard-Port ist 9191 und wird über statusapi.port gesetzt.
2. In `chat.yml` Kanäle, Formate und Rechte prüfen.
3. Discord/Telegram nur aktivieren, wenn Token und IDs korrekt sind.
4. Mit Test-Account prüfen:
- `/channel`
- `/msg`
- `/report`
- `/helpop`
- `/chatreload`
## Befehle | 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 |
### Verifizierung und Forum ## Commands
| Befehl | Beschreibung | ### Netzwerk und Schutz
| Command | Beschreibung |
|---|---| |---|---|
| `/verify <token>` | Verifiziert den Spieler gegen die Website. | | /netinfo | Zeigt Netzwerk- und Systemstatus |
| `/forumlink <token>` | Verknüpft Minecraft-Account mit dem Forum. | | /antibot status | Zeigt AntiBot Status |
| `/forum` | Zeigt ausstehende Forum-Benachrichtigungen. | | /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 |
### Chat und Kommunikation ### Verify und Forum
| Befehl | Beschreibung | | Command | Beschreibung |
|---|---| |---|---|
| `/channel [kanal]` | Kanal wechseln oder Kanäle anzeigen. | | /verify <token> | Verifiziert den Account |
| `/helpop <nachricht>` | Hilfeanfrage an das Team senden. | | /forumlink <token> | Verknüpft Account mit Forum |
| `/msg <spieler> <nachricht>` | Private Nachricht senden. | | /forum | Zeigt Forum-Benachrichtigungen |
| `/r <nachricht>` | Auf letzte private Nachricht antworten. |
| `/ignore <spieler>` | Spieler ignorieren. |
| `/unignore <spieler>` | Ignore aufheben. |
| `/chataus` | Eigenen Chat-Empfang ein/aus schalten. |
| `/mentions` | Mention-Benachrichtigungen ein/aus schalten. |
| `/emoji` | Emoji-Liste anzeigen. |
| `/chatbypass` | Nächste Eingabe für Plugin-Dialoge durchlassen. |
### Team und Moderation ### Chat, Support und Moderation
| Befehl | Beschreibung | | Command | Beschreibung |
|---|---| |---|---|
| `/chatmute <spieler> [minuten]` | Spieler stummschalten. | | /channel [kanal] | Kanal wechseln oder Liste zeigen |
| `/chatunmute <spieler>` | Stummschaltung aufheben. | | /helpop <text> | Support-Anfrage an Team |
| `/broadcast <nachricht>` | Nachricht an alle Spieler senden. | | /msg <spieler> <text> | Private Nachricht |
| `/socialspy` | Private Nachrichten mitlesen. | | /r <text> | Antwort auf letzte PM |
| `/chatreload` | Chat-Konfiguration neu laden. | | /ignore <spieler> | Spieler ignorieren |
| `/chatinfo <spieler>` | Chat-Informationen zu einem Spieler. | | /unignore <spieler> | Ignore entfernen |
| `/chathist [spieler] [anzahl]` | Chat-History anzeigen. | | /chatmute <spieler> [minuten] | Spieler muten |
| /chatunmute <spieler> | Mute aufheben |
### Reports | /chataus | Chat-Empfang toggeln |
| /broadcast <text> | Broadcast an alle |
| Befehl | Beschreibung | | /emoji | Emoji-Liste |
|---|---| | /socialspy | PMs mitlesen |
| `/report <spieler> <grund>` | Spieler melden. | | /chatreload | Chat-Konfig neu laden |
| `/reports [all]` | Offene oder alle Reports anzeigen. | | /chatinfo <spieler> | Admin-Infos zu Spieler |
| `/reportclose <id>` | Report schließen. | | /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 ### CommandBlocker
| Befehl | Beschreibung | | Command | Beschreibung |
|---|---| |---|---|
| `/cb add <command>` | Befehl blockieren. | | /cb add <command> | Command blockieren |
| `/cb remove <command>` | Blockierung aufheben. | | /cb remove <command> | Blockierung aufheben |
| `/cb list` | Blockierte Befehle anzeigen. | | /cb list | Blockierte Commands anzeigen |
| `/cb reload` | CommandBlocker neu laden. | | /cb reload | CommandBlocker neu laden |
### Account-Linking ### CustomCommands
| Befehl | Beschreibung | | Command | Beschreibung |
|---|---| |---|---|
| `/linkdiscord` | Link-Code für Discord erzeugen. | | /bcmds | Lädt `customcommands.yml` neu |
| `/linktelegram` | Link-Code für Telegram erzeugen. | | /chat <text> | Sendet Text als Chat oderhrt Slash-Command aus (falls aktiviert) |
| `/unlink <discord\|telegram\|all>` | Verknüpfung lösen. |
## Permissions ## Wichtige Konfigurationen
Wichtige Rechte (Auszug): ### verify.properties
| Permission | Zweck | Core, Verify, Broadcast, Forum und Port.
|---|---|
| `statusapi.update.notify` | Update-Hinweise erhalten |
| `chat.channel.local` | Zugriff auf Local-Kanal |
| `chat.channel.trade` | Zugriff auf Trade-Kanal |
| `chat.channel.staff` | Zugriff auf Staff-Kanal |
| `chat.helpop.receive` | HelpOp empfangen |
| `chat.mute` | Spieler muten/unmuten |
| `chat.broadcast` | Broadcast senden |
| `chat.socialspy` | PMs mitlesen |
| `chat.admin.bypass` | Admin-Bypass (nicht mutebar/blockierbar) |
| `chat.admin.notify` | Admin-Benachrichtigungen |
| `chat.report` | Reports erstellen (wenn konfiguriert) |
| `chat.color` | Farbcodes im Chat nutzen |
| `chat.color.format` | Formatcodes im Chat nutzen |
| `chat.filter.bypass` | Chatfilter umgehen |
| `commandblocker.admin` | `/cb` verwalten |
| `commandblocker.bypass` | Von CommandBlocker ausgenommen |
Hinweis: Standardwerte (`true`/`false`/`op`) stehen in `plugin.yml`. Typische Schlüssel:
## Konfiguration - 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]
### `verify.properties` ### network-guard.properties
Zentrale Datei für Core, Verify, Broadcast, Forum und CommandBlocker. NetworkInfo, Webhook, Attack-API und AntiBot.
Wichtige Schlüssel: Typische Schlüssel:
- `statusapi.port=9191` - networkinfo.enabled=true
- `wp_verify_url=https://deine-domain.tld` - networkinfo.webhook.enabled=true
- `server.<Name>.id=<nummer>` - networkinfo.webhook.url=<discord_webhook>
- `server.<Name>.secret=<secret>` - networkinfo.webhook.embed_mode=detailed
- `broadcast.enabled=true|false` - networkinfo.attack.api_key=<attack_api_key>
- `broadcast.api_key=<key>` - antibot.enabled=true
- `forum.enabled=true|false` - antibot.profile=high-traffic
- `forum.api_secret=<key>`
- `commandblocker.enabled=true|false`
- `commandblocker.bypass.permission=commandblocker.bypass`
### `chat.yml` ### chat.yml
Steuert die meisten Chat-Features: Chat-Kanäle, Formate, PM, Reports, Filter, Logging, Discord/Telegram, Account-Linking.
- Kanäle (`channels`) ### blocked-commands.yml
- Formate/Farben
- HelpOp
- Private Nachrichten
- Mute
- Emojis
- Reports
- Chatlog-Aufbewahrung
- Discord/Telegram
- Account-Linking
- Mentions
- Filter
Wichtige Bereiche: Liste der geblockten Commands für CommandBlocker.
- `default-channel` ### customcommands.yml
- `channels.global/local/trade/staff`
- `private-messages`
- `reports`
- `chatlog`
- `discord`
- `telegram`
- `account-linking`
- `filter`
### `blocked-commands.yml` Konfiguration für eigene Befehle, Aliase, Sender-Typen und Command-Listen.
Liste blockierter Befehle für den CommandBlocker. ## AutoMessage Datei
Kann komfortabel über `/cb` gepflegt werden.
## Typische Nutzung Nachrichten für das AutoMessage-Modul liegen standardmäßig in `messages.txt`.
Leere Zeilen und Zeilen mit `#` werden ignoriert.
### Spieler verifizieren ## StatusPulse Companion (WordPress)
1. Spieler bekommt Token auf der Website. Im Repository liegt zusätzlich ein WordPress-Admin-Companion unter wordpress/statuspulse.
2. Spieler nutzt `/verify <token>` im passenden Server. Damit können Admins die StatusAPI-Verbindung, Attack-Key und Attack-Testflows direkt im WordPress-Backend bedienen.
3. Bei Erfolg ist der Account verifiziert. Voraussetzung dafür ist StatusAPI ab Version 4.1.0.
### Team-Support ## Troubleshooting
1. Spieler nutzt `/helpop <text>`. ### API nicht erreichbar
2. Team mit passender Permission erhält die Nachricht.
3. Optional zusätzlich Weiterleitung an Discord/Telegram.
### Reports bearbeiten - statusapi.port prüfen
- Firewall/Hosting-Portfreigabe prüfen
- Proxy-Konsole auf Startmeldung des HTTP-Servers prüfen
1. Spieler erstellt Report über `/report`. ### Attack-Meldungen kommen nicht in Discord an
2. Team prüft Fälle über `/reports`.
3. Team schließt Fall mit `/reportclose <ID>`.
### Discord-/Telegram-Link - networkinfo.webhook.enabled prüfen
- networkinfo.webhook.url prüfen
- networkinfo.attack.enabled prüfen
- networkinfo.attack.api_key Header prüfen
1. Spieler startet `/linkdiscord` oder `/linktelegram`. ### AntiBot greift zu hart oder zu weich
2. Token innerhalb der Laufzeit an den Bot senden.
3. Nach erfolgreicher Verknüpfung werden externe Namen korrekt zugeordnet.
## Fehlerbehebung - antibot.profile auf strict oder high-traffic setzen
- Schwellwerte in network-guard.properties feiner einstellen
### Befehl funktioniert nicht - /antibot reload ausführen
- Permission prüfen
- Schreibweise prüfen
- Proxy neu starten
### Discord/Telegram-Nachrichten kommen nicht an
- `enabled` in `chat.yml` prüfen
- Token, Channel-/Chat-ID prüfen
- Poll-Interval prüfen
### `/verify` funktioniert nicht
- `wp_verify_url` prüfen
- `server.<Name>.id` prüfen
- `server.<Name>.secret` prüfen
- Website/API erreichbar?
### Forum-Benachrichtigungen fehlen
- `forum.enabled` prüfen
- `forum.api_secret` prüfen
- `forum.wp_url` bzw. Basis-URL prüfen
- Login-Delay prüfen
### Spieler können nicht schreiben
- Mute aktiv?
- Kanal-Permission vorhanden?
- Chatfilter greift?