Files
StatusAPI/README.md
2026-04-01 10:05:46 +00:00

285 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)
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.
## 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.
## Inhaltsverzeichnis
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)
## Features
- 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
## Voraussetzungen
- BungeeCord-Proxy
- Minecraft 1.20+
- Optional:
- LuckPerms (Soft-Dependency)
- Geyser-BungeeCord (Soft-Dependency)
- Discord Bot/Webhook
- Telegram Bot
- WordPress/API für Verify und Forum
## Installation
1. Plugin-JAR in den Plugin-Ordner deines BungeeCord-Proxys legen.
2. Proxy starten (Dateien werden automatisch erstellt).
3. Proxy stoppen.
4. Konfiguration anpassen:
- `plugins/StatusAPI/verify.properties`
- `plugins/StatusAPI/chat.yml`
- `plugins/StatusAPI/blocked-commands.yml` (optional)
5. Proxy neu starten.
## Schnellstart
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`
## Befehle
### Verifizierung und Forum
| Befehl | Beschreibung |
|---|---|
| `/verify <token>` | Verifiziert den Spieler gegen die Website. |
| `/forumlink <token>` | Verknüpft Minecraft-Account mit dem Forum. |
| `/forum` | Zeigt ausstehende Forum-Benachrichtigungen. |
### Chat und Kommunikation
| Befehl | 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. |
### Team und Moderation
| Befehl | 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. |
### CommandBlocker
| Befehl | Beschreibung |
|---|---|
| `/cb add <command>` | Befehl blockieren. |
| `/cb remove <command>` | Blockierung aufheben. |
| `/cb list` | Blockierte Befehle anzeigen. |
| `/cb reload` | CommandBlocker neu laden. |
### Account-Linking
| Befehl | Beschreibung |
|---|---|
| `/linkdiscord` | Link-Code für Discord erzeugen. |
| `/linktelegram` | Link-Code für Telegram erzeugen. |
| `/unlink <discord\|telegram\|all>` | Verknüpfung lösen. |
## Permissions
Wichtige Rechte (Auszug):
| 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 |
Hinweis: Standardwerte (`true`/`false`/`op`) stehen in `plugin.yml`.
## Konfiguration
### `verify.properties`
Zentrale Datei für Core, Verify, Broadcast, Forum und CommandBlocker.
Wichtige 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`
### `chat.yml`
Steuert die meisten Chat-Features:
- Kanäle (`channels`)
- Formate/Farben
- HelpOp
- Private Nachrichten
- Mute
- Emojis
- Reports
- Chatlog-Aufbewahrung
- Discord/Telegram
- Account-Linking
- Mentions
- Filter
Wichtige Bereiche:
- `default-channel`
- `channels.global/local/trade/staff`
- `private-messages`
- `reports`
- `chatlog`
- `discord`
- `telegram`
- `account-linking`
- `filter`
### `blocked-commands.yml`
Liste blockierter Befehle für den CommandBlocker.
Kann komfortabel über `/cb` gepflegt werden.
## Typische Nutzung
### Spieler verifizieren
1. Spieler bekommt Token auf der Website.
2. Spieler nutzt `/verify <token>` im passenden Server.
3. Bei Erfolg ist der Account verifiziert.
### Team-Support
1. Spieler nutzt `/helpop <text>`.
2. Team mit passender Permission erhält die Nachricht.
3. Optional zusätzlich Weiterleitung an Discord/Telegram.
### Reports bearbeiten
1. Spieler erstellt Report über `/report`.
2. Team prüft Fälle über `/reports`.
3. Team schließt Fall mit `/reportclose <ID>`.
### Discord-/Telegram-Link
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.
## 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?