README.md aktualisiert

This commit is contained in:
2026-05-30 05:42:58 +00:00
parent 41d0d80811
commit dd183203cd

View File

@@ -1,6 +1,6 @@
# StatusAPI BungeeCord Plugin # StatusAPI BungeeCord Plugin
> **Version:** 4.1.4 · **Autor:** M_Viper · **Plattform:** BungeeCord · **Minecraft:** 1.20+ > **Version:** 4.1.5 · **Autor:** M_Viper · **Plattform:** BungeeCord · **Minecraft:** 1.20+
StatusAPI ist ein umfassendes BungeeCord-Plugin, das als zentrale Schaltstelle für dein Minecraft-Netzwerk dient. Es vereint Chat-Management, Anti-Bot-Schutz, Scoreboard, Tablist, Wirtschaft, Vanish, Forum-Anbindung, Spielerstatistiken, einen integrierten HTTP-Server und vieles mehr in einem vollständig modularen Plugin. StatusAPI ist ein umfassendes BungeeCord-Plugin, das als zentrale Schaltstelle für dein Minecraft-Netzwerk dient. Es vereint Chat-Management, Anti-Bot-Schutz, Scoreboard, Tablist, Wirtschaft, Vanish, Forum-Anbindung, Spielerstatistiken, einen integrierten HTTP-Server und vieles mehr in einem vollständig modularen Plugin.
@@ -48,7 +48,7 @@ StatusAPI ist ein umfassendes BungeeCord-Plugin, das als zentrale Schaltstelle f
| Anforderung | Details | | Anforderung | Details |
|---|---| |---|---|
| **BungeeCord** | Aktuell, Minecraft 1.20+ kompatibel | | **BungeeCord** | Aktuell, Minecraft 1.20+ kompatibel |
| **Java** | 17 oder höher | | **Java** | 21 oder höher |
| **LuckPerms** | Empfohlen (Soft-Dependency) für Prefix/Suffix im Chat, Scoreboard und Tablist | | **LuckPerms** | Empfohlen (Soft-Dependency) für Prefix/Suffix im Chat, Scoreboard und Tablist |
| **Geyser-BungeeCord** | Optional (Soft-Dependency) für Bedrock-Spieler-Unterstützung | | **Geyser-BungeeCord** | Optional (Soft-Dependency) für Bedrock-Spieler-Unterstützung |
| **MySQL/MariaDB** | Nur für das EconomyModule erforderlich | | **MySQL/MariaDB** | Nur für das EconomyModule erforderlich |
@@ -892,18 +892,27 @@ statusapi.help.permission=statusapi.admin
### 4.18 AfkModule ### 4.18 AfkModule
Das AfkModule erkennt inaktive Spieler automatisch und bietet einen manuellen `/afk`-Befehl. AFK-Spieler erhalten einen dauerhaft sichtbaren Title-Screen und werden intern als AFK markiert (z. B. für Scoreboard-Platzhalter und Bridge-Integrationen). Das AfkModule erkennt inaktive Spieler automatisch und bietet einen manuellen `/afk`-Befehl. AFK-Spieler erhalten einen dauerhaft sichtbaren Title-Screen, werden intern als AFK markiert und bekommen über die StatusAPIBridge einen sichtbaren `[AFK]`-Prefix im Nametag über ihrem Kopf.
**Funktionen:** **Funktionen:**
- Manuelles Umschalten des AFK-Status per `/afk` - Manuelles Umschalten des AFK-Status per `/afk`
- Automatische AFK-Erkennung nach konfigurierbarer Inaktivitätsdauer (Standard: 5 Minuten) - Automatische AFK-Erkennung nach konfigurierbarer Inaktivitätsdauer (Standard: 5 Minuten)
- Aufhebung des AFK-Status bei jeder Chat-Eingabe oder Bewegung (via StatusAPIBridge) - Aufhebung des AFK-Status bei jeder Chat-Eingabe oder Bewegung (via StatusAPIBridge)
- Dauerhaft sichtbarer Title-Screen solange der Spieler AFK ist kein automatisches Ausblenden - Dauerhaft sichtbarer Title-Screen solange der Spieler AFK ist kein automatisches Ausblenden, kein Blinken
- Automatischer `[AFK]`-Prefix im Nametag über dem Spieler-Kopf (via Plugin-Message an StatusAPIBridge)
- Zufällig gewählte, thematisch passende Title-Nachrichten-Paare (AFK-Nachricht + Rückkehr-Nachricht) - Zufällig gewählte, thematisch passende Title-Nachrichten-Paare (AFK-Nachricht + Rückkehr-Nachricht)
- Vollständige Gradient-Unterstützung im Title (`%gradient:FARBE1:FARBE2:...:TEXT%`) - Vollständige Gradient-Unterstützung im Title (`%gradient:FARBE1:FARBE2:...:TEXT%`)
- Bypass-Permission für Spieler, die nicht automatisch AFK gesetzt werden sollen - Bypass-Permission für Spieler, die nicht automatisch AFK gesetzt werden sollen
**Nametag-Prefix**
Sobald ein Spieler AFK geht, sendet das AfkModule eine Plugin-Message über den Channel `statusapi:afk` an alle Spigot-Server. Die StatusAPIBridge empfängt diese Nachricht und stellt dem LuckPerms-Prefix des Spielers automatisch `&7[AFK] ` voran. Beim Zurückkehren wird der Prefix sofort wiederhergestellt.
> **Voraussetzung:** StatusAPIBridge muss auf allen Backend-Servern installiert und aktiv sein. Der Nametag-Prefix erfordert `nametag-enabled=true` in der StatusAPIBridge-Konfiguration.
Der `[AFK]`-Prefix-Text und seine Farbe können direkt im Quellcode der StatusAPIBridge unter `applyNametag()` angepasst werden (Standard: `&7[AFK] `).
**Title-Nachrichten-Paare** **Title-Nachrichten-Paare**
Für jeden AFK-Eintritt wird zufällig ein Nachrichten-Paar gewählt und für die gesamte AFK-Dauer beibehalten. Beim Verlassen des AFK-Status wird die zugehörige Rückkehr-Nachricht angezeigt. Bis zu 20 Paare können konfiguriert werden. Für jeden AFK-Eintritt wird zufällig ein Nachrichten-Paar gewählt und für die gesamte AFK-Dauer beibehalten. Beim Verlassen des AFK-Status wird die zugehörige Rückkehr-Nachricht angezeigt. Bis zu 20 Paare können konfiguriert werden.
@@ -922,6 +931,10 @@ Vorkonfigurierte Beispiele (Auszug aus dem Standard-Config):
| `[AFK]` (Gradient) | Error 404: Spieler nicht gefunden | Spieler wieder online! (Gradient) | 404 behoben | | `[AFK]` (Gradient) | Error 404: Spieler nicht gefunden | Spieler wieder online! (Gradient) | 404 behoben |
| `[AFK]` (Gradient) | Kaffeepause. Die wichtigste Pause. | Koffein erfolgreich zugeführt! (Gradient) | Jetzt wieder einsatzbereit | | `[AFK]` (Gradient) | Kaffeepause. Die wichtigste Pause. | Koffein erfolgreich zugeführt! (Gradient) | Jetzt wieder einsatzbereit |
**Title-Anzeige ohne Blinken**
Die Anzeigezeiten (`fade_in`, `stay`, `fade_out`) werden dem Client nur einmalig beim AFK-Eintritt übermittelt. Nachfolgende Refresh-Pakete erneuern ausschließlich Title und Subtitle ohne erneute Timing-Übertragung. Dadurch bleibt der Title stabil stehen, ohne bei jedem Refresh-Intervall eine neue Einblend-Animation auszulösen.
**Gradient-Unterstützung** **Gradient-Unterstützung**
Title-Zeilen unterstützen dieselbe Gradient-Syntax wie Scoreboard und Tablist: Title-Zeilen unterstützen dieselbe Gradient-Syntax wie Scoreboard und Tablist:
@@ -959,6 +972,8 @@ afk.idle_seconds=300
afk.permission.bypass=statusapi.afk.bypass afk.permission.bypass=statusapi.afk.bypass
# ── Title-Anzeigezeiten (in Ticks, 20 Ticks = 1 Sekunde) ── # ── Title-Anzeigezeiten (in Ticks, 20 Ticks = 1 Sekunde) ──
# fade_in / fade_out werden nur beim ersten Einblenden gesendet
# Refresh-Pakete enthalten keine Timing-Daten (verhindert Blink-Effekt).
afk.title.fade_in=10 afk.title.fade_in=10
afk.title.stay=100 afk.title.stay=100
afk.title.fade_out=10 afk.title.fade_out=10
@@ -978,7 +993,7 @@ afk.title.pair.3=%gradient:&b:&f:&b:&l [AFK] %|&8Eingeschlafen. Bitte nicht weck
> **Hinweis:** Die `afk.properties` wird beim ersten Start automatisch erstellt und enthält 15 vorkonfigurierte, humorvolle Nachrichten-Paare. > **Hinweis:** Die `afk.properties` wird beim ersten Start automatisch erstellt und enthält 15 vorkonfigurierte, humorvolle Nachrichten-Paare.
> **Integration mit StatusAPIBridge:** Wenn die Bridge eine Koordinatenänderung meldet (`POST /player/data`), wird der AFK-Status des Spielers automatisch aufgehoben und die Rückkehr-Nachricht angezeigt. > **Integration mit StatusAPIBridge:** Wenn die Bridge eine Koordinatenänderung meldet (`POST /player/data`), wird der AFK-Status des Spielers automatisch aufgehoben, die Rückkehr-Nachricht angezeigt und der Nametag-Prefix sofort wiederhergestellt.
--- ---
@@ -1219,6 +1234,7 @@ StatusAPI nutzt LuckPerms als Soft-Dependency für:
- **Scoreboard:** Der Platzhalter `%rank%` wird aus dem LuckPerms-Prefix befüllt. - **Scoreboard:** Der Platzhalter `%rank%` wird aus dem LuckPerms-Prefix befüllt.
- **Tablist:** Rang-basierte Sortierung im `custom`-Modus. - **Tablist:** Rang-basierte Sortierung im `custom`-Modus.
- **HTTP-Status (`GET /`):** Der Prefix jedes Online-Spielers wird im JSON-Statusbericht mit ausgegeben. - **HTTP-Status (`GET /`):** Der Prefix jedes Online-Spielers wird im JSON-Statusbericht mit ausgegeben.
- **Nametag (via StatusAPIBridge):** Der LuckPerms-Prefix wird als Nametag über dem Spieler-Kopf angezeigt. AFK-Spieler erhalten automatisch einen `[AFK]`-Zusatz vor ihrem Prefix.
Wenn LuckPerms nicht installiert ist, sind Prefix und Suffix leer alle anderen Funktionen bleiben vollständig erhalten. Wenn LuckPerms nicht installiert ist, sind Prefix und Suffix leer alle anderen Funktionen bleiben vollständig erhalten.
@@ -1279,6 +1295,12 @@ Die StatusAPIBridge sendet folgende Daten an den Proxy:
| `POST /ticket/update` | Ticket-Daten (von einem Ticket-System) | | `POST /ticket/update` | Ticket-Daten (von einem Ticket-System) |
| `POST /player/papi` | Aufgelöste PlaceholderAPI-Werte für eigene `%token%`-Platzhalter | | `POST /player/papi` | Aufgelöste PlaceholderAPI-Werte für eigene `%token%`-Platzhalter |
Zusätzlich empfängt die StatusAPIBridge Plugin-Messages vom Proxy:
| Channel | Richtung | Beschreibung |
|---|---|---|
| `statusapi:afk` | Proxy → Bridge | AFK-Status-Änderung eines Spielers Bridge aktualisiert den Nametag-Prefix sofort |
Die StatusAPIBridge fragt über `GET /papi/tokens` ab, welche PlaceholderAPI-Platzhalter der Proxy benötigt, löst diese auf dem Spigot-Server auf und sendet die Ergebnisse zurück. Die StatusAPIBridge fragt über `GET /papi/tokens` ab, welche PlaceholderAPI-Platzhalter der Proxy benötigt, löst diese auf dem Spigot-Server auf und sendet die Ergebnisse zurück.
--- ---
@@ -1385,4 +1407,12 @@ Prüfe in `afk.properties`:
**AFK-Title wird nicht angezeigt** **AFK-Title wird nicht angezeigt**
Prüfe, ob mindestens ein `afk.title.pair.*` in `afk.properties` korrekt konfiguriert ist. Das Format `setTitle|setSubtitle||unsetTitle|unsetSubtitle` muss exakt eingehalten werden insbesondere das doppelte `||` als Trenner zwischen AFK- und Rückkehr-Nachricht. Prüfe, ob mindestens ein `afk.title.pair.*` in `afk.properties` korrekt konfiguriert ist. Das Format `setTitle|setSubtitle||unsetTitle|unsetSubtitle` muss exakt eingehalten werden insbesondere das doppelte `||` als Trenner zwischen AFK- und Rückkehr-Nachricht.
**AFK-Prefix erscheint nicht über dem Spieler-Kopf**
Prüfe folgende Punkte:
1. Ist StatusAPIBridge auf dem Backend-Server installiert und läuft sie fehlerfrei?
2. Ist `nametag-enabled=true` in der StatusAPIBridge-Konfiguration gesetzt?
3. Ist LuckPerms auf dem Backend-Server installiert? Der Nametag-Prefix basiert auf dem LuckPerms-Prefix.
4. Prüfe in der Konsole des Backend-Servers, ob Plugin-Messages auf dem Channel `statusapi:afk` ankommen (Debug-Modus aktivieren).