README.md aktualisiert

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

406
README.md
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
- Telegram Bot
- WordPress/API für Verify und Forum
- LuckPerms
- Geyser-BungeeCord
- Discord Webhook/Bot
- Telegram Bot
- 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 oderhrt 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