README.md aktualisiert
This commit is contained in:
171
README.md
171
README.md
@@ -33,9 +33,13 @@ Dieses Plugin nutzt eine eigene Datenbankstruktur für maximale Performance und
|
||||
Ankaufspreis pro Item konfigurierbar (% vom VK, Festpreis oder VK minus Betrag).
|
||||
|
||||
- ✈️ **Fly-Abo-System**
|
||||
Zeitbasiertes Fly-Abonnement mit tägl. Stunden-Limit (Standard: 6h).
|
||||
Monatlich abgebuchtes Abonnement mit tägl. Stunden-Limit (Standard: 6h).
|
||||
Kauf im Shop, Verwaltung & Kündigung vollständig ingame.
|
||||
|
||||
- 📦 **Plot-Slot-System**
|
||||
Zusätzliche PlotSquared-Slots einmalig kaufen oder monatlich abonnieren.
|
||||
Integration über LuckPerms (`plots.plot.<n>` Permission), vollautomatisch.
|
||||
|
||||
- 🌐 **REST API ohne RCON**
|
||||
|
||||
- 📊 **Top-Spender & Umsatzstatistik**
|
||||
@@ -98,7 +102,7 @@ fly-redeem-disabled: false
|
||||
# Spieler der die Einnahmen aus dem Shop erhält (Vault-Konto)
|
||||
income-receiver: ""
|
||||
|
||||
# MySQL-Verbindung (für Fly-Code-System, Rang-Sessions und Fly-Abo)
|
||||
# MySQL-Verbindung (für Fly-Code-System, Rang-Sessions, Fly-Abo und Plot-Slots)
|
||||
mysql:
|
||||
host: "localhost"
|
||||
port: "3306"
|
||||
@@ -117,12 +121,29 @@ sell:
|
||||
fly-abo:
|
||||
# Maximale Fly-Zeit pro Tag in Stunden (Standard: 6)
|
||||
max-daily-hours: 6
|
||||
|
||||
# Plot-Slot Einstellungen (nur Citybuild)
|
||||
plot-slots:
|
||||
# Auf welchem Server greift das Plot-Slot-System?
|
||||
server: "citybuild"
|
||||
# Standard-Plot-Slots pro LuckPerms-Gruppe
|
||||
rank-defaults:
|
||||
member: 2
|
||||
vip: 3
|
||||
scout: 4
|
||||
primo: 5
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🎮 Ingame-Befehle
|
||||
|
||||
## Übersicht
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
|--------|-------------|--------------|
|
||||
| `/abo` | Zeigt alle laufenden Abonnements in einer Übersicht | `ingameshop.abo` |
|
||||
|
||||
## Shop / Bestellungen
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
@@ -144,9 +165,19 @@ fly-abo:
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
|--------|-------------|--------------|
|
||||
| `/flyabo` | Zeigt Abo-Status, Ablaufdatum und heutiges Tageslimit | `ingameshop.flyabo` |
|
||||
| `/flyabocancel [confirm]` | Kündigt das Abo zum Ablaufdatum (bleibt bis dahin aktiv) | `ingameshop.flyabocancel` |
|
||||
| `/flyabocancel confirm` | Kündigt das Abo zum Monatsende (bleibt bis dahin aktiv) | `ingameshop.flyabocancel` |
|
||||
| `/flyabogive <Spieler> <Monatspreis> [Label]` | Vergibt ein Fly-Abo manuell (Admin) | `ingameshop.flyabogive` (OP) |
|
||||
|
||||
## Plot-Slots
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
|--------|-------------|--------------|
|
||||
| `/plotslots` | Zeigt eigene Slot-Übersicht (Basis / Einmalig / Abo / Gesamt) | `ingameshop.plotslots` |
|
||||
| `/plotabo` | Zeigt Plot-Abo-Status, Slots, Preis und Ablaufdatum | `ingameshop.plotabo` |
|
||||
| `/plotabocancel confirm` | Kündigt das Plot-Abo zum Monatsende | `ingameshop.plotabocancel` |
|
||||
| `/plotabogive <Spieler> <Slots> <Preis> [Label]` | Vergibt ein Plot-Abo manuell (Admin) | `ingameshop.plotabogive` (OP) |
|
||||
| `/plotslotsgive <Spieler> <Slots> [Label]` | Vergibt permanente Plot-Slots (Admin) | `ingameshop.plotslotsgive` (OP) |
|
||||
|
||||
## Ränge
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
@@ -218,12 +249,105 @@ Die Item-ID wird automatisch als `fly_abo` gespeichert.
|
||||
| Zahlung fehlgeschlagen | Abo läuft bis Monatsende, danach automatisch beendet |
|
||||
| `/flyabocancel confirm` | Kündigung vorgemerkt, Abo läuft bis Monatsende weiter |
|
||||
|
||||
## Datenbanktabellen
|
||||
---
|
||||
|
||||
| Tabelle | Inhalt |
|
||||
|---------|--------|
|
||||
| `wis_fly_abos` | Aktive Abos pro Spieler (Label, Ablaufdatum, Kündigungs-Flag) |
|
||||
| `wis_fly_abo_usage` | Tagesverbrauch pro Spieler (wird täglich neu erfasst) |
|
||||
# 📦 Plot-Slot-System
|
||||
|
||||
Spieler können zusätzliche Plot-Slots auf dem Citybuild-Server kaufen – entweder **einmalig permanent** oder als **monatliches Abo**.
|
||||
|
||||
## Standard-Limits pro Rang
|
||||
|
||||
| Rang | Standard-Slots |
|
||||
|------|---------------|
|
||||
| Member | 2 |
|
||||
| VIP | 3 |
|
||||
| Scout | 4 |
|
||||
| Primo | 5 |
|
||||
|
||||
## Gesamtlimit-Berechnung
|
||||
|
||||
```
|
||||
Gesamt = Rang-Basis + einmalig gekaufte Slots + Abo-Slots
|
||||
```
|
||||
|
||||
Das Plugin setzt automatisch die LuckPerms-Permission `plots.plot.<n>` – PlotSquared liest diese direkt aus.
|
||||
|
||||
## PlotSquared Voraussetzung
|
||||
|
||||
In `plugins/PlotSquared/config/worlds.yml` muss für jede Welt gesetzt sein:
|
||||
|
||||
```yaml
|
||||
worlds:
|
||||
citybuild:
|
||||
plot:
|
||||
max_plots_per_player: -1
|
||||
```
|
||||
|
||||
## Shop-Artikel anlegen (WordPress)
|
||||
|
||||
**Einmaliger Kauf (permanent):**
|
||||
1. Typ: **„📦 Plot-Slots (einmalig)"** auswählen
|
||||
2. Anzahl der zusätzlichen Slots eingeben
|
||||
3. Preis setzen → Speichern
|
||||
Item-ID: `plot_slots_2` (z.B. +2 Slots permanent)
|
||||
|
||||
**Monatliches Abo:**
|
||||
1. Typ: **„📦 Plot-Abo (monatlich)"** auswählen
|
||||
2. Anzahl der Abo-Slots eingeben
|
||||
3. Preis setzen (= monatlicher Beitrag) → Speichern
|
||||
Item-ID: `plot_abo_2` (z.B. +2 Slots monatlich)
|
||||
|
||||
## Billing-Übersicht
|
||||
|
||||
| Zeitpunkt | Was passiert |
|
||||
|-----------|-------------|
|
||||
| Kauf im Shop | Vault-Abzug, Slots sofort aktiv, LuckPerms Permission gesetzt |
|
||||
| 1. des Monats | Automatische Vault-Abbuchung, Abo-Slots bleiben aktiv |
|
||||
| Zahlung fehlgeschlagen | Abo-Slots verfallen, überzählige Plots eingefroren |
|
||||
| `/plotabocancel confirm` | Kündigung vorgemerkt, läuft bis Monatsende weiter |
|
||||
|
||||
## Einfrieren bei Zahlungsausfall
|
||||
|
||||
Wenn nach Zahlungsausfall der Spieler mehr Plots besitzt als das neue Limit erlaubt, werden die überzähligen Plots eingefroren (kein Bauen möglich) bis das Abo erneuert wird.
|
||||
|
||||
---
|
||||
|
||||
# 📋 /abo – Abo-Übersicht
|
||||
|
||||
Der Befehl `/abo` zeigt alle laufenden Abonnements eines Spielers in einer kompakten Übersicht:
|
||||
|
||||
```
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
📋 Meine Abonnements
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
✈ Fly-Abo
|
||||
┌ Paket: Fly-Abo Monat
|
||||
├ Preis: 50 $ / Monat
|
||||
├ Status: ✔ Aktiv
|
||||
├ Aktiv bis: 30.04.2026
|
||||
├ Nächste Abbuchung: 01.05.2026
|
||||
├ Heute: 1h 30min / 6h (noch: 4h 30min)
|
||||
└ Kündigen: /flyabocancel confirm
|
||||
|
||||
📦 Plot-Abo
|
||||
┌ Paket: Plot-Abo +2 Slots
|
||||
├ Slots: +2 Plot-Slots
|
||||
├ Preis: 30 $ / Monat
|
||||
├ Status: ✔ Aktiv
|
||||
├ Aktiv bis: 30.04.2026
|
||||
├ Nächste Abbuchung: 01.05.2026
|
||||
└ Kündigen: /plotabocancel confirm
|
||||
|
||||
📦 Plot-Slots
|
||||
┌ Rang-Basis: 2
|
||||
├ Einmalig: +1
|
||||
├ Abo: +2
|
||||
└ Gesamt: 5 Slots
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
```
|
||||
|
||||
Die Plot-Slots-Übersicht wird immer angezeigt. Hat der Spieler kein Abo, erscheint ein Hinweis mit dem Shop-Link.
|
||||
|
||||
---
|
||||
|
||||
@@ -311,7 +435,7 @@ Ideal für:
|
||||
### Einzelbearbeitung
|
||||
|
||||
- Item ID (`minecraft:diamond`)
|
||||
- Typ: Minecraft Item | ✈ Fly-Gutschein | 👑 Rang (LuckPerms) | ✈ Fly-Abo (tägl. Limit)
|
||||
- Typ: Minecraft Item | ✈ Fly-Gutschein | 👑 Rang (LuckPerms) | ✈ Fly-Abo | 📦 Plot-Slots (einmalig) | 📦 Plot-Abo (monatlich)
|
||||
- Preis
|
||||
- Angebotspreis
|
||||
- Server-Zuweisung
|
||||
@@ -392,7 +516,7 @@ Beispiel:
|
||||
```
|
||||
Blöcke
|
||||
Waffen
|
||||
Rüstung
|
||||
R<EFBFBD>stung
|
||||
Ranks
|
||||
```
|
||||
|
||||
@@ -626,6 +750,33 @@ Antwort:
|
||||
|
||||
---
|
||||
|
||||
## `wis_plot_extra_slots` *(Spigot MySQL)*
|
||||
|
||||
| Feld | Beschreibung |
|
||||
|------|-------------|
|
||||
| player_name | Minecraft Name |
|
||||
| extra_slots | Dauerhaft gekaufte Zusatz-Slots |
|
||||
| last_perm | Zuletzt gesetzter `plots.plot.<n>` Wert (für sauberes LP-Update) |
|
||||
| granted_at | Zeitstempel der letzten Vergabe |
|
||||
|
||||
---
|
||||
|
||||
## `wis_plot_abos` *(Spigot MySQL)*
|
||||
|
||||
| Feld | Beschreibung |
|
||||
|------|-------------|
|
||||
| player_name | Minecraft Name |
|
||||
| label | Anzeigename des Pakets |
|
||||
| abo_slots | Anzahl der Abo-Slots |
|
||||
| monthly_price | Monatlicher Beitrag (Vault) |
|
||||
| cancelled | 0 / 1 – Kündigung vorgemerkt? |
|
||||
| cancellation_reason | `user` oder `payment_failed` |
|
||||
| next_billing_date | Datum der nächsten Abbuchung (immer 1. des Monats) |
|
||||
| period_end | Letzter Tag der aktuellen Abo-Periode (Monatsende) |
|
||||
| granted_at | Aktivierungszeitpunkt |
|
||||
|
||||
---
|
||||
|
||||
## `wp_wis_servers`
|
||||
|
||||
Serverdefinitionen
|
||||
|
||||
Reference in New Issue
Block a user