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