From 4330cedd836d3611c8b91652ddc4a46da8925468 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Thu, 2 Apr 2026 06:11:50 +0000 Subject: [PATCH] README.md aktualisiert --- README.md | 406 +++++++++++++++++++++++++----------------------------- 1 file changed, 190 insertions(+), 216 deletions(-) diff --git a/README.md b/README.md index 2a754c8..544558c 100644 --- a/README.md +++ b/README.md @@ -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 ` | Verifiziert den Spieler gegen die Website. | -| `/forumlink ` | 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 | Entblockt eine IP | +| /antibot profile | 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 ` | Hilfeanfrage an das Team senden. | -| `/msg ` | Private Nachricht senden. | -| `/r ` | Auf letzte private Nachricht antworten. | -| `/ignore ` | Spieler ignorieren. | -| `/unignore ` | 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 | Verifiziert den Account | +| /forumlink | Verknüpft Account mit Forum | +| /forum | Zeigt Forum-Benachrichtigungen | -### Team und Moderation +### Chat, Support und Moderation -| Befehl | Beschreibung | +| Command | Beschreibung | |---|---| -| `/chatmute [minuten]` | Spieler stummschalten. | -| `/chatunmute ` | Stummschaltung aufheben. | -| `/broadcast ` | Nachricht an alle Spieler senden. | -| `/socialspy` | Private Nachrichten mitlesen. | -| `/chatreload` | Chat-Konfiguration neu laden. | -| `/chatinfo ` | Chat-Informationen zu einem Spieler. | -| `/chathist [spieler] [anzahl]` | Chat-History anzeigen. | - -### Reports - -| Befehl | Beschreibung | -|---|---| -| `/report ` | Spieler melden. | -| `/reports [all]` | Offene oder alle Reports anzeigen. | -| `/reportclose ` | Report schließen. | +| /channel [kanal] | Kanal wechseln oder Liste zeigen | +| /helpop | Support-Anfrage an Team | +| /msg | Private Nachricht | +| /r | Antwort auf letzte PM | +| /ignore | Spieler ignorieren | +| /unignore | Ignore entfernen | +| /chatmute [minuten] | Spieler muten | +| /chatunmute | Mute aufheben | +| /chataus | Chat-Empfang toggeln | +| /broadcast | Broadcast an alle | +| /emoji | Emoji-Liste | +| /socialspy | PMs mitlesen | +| /chatreload | Chat-Konfig neu laden | +| /chatinfo | 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 | Verknüpfung aufheben | +| /report | Spieler melden | +| /reports [all] | Reports ansehen | +| /reportclose | Report schließen | ### CommandBlocker -| Befehl | Beschreibung | +| Command | Beschreibung | |---|---| -| `/cb add ` | Befehl blockieren. | -| `/cb remove ` | Blockierung aufheben. | -| `/cb list` | Blockierte Befehle anzeigen. | -| `/cb reload` | CommandBlocker neu laden. | +| /cb add | Command blockieren | +| /cb remove | 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 ` | Verknüpfung lösen. | +| /bcmds | Lädt `customcommands.yml` neu | +| /chat | 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..id= +- server..secret= +- broadcast.enabled=true +- broadcast.api_key= +- forum.enabled=true +- forum.api_secret= +- 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..id=` -- `server..secret=` -- `broadcast.enabled=true|false` -- `broadcast.api_key=` -- `forum.enabled=true|false` -- `forum.api_secret=` -- `commandblocker.enabled=true|false` -- `commandblocker.bypass.permission=commandblocker.bypass` +- networkinfo.enabled=true +- networkinfo.webhook.enabled=true +- networkinfo.webhook.url= +- networkinfo.webhook.embed_mode=detailed +- networkinfo.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 ` 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 `. -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 `. +### 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..id` prüfen -- `server..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