README.md aktualisiert

This commit is contained in:
2026-04-02 06:11:50 +00:00
parent 7adfc8b5ab
commit 4330cedd83
+189 -215
View File
@@ -1,284 +1,258 @@
# StatusAPI
![Version](https://img.shields.io/badge/version-4.1.0-blue)
![Plattform](https://img.shields.io/badge/platform-BungeeCord-orange)
![Minecraft](https://img.shields.io/badge/Minecraft-1.20%2B-brightgreen)
![Java](https://img.shields.io/badge/Java-8%2B-red)
![Lizenz](https://img.shields.io/badge/license-All%20Rights%20Reserved-black)
![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)
Benutzerdokumentation für GitHub (Serverbetreiber, Teammitglieder und Spieler).
StatusAPI ist ein BungeeCord-Plugin mit Fokus auf Chat, Moderation, Verifizierung und Brücken zu externen Plattformen wie Discord, Telegram und Forum/WordPress.
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.
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.
## Inhaltsverzeichnis
## Was das Plugin kann
1. [Features](#features)
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)
### Core und API
## 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)
- Private Nachrichten mit Antwortfunktion (`/msg`, `/r`)
- Ignore-System (`/ignore`, `/unignore`)
- Mute-System für Teammitglieder (`/chatmute`, `/chatunmute`)
- Report-System (`/report`, `/reports`, `/reportclose`)
- Mentions (`@Spieler`) mit Benachrichtigung
- Emoji-Unterstützung über Platzhalter (z. B. `:smile:`)
- Chat-Filter (Spam, Duplikate, Caps, Wortfilter)
- Chat-Logs und History
- Discord- und Telegram-Integration
- Discord-/Telegram-Account-Verknüpfung
- Website/WordPress-Verifizierung (`/verify`)
- Forum-Bridge mit Ingame-Benachrichtigungen
- Broadcast-Funktion
- Command-Blocker für unerwünschte Befehle
### 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
- BungeeCord Proxy
- Minecraft 1.20+
- Java 8+
- Optional:
- LuckPerms (Soft-Dependency)
- Geyser-BungeeCord (Soft-Dependency)
- Discord Bot/Webhook
- LuckPerms
- Geyser-BungeeCord
- Discord Webhook/Bot
- Telegram Bot
- WordPress/API für Verify und Forum
- WordPress/Forum-Backend
## Installation
1. Plugin-JAR in den Plugin-Ordner deines BungeeCord-Proxys legen.
2. Proxy starten (Dateien werden automatisch erstellt).
1. JAR nach plugins kopieren.
2. Proxy starten, damit Dateien erzeugt werden.
3. Proxy stoppen.
4. Konfiguration anpassen:
- `plugins/StatusAPI/verify.properties`
- `plugins/StatusAPI/chat.yml`
- `plugins/StatusAPI/blocked-commands.yml` (optional)
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.
## Schnellstart
## HTTP API
1. In `verify.properties` Port und Verify-/Forum-Daten setzen.
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`
Standard-Port ist 9191 und wird über statusapi.port gesetzt.
## 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. |
| `/forumlink <token>` | Verknüpft Minecraft-Account mit dem Forum. |
| `/forum` | Zeigt ausstehende Forum-Benachrichtigungen. |
| /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 |
### Chat und Kommunikation
### Verify und Forum
| Befehl | Beschreibung |
| Command | Beschreibung |
|---|---|
| `/channel [kanal]` | Kanal wechseln oder Kanäle anzeigen. |
| `/helpop <nachricht>` | Hilfeanfrage an das Team senden. |
| `/msg <spieler> <nachricht>` | Private Nachricht senden. |
| `/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. |
| /verify <token> | Verifiziert den Account |
| /forumlink <token> | Verknüpft Account mit Forum |
| /forum | Zeigt Forum-Benachrichtigungen |
### Team und Moderation
### Chat, Support und Moderation
| Befehl | Beschreibung |
| Command | Beschreibung |
|---|---|
| `/chatmute <spieler> [minuten]` | Spieler stummschalten. |
| `/chatunmute <spieler>` | Stummschaltung aufheben. |
| `/broadcast <nachricht>` | Nachricht an alle Spieler senden. |
| `/socialspy` | Private Nachrichten mitlesen. |
| `/chatreload` | Chat-Konfiguration neu laden. |
| `/chatinfo <spieler>` | Chat-Informationen zu einem Spieler. |
| `/chathist [spieler] [anzahl]` | Chat-History anzeigen. |
### Reports
| Befehl | Beschreibung |
|---|---|
| `/report <spieler> <grund>` | Spieler melden. |
| `/reports [all]` | Offene oder alle Reports anzeigen. |
| `/reportclose <id>` | Report schließen. |
| /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
| Befehl | Beschreibung |
| Command | Beschreibung |
|---|---|
| `/cb add <command>` | Befehl blockieren. |
| `/cb remove <command>` | Blockierung aufheben. |
| `/cb list` | Blockierte Befehle anzeigen. |
| `/cb reload` | CommandBlocker neu laden. |
| /cb add <command> | Command blockieren |
| /cb remove <command> | Blockierung aufheben |
| /cb list | Blockierte Commands anzeigen |
| /cb reload | CommandBlocker neu laden |
### Account-Linking
### CustomCommands
| Befehl | Beschreibung |
| Command | Beschreibung |
|---|---|
| `/linkdiscord` | Link-Code für Discord erzeugen. |
| `/linktelegram` | Link-Code für Telegram erzeugen. |
| `/unlink <discord\|telegram\|all>` | Verknüpfung lösen. |
| /bcmds | Lädt `customcommands.yml` neu |
| /chat <text> | Sendet Text als Chat oder führt Slash-Command aus (falls aktiviert) |
## Permissions
## Wichtige Konfigurationen
Wichtige Rechte (Auszug):
### verify.properties
| Permission | Zweck |
|---|---|
| `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 |
Core, Verify, Broadcast, Forum und Port.
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`
- `wp_verify_url=https://deine-domain.tld`
- `server.<Name>.id=<nummer>`
- `server.<Name>.secret=<secret>`
- `broadcast.enabled=true|false`
- `broadcast.api_key=<key>`
- `forum.enabled=true|false`
- `forum.api_secret=<key>`
- `commandblocker.enabled=true|false`
- `commandblocker.bypass.permission=commandblocker.bypass`
- 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.yml
Steuert die meisten Chat-Features:
Chat-Kanäle, Formate, PM, Reports, Filter, Logging, Discord/Telegram, Account-Linking.
- Kanäle (`channels`)
- Formate/Farben
- HelpOp
- Private Nachrichten
- Mute
- Emojis
- Reports
- Chatlog-Aufbewahrung
- Discord/Telegram
- Account-Linking
- Mentions
- Filter
### blocked-commands.yml
Wichtige Bereiche:
Liste der geblockten Commands für CommandBlocker.
- `default-channel`
- `channels.global/local/trade/staff`
- `private-messages`
- `reports`
- `chatlog`
- `discord`
- `telegram`
- `account-linking`
- `filter`
### customcommands.yml
### `blocked-commands.yml`
Konfiguration für eigene Befehle, Aliase, Sender-Typen und Command-Listen.
Liste blockierter Befehle für den CommandBlocker.
Kann komfortabel über `/cb` gepflegt werden.
## AutoMessage Datei
## 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.
2. Spieler nutzt `/verify <token>` im passenden Server.
3. Bei Erfolg ist der Account verifiziert.
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.
### Team-Support
## Troubleshooting
1. Spieler nutzt `/helpop <text>`.
2. Team mit passender Permission erhält die Nachricht.
3. Optional zusätzlich Weiterleitung an Discord/Telegram.
### API nicht erreichbar
### 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`.
2. Team prüft Fälle über `/reports`.
3. Team schließt Fall mit `/reportclose <ID>`.
### Attack-Meldungen kommen nicht in Discord an
### 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`.
2. Token innerhalb der Laufzeit an den Bot senden.
3. Nach erfolgreicher Verknüpfung werden externe Namen korrekt zugeordnet.
### AntiBot greift zu hart oder zu weich
## Fehlerbehebung
### Befehl funktioniert nicht
- 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?
- antibot.profile auf strict oder high-traffic setzen
- Schwellwerte in network-guard.properties feiner einstellen
- /antibot reload ausführen