Home hinzugefügt

2026-01-22 18:43:11 +00:00
parent f006c33906
commit 4ec4a0e8ec

491
Home.md Normal file

@@ -0,0 +1,491 @@
# StatusAPI Wiki
<p align="center">
<img src="https://img.shields.io/badge/Version-4.0.8-blue" alt="Version">
<img src="https://img.shields.io/badge/Minecraft-1.20+-green" alt="Minecraft">
<img src="https://img.shields.io/badge/Platform-BungeeCord-yellow" alt="Platform">
<img src="https://img.shields.io/badge/Java-8+-red" alt="Java">
</p>
**StatusAPI** ist ein modulares BungeeCord-Plugin mit integriertem HTTP-Status-Endpunkt, globalem Chat-System, WordPress-Verifizierung und vielen weiteren Features.
---
## Inhaltsverzeichnis
- [Installation](#installation)
- [Konfiguration](#konfiguration)
- [Module](#module)
- [GlobalChat](#globalchat-modul)
- [Verify](#verify-modul)
- [Navigation](#navigation-modul)
- [Broadcast](#broadcast-modul)
- [AutoMessage](#automessage-modul)
- [CommandBlocker](#commandblocker-modul)
- [CustomCommands](#customcommands-modul)
- [Stats](#stats-modul)
- [Befehle](#befehle)
- [Permissions](#permissions)
- [API-Endpunkte](#api-endpunkte)
- [Optionale Abhängigkeiten](#optionale-abhangigkeiten)
---
## Installation
1. Lade die neueste `StatusAPI.jar` aus den [Releases](https://git.viper.ipv64.net/M_Viper/StatusAPI/releases) herunter
2. Kopiere die JAR-Datei in den `plugins/` Ordner deines BungeeCord-Servers
3. Starte den Server neu
4. Konfiguriere das Plugin in `plugins/StatusAPI/verify.properties`
---
## Konfiguration
Die Hauptkonfiguration erfolgt in der Datei `verify.properties`. Diese wird beim ersten Start automatisch erstellt.
### verify.properties
```properties
# ===========================
# GLOBALCHAT AKTIVIERUNG
# ===========================
chat.enabled=false
# ===========================
# BROADCAST
# ===========================
broadcast.enabled=false
broadcast.prefix=[Broadcast]
broadcast.prefix-color=&c
broadcast.message-color=&f
broadcast.format=%prefixColored% %messageColored%
# ===========================
# NAVIGATION / SERVER SWITCHER
# ===========================
navigation.enabled=false
# ===========================
# WORDPRESS / VERIFY EINSTELLUNGEN
# ===========================
wp_verify_url=https://deine-wp-domain.tld
# ===========================
# SERVER KONFIGURATION
# ===========================
# Server 1: Lobby
server.lobby=&bLobby
server.lobby.id=1
server.lobby.secret=GeheimesWortFuerLobby123
# Server 2: Survival
server.survival=&aSurvival
server.survival.id=2
server.survival.secret=GeheimesWortFuerSurvival456
# ===========================
# Manuelle Ränge (Overrides)
# ===========================
# Syntax: override.<Spieler-UUID> = <Gruppenname>
override.uuid-hier-einfuegen = Owner
# ===========================
# Chat-Formate für Gruppen
# ===========================
# Format: Rang || Spielerfarbe || Chatfarbe
groupformat.owner=&c[Owner] || &b || &d
groupformat.admin=&4[Admin] || &9 || &c
groupformat.developer=&b[Dev] || &3 || &a
groupformat.premium=&6[Premium] || &e || &7
groupformat.spieler=&f[Spieler] || &7 || &8
# ===========================
# AUTOMESSAGE
# ===========================
automessage.enabled=false
automessage.interval=300
automessage.prefix=
automessage.file=messages.txt
# ===========================
# COMMAND BLOCKER
# ===========================
commandblocker.enabled=true
commandblocker.bypass.permission=commandblocker.bypass
# ===========================
# CUSTOM COMMANDS
# ===========================
customcommands.enabled=true
```
---
## Module
### GlobalChat Modul
Das GlobalChat-Modul ermöglicht einen netzwerkweiten Chat mit:
- **Chatfilter** (Schimpfwort-Zensur)
- **Gruppen-basierte Formatierung** (mit LuckPerms-Integration)
- **Manuelle Rang-Overrides** per UUID
- **Support-System** für Spieler-Team-Kommunikation
- **Join/Quit/Server-Switch Nachrichten**
#### Aktivierung
```properties
chat.enabled=true
```
#### Chat-Format Syntax
```properties
groupformat.<gruppenname>=<Rang-Prefix> || <Spielername-Farbe> || <Chat-Farbe>
```
**Beispiel:**
```properties
groupformat.owner=&c[Owner] || &b || &d
```
- `&c[Owner]` - Rang wird rot angezeigt
- `&b` - Spielername wird aqua/cyan angezeigt
- `&d` - Chatnachrichten werden pink angezeigt
#### Manuelle Rang-Overrides
Überschreibe den LuckPerms-Rang für bestimmte Spieler:
```properties
override.550e8400-e29b-41d4-a716-446655440000=Owner
```
#### Filter-Konfiguration (filter.yml)
```yaml
badwords:
- wort1
- wort2
- wort3
```
#### Willkommensnachrichten (welcome.yml)
```yaml
- "&aWillkommen auf dem Server, %player%!"
- "&eHallo %player%, viel Spaß!"
```
---
### Verify Modul
Das Verify-Modul ermöglicht die Verifizierung von Spielern über eine WordPress-Webseite.
#### Konfiguration
```properties
wp_verify_url=https://deine-wordpress-seite.de
# Pro Server eine eigene ID und Secret
server.lobby.id=1
server.lobby.secret=GeheimesWort123
```
#### Verwendung
Spieler verifizieren sich mit:
```
/verify <token>
```
---
### Navigation Modul
Erstellt automatisch Server-Wechsel-Befehle basierend auf den konfigurierten Servern.
#### Aktivierung
```properties
navigation.enabled=true
```
#### Automatisch erstellte Befehle
Für jeden konfigurierten Server wird ein Befehl erstellt:
- `server.lobby=&bLobby``/lobby`
- `server.survival=&aSurvival``/survival`
- `server.skyblock=&dSkyBlock``/skyblock`
---
### Broadcast Modul
Ermöglicht das Senden von Broadcasts über die HTTP-API oder geplante Nachrichten.
#### Aktivierung
```properties
broadcast.enabled=true
broadcast.prefix=[Broadcast]
broadcast.prefix-color=&c
broadcast.bracket-color=&8
broadcast.message-color=&f
broadcast.format=%prefixColored% %messageColored%
```
#### Format-Platzhalter
| Platzhalter | Beschreibung |
|-------------|--------------|
| `%name%` | Name der Quelle |
| `%prefix%` | Prefix ohne Farbe |
| `%prefixColored%` | Prefix mit Farbe |
| `%message%` | Nachricht ohne Farbe |
| `%messageColored%` | Nachricht mit Farbe |
| `%type%` | Broadcast-Typ |
#### Wiederholungsoptionen
- `none` - Einmalig
- `hourly` - Stündlich
- `daily` - Täglich
- `weekly` - Wöchentlich
---
### AutoMessage Modul
Sendet automatisch rotierende Nachrichten an alle Spieler.
#### Aktivierung
```properties
automessage.enabled=true
automessage.interval=300
automessage.prefix=&6[Info]
automessage.file=messages.txt
```
#### messages.txt
```
&aBesuche unsere Webseite: &ehttps://example.com
&bVergiss nicht, uns auf Discord zu folgen!
&dViel Spaß auf dem Server!
```
---
### CommandBlocker Modul
Blockiert bestimmte Befehle für Spieler ohne Bypass-Berechtigung.
#### Befehle
| Befehl | Beschreibung | Permission |
|--------|--------------|------------|
| `/cb add <command>` | Befehl blockieren | `commandblocker.admin` |
| `/cb remove <command>` | Blockierung aufheben | `commandblocker.admin` |
| `/cb list` | Blockierte Befehle anzeigen | `commandblocker.admin` |
| `/cb reload` | Konfiguration neu laden | `commandblocker.admin` |
#### Konfiguration (blocked-commands.yml)
```yaml
blocked:
- plugins
- ver
- version
- about
```
---
### CustomCommands Modul
Erstelle eigene Befehle mit Aliasen und verschiedenen Ausführungstypen.
#### Aktivierung
```properties
customcommands.enabled=true
```
#### customcommands.yml
```yaml
chat-command: true
commands:
test:
aliases:
- test2
permission: ""
type: random # random = Zufällig, line = Sequenziell
sender: default # default, admin, console, <playername>
commands:
- "alert Das ist ein Test!"
- "glist"
regeln:
aliases:
- rules
permission: ""
type: line
sender: default
commands:
- "alert &6=== Serverregeln ==="
- "alert &e1. Sei respektvoll"
- "alert &e2. Kein Cheating"
sudo:
aliases:
- runasadmin
permission: "commands.sudo"
type: line
sender: admin
commands:
- "%args%"
```
#### Platzhalter
| Platzhalter | Beschreibung |
|-------------|--------------|
| `%args%` | Alle Argumente des Befehls |
| `%sender%` | Name des ausführenden Spielers |
#### Sender-Typen
| Typ | Beschreibung |
|-----|--------------|
| `default` | Spieler selbst |
| `admin` | Mit Admin-Rechten |
| `console` | Als Konsole |
| `<name>` | Als bestimmter Spieler |
---
### Stats Modul
Trackt Spielerstatistiken wie Spielzeit, Joins und letzte Aktivität.
#### Features
- Automatisches Tracking von Join/Quit
- Gesamtspielzeit pro Spieler
- Auto-Save alle 5 Minuten
- Persistente Speicherung
---
## Befehle
### Allgemeine Befehle
| Befehl | Beschreibung | Permission |
|--------|--------------|------------|
| `/verify <token>` | Verifizierung mit Token | - |
| `/info` | Plugin-Informationen | - |
### GlobalChat Befehle
| Befehl | Beschreibung | Permission |
|--------|--------------|------------|
| `/globalreload` | Chat-Filter neu laden | `globalchat.reload` |
| `/globalmute` | Globalen Chat (de)aktivieren | `globalchat.mute` |
| `/support <nachricht>` | Support-Nachricht senden | - |
| `/reply <nachricht>` | Auf Support antworten | - |
| `/chattoggle` | Eigenen Chat umschalten | - |
| `/clearchat` | Chat leeren | `globalchat.clearchat` |
### CommandBlocker Befehle
| Befehl | Beschreibung | Permission |
|--------|--------------|------------|
| `/cb add <cmd>` | Befehl blockieren | `commandblocker.admin` |
| `/cb remove <cmd>` | Blockierung aufheben | `commandblocker.admin` |
| `/cb list` | Liste anzeigen | `commandblocker.admin` |
| `/cb reload` | Neu laden | `commandblocker.admin` |
### CustomCommands Befehle
| Befehl | Beschreibung | Permission |
|--------|--------------|------------|
| `/bcmds` | Config neu laden | `statusapi.bcmds` |
| `/chat <nachricht>` | Chat-Nachricht senden | - |
---
## Permissions
### Allgemein
| Permission | Beschreibung |
|------------|--------------|
| `statusapi.admin` | Admin-Benachrichtigungen (Updates) |
| `statusapi.update.notify` | Update-Benachrichtigungen erhalten |
| `statusapi.bcmds` | CustomCommands Config neu laden |
### GlobalChat
| Permission | Beschreibung |
|------------|--------------|
| `globalchat.reload` | Filter neu laden |
| `globalchat.mute` | Chat muten/unmuten |
| `globalchat.bypass` | Mute umgehen |
| `globalchat.clearchat` | Chat leeren |
### CommandBlocker
| Permission | Beschreibung |
|------------|--------------|
| `commandblocker.admin` | CommandBlocker verwalten |
| `commandblocker.bypass` | Blockierte Befehle umgehen |
---
## API-Endpunkte
StatusAPI startet einen integrierten HTTP-Server auf Port **9191**.
### GET /status
Gibt den aktuellen Serverstatus zurück.
### POST /broadcast
Sendet einen Broadcast an alle Spieler.
**Request Body:**
```json
{
"message": "Deine Nachricht",
"prefix": "[Info]",
"prefixColor": "&e",
"messageColor": "&f",
"type": "global"
}
```
### POST /broadcast/schedule
Plant einen Broadcast für später.
**Request Body:**
```json
{
"message": "Geplante Nachricht",
"timestamp": 1700000000000,
"recur": "daily",
"clientScheduleId": "unique-id"
}
```
### DELETE /broadcast/schedule/{id}
Bricht einen geplanten Broadcast ab.
---
## Optionale Abhängigkeiten
### LuckPerms
StatusAPI unterstützt **LuckPerms** für erweiterte Rang-Funktionalität:
- Automatische Erkennung der Spielergruppe
- Gruppen-basierte Chat-Formate
- Prefix/Suffix-Integration
Falls LuckPerms nicht installiert ist, werden die manuellen Overrides und Permission-basierte Gruppen verwendet.
---
## Support
Bei Problemen oder Fragen:
- Erstelle ein [Issue](https://git.viper.ipv64.net/M_Viper/StatusAPI/issues)
- Überprüfe die Logs in `plugins/StatusAPI/logs/`
---
## Lizenz
StatusAPI ist ein proprietäres Plugin von **M_Viper**.