Home hinzugefügt
491
Home.md
Normal file
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**.
|
||||||
Reference in New Issue
Block a user