README.md aktualisiert
This commit is contained in:
215
README.md
215
README.md
@@ -3,103 +3,158 @@
|
||||

|
||||

|
||||
|
||||
Ein modulares und mächtiges Plugin für BungeeCord, das einen zentralen JSON-Status, ein globales Chat-System, WordPress-Verifizierung und dynamische Server-Navigation bereitstellt.
|
||||
Ein modulares und leistungsstarkes Plugin für **BungeeCord**, das einen zentralen JSON-Status, globalen Chat, WordPress-Verifizierung, Server-Navigation und optionale Sicherheitsmodule bereitstellt.
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Features
|
||||
|
||||
- **Modulares System**: Aktiviere nur die Features, die du brauchst (Chat, Stats, Verify)
|
||||
- **JSON API**: Liefert Echtzeit-Server-Statistiken (Spieleranzahl, Motd, Versionen) für deine Webseite (Port 9191)
|
||||
- **Global Chat**: Ein einheitlicher Chat über alle Server hinweg mit Badword-Filter und LuckPerms-Support
|
||||
- **Server Navigation**: Automatische Generierung von Befehlen basierend auf deiner Config (z.B. `/survival` statt `/server survival`)
|
||||
- **WordPress Verify**: Verifiziere Spieler direkt mit deiner WordPress-Seite (CPT Integration)
|
||||
- **Auto-Updater**: Prüft automatisch auf Updates und lädt diese herunter
|
||||
- **Logging**: Speichert den kompletten Chatverlauf in Dateien
|
||||
- **Modulares System**
|
||||
Aktiviere nur die Module, die du benötigst (Chat, Navigation, Verify, Security).
|
||||
|
||||
- **JSON Status API**
|
||||
Liefert Echtzeit-Serverdaten für Webseiten oder externe Dienste (Port `9191`).
|
||||
|
||||
- **Global Chat**
|
||||
Serverübergreifender Chat mit Badword-Filter, LuckPerms-Unterstützung und Logging.
|
||||
|
||||
- **Server Navigation**
|
||||
Automatische Generierung von Server-Befehlen (z. B. `/survival` statt `/server survival`).
|
||||
|
||||
- **WordPress Verify**
|
||||
Spieler-Verifizierung über WordPress (Token-basiert, CPT-kompatibel).
|
||||
|
||||
- **CommandBlocker (Security Modul)**
|
||||
Zentrale Blockierung von Commands auf Netzwerkebene inkl. Admin-Bypass.
|
||||
|
||||
- **Auto-Updater**
|
||||
Prüft automatisch auf Updates und lädt diese herunter.
|
||||
|
||||
- **Logging**
|
||||
Persistente Speicherung von Chat-Nachrichten mit automatischer Bereinigung.
|
||||
|
||||
---
|
||||
|
||||
## 📥 Installation
|
||||
|
||||
1. Lade die aktuellste `StatusAPI.jar` herunter
|
||||
2. Lege die Datei in den `plugins` Ordner deiner BungeeCord-Installation
|
||||
3. Starte den Server neu
|
||||
4. Die Config-Dateien werden automatisch erstellt
|
||||
1. Lade die aktuelle `StatusAPI.jar`
|
||||
2. Lege sie in den `plugins/` Ordner deiner BungeeCord-Installation
|
||||
3. Starte den Proxy neu
|
||||
4. Alle Konfigurationsdateien werden automatisch erstellt
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Konfiguration
|
||||
|
||||
Alle Haupt-Einstellungen werden in der `plugins/StatusAPI/verify.properties` zentral verwaltet.
|
||||
Alle Hauptmodule werden zentral über
|
||||
`plugins/StatusAPI/verify.properties` gesteuert.
|
||||
|
||||
### verify.properties
|
||||
|
||||
Hier konfigurierst du Server-Namen, Farben und die Verbindung zu WordPress.
|
||||
```properties
|
||||
# ===========================
|
||||
# GLOBALE EINSTELLUNGEN
|
||||
# ===========================
|
||||
|
||||
# Aktiviert oder deaktiviert das globale Chat-Modul
|
||||
chat.enabled=true
|
||||
|
||||
# Aktiviert die automatischen Server-Switch Befehle (z.B. /survival)
|
||||
navigation.enabled=true
|
||||
commandblocker.enabled=true
|
||||
|
||||
# ===========================
|
||||
# WORDPRESS VERIFY
|
||||
# ===========================
|
||||
|
||||
# URL deiner WordPress-Installation
|
||||
wp_verify_url=https://deine-wordpress-domain.tld
|
||||
|
||||
# ===========================
|
||||
# SERVER KONFIGURATION
|
||||
# ===========================
|
||||
|
||||
# Der Key-Name (z.B. bungee-server-1) MUSS exakt mit dem
|
||||
# Namen in deiner BungeeCord config.yml übereinstimmen!
|
||||
#
|
||||
# - server.<Name>=<Anzeigename> -> Wird im Chat und als Befehl genutzt
|
||||
# - server.<Name>.id=<ID> -> WordPress Server ID
|
||||
# - server.<Name>.secret=<Key> -> WordPress Secret
|
||||
|
||||
# Beispiel: Server mit Namen "Lobby"
|
||||
server.lobby=&bLobby
|
||||
server.lobby.id=1606
|
||||
server.lobby.secret=DeinSecretHier
|
||||
|
||||
# Beispiel: Server mit Namen "bungee-server-1" (Name aus BungeeConfig)
|
||||
server.bungee-server-1=&aSurvival
|
||||
server.bungee-server-1.id=2
|
||||
server.bungee-server-1.secret=GeheimesWortFuerSurvival
|
||||
server.survival=&aSurvival
|
||||
server.survival.id=2
|
||||
server.survival.secret=GeheimesWortFuerSurvival
|
||||
```
|
||||
## 🔒 CommandBlocker Modul
|
||||
|
||||
# Beispiel: SkyBlock
|
||||
server.skyblock=&dSkyBlock
|
||||
server.skyblock.id=3
|
||||
server.skyblock.secret=GeheimesWortFuerSkyBlock
|
||||
Das **CommandBlockerModule** blockiert definierte Commands **netzwerkweit**, bevor sie an Backend-Server weitergeleitet werden.
|
||||
|
||||
### Eigenschaften
|
||||
|
||||
- Blockierung auf **BungeeCord-Ebene**
|
||||
- **YAML-basierte** Konfiguration
|
||||
- **Live-Verwaltung** per Command
|
||||
- **Bypass-Permission** für Admins
|
||||
- **Keine Abhängigkeit** von anderen Modulen
|
||||
|
||||
---
|
||||
|
||||
### Konfigurationsdatei
|
||||
|
||||
**Datei:**
|
||||
`plugins/StatusAPI/blocked-commands.yml`
|
||||
|
||||
```yaml
|
||||
blocked:
|
||||
- plugins
|
||||
- pl
|
||||
- version
|
||||
- about
|
||||
```
|
||||
|
||||
### Weitere Dateien
|
||||
Änderungen können entweder **manuell** oder **per Befehl** vorgenommen werden.
|
||||
|
||||
- **filter.yml**: Hier trägst du Badwords ein, die im Chat zensiert werden sollen
|
||||
- **welcome.yml**: Hier definierst du Willkommensnachrichten für neue Spieler (nur sichtbar, wenn Welcome-Events aktiviert sind)
|
||||
- **plugins/StatusAPI/logs/**: Hier werden alle Chatnachrichten als Textdateien gespeichert (Löschung nach 7 Tagen)
|
||||
---
|
||||
|
||||
## 💻 Befehle
|
||||
## Befehle
|
||||
|
||||
| Befehl | Beschreibung | Permission |
|
||||
|--------|--------------|------------|
|
||||
| `/verify <token>` | Verifiziert den Spieler mit der WordPress-Seite | - |
|
||||
| `/survival` / `/lobby` | Führt dich auf den entsprechenden Server um (wird dynamisch erstellt) | - |
|
||||
| `/globalmute` | Aktiviert oder deaktiviert den globalen Chat | `globalchat.mute` |
|
||||
| `/globalreload` | Lädt Filter und Konfigurationen neu | `globalchat.reload` |
|
||||
| `/clearchat, cc` | Löscht den Chatverlauf | `globalchat.clear` |
|
||||
| `/togglechat` | schaltet für den Spieler den Chat ab | - |
|
||||
| `/support <msg>` | Sendet eine Nachricht an das Online-Team | - |
|
||||
| `/reply <msg>` | Antwortet auf eine Support-Anfrage | - |
|
||||
| `/info` | Zeigt Plugin-Informationen an | - |
|
||||
|------|-------------|------------|
|
||||
| `/cb add <command>` | Blockiert einen Command | `commandblocker.admin` |
|
||||
| `/cb remove <command>` | Entfernt einen Block | `commandblocker.admin` |
|
||||
| `/cb list` | Zeigt alle blockierten Commands | `commandblocker.admin` |
|
||||
| `/cb reload` | Lädt die YAML neu | `commandblocker.admin` |
|
||||
|
||||
## 🌐 JSON API (Status)
|
||||
---
|
||||
|
||||
Die API läuft unter `http://DEINE_IP:9191/`.
|
||||
## Bypass
|
||||
|
||||
### Beispiel Request
|
||||
```bash
|
||||
curl http://127.0.0.1:9191/
|
||||
Spieler mit folgender Permission umgehen den CommandBlocker vollständig:
|
||||
|
||||
```yaml
|
||||
commandblocker.bypass
|
||||
```
|
||||
|
||||
### Beispiel Antwort
|
||||
---
|
||||
|
||||
## 💻 Allgemeine Befehle
|
||||
|
||||
| Befehl | Beschreibung | Permission |
|
||||
|------|-------------|------------|
|
||||
| `/verify <token>` | WordPress-Verifizierung | - |
|
||||
| `/globalmute` | Globalen Chat sperren | `globalchat.mute` |
|
||||
| `/globalreload` | Config neu laden | `globalchat.reload` |
|
||||
| `/clearchat`, `/cc` | Chat leeren | `globalchat.clear` |
|
||||
| `/togglechat` | Chat lokal deaktivieren | - |
|
||||
| `/support <msg>` | Support-Anfrage senden | - |
|
||||
| `/reply <msg>` | Auf Support antworten | - |
|
||||
| `/info` | Plugin-Infos anzeigen | - |
|
||||
|
||||
---
|
||||
|
||||
## 🌐 JSON API
|
||||
|
||||
**Endpoint:**
|
||||
```yaml
|
||||
http://DEINE_IP:9191/
|
||||
```
|
||||
|
||||
|
||||
### Beispiel-Antwort
|
||||
|
||||
```json
|
||||
{
|
||||
"online": true,
|
||||
@@ -117,28 +172,54 @@ curl http://127.0.0.1:9191/
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Für Entwickler
|
||||
|
||||
Die StatusAPI ist modular aufgebaut. Du kannst eigene Module erstellen, ohne den Core-Code zu berühren.
|
||||
Die **StatusAPI** ist vollständig modular aufgebaut und erlaubt die einfache Erweiterung um eigene Module, ohne den Core-Code zu verändern.
|
||||
|
||||
### Beispiel
|
||||
---
|
||||
|
||||
### Eigenes Modul erstellen
|
||||
|
||||
1. Klasse implementiert das `Module`-Interface
|
||||
2. Optional zusätzlich `Listener` implementieren
|
||||
3. Registrierung im Core (z. B. im ModuleManager):
|
||||
|
||||
1. Erstelle eine Klasse, die `Module` implementiert
|
||||
2. Registriere sie in der StatusAPI Hauptdatei:
|
||||
```java
|
||||
moduleManager.registerModule(new MeinModul());
|
||||
```
|
||||
### Modul-Lifecycle
|
||||
|
||||
3. Dein Modul hat Zugriff auf `onEnable` und `onDisable` des Haupt-Plugins
|
||||
Jedes Modul besitzt Zugriff auf folgende Lifecycle-Methoden:
|
||||
|
||||
## 📝 Permissions
|
||||
- `onEnable(Plugin plugin)`
|
||||
- `onDisable(Plugin plugin)`
|
||||
|
||||
- `globalchat.mute` - Erlaubt das Stummschalten des Chats
|
||||
- `globalchat.bypass` - Erlaubt das Schreiben, auch wenn der Chat gemuted ist
|
||||
- `globalchat.reload` - Erlaubt das Neuladen der Konfiguration
|
||||
- `globalchat.clear` - Löscht den Kompletten Chatverlauf
|
||||
Diese Methoden werden automatisch beim **Starten** bzw. **Stoppen** des Proxys aufgerufen.
|
||||
|
||||
---
|
||||
|
||||
## 📝 Permissions Übersicht
|
||||
|
||||
- `globalchat.mute`
|
||||
- `globalchat.bypass`
|
||||
- `globalchat.reload`
|
||||
- `globalchat.clear`
|
||||
- `commandblocker.admin`
|
||||
- `commandblocker.bypass`
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Credits
|
||||
|
||||
Entwickelt von **M_Viper**.
|
||||
Unterstützt durch BungeeCord und LuckPerms Community.
|
||||
---
|
||||
|
||||
## 📜 Lizenz & Nutzung
|
||||
|
||||
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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user