README.md aktualisiert

This commit is contained in:
2026-02-20 23:49:35 +00:00
parent 12c9379797
commit a91e17a097

141
README.md
View File

@@ -16,9 +16,15 @@
- **Bessere Fehlerausgaben** Alle Fehler erscheinen im Log und für Admins im Chat, inkl. Validierungs- und Speicherfehler - **Bessere Fehlerausgaben** Alle Fehler erscheinen im Log und für Admins im Chat, inkl. Validierungs- und Speicherfehler
- **Debug-Modus & Versionsprüfung** Für Entwickler und Admins, erkennt veraltete config.yml automatisch - **Debug-Modus & Versionsprüfung** Für Entwickler und Admins, erkennt veraltete config.yml automatisch
- **Komplett anpassbar** Nachrichten, Farben, Limits, Speicherpfade, Archiv-Intervall, Cooldowns, Rechte - **Komplett anpassbar** Nachrichten, Farben, Limits, Speicherpfade, Archiv-Intervall, Cooldowns, Rechte
- **Unit-Tests** Getestete Speicher-Logik für maximale Zuverlässigkeit - **Dynamische GUI** Die Ticket-GUI passt sich automatisch der Ticketanzahl an (bis zu 45 Tickets pro Seite), Item-Material richtet sich nach der konfigurierten Kategorie
- **Dynamische GUI** Die Ticket-GUI passt sich automatisch der Ticketanzahl an (bis zu 54 Tickets pro Seite)
- **Seiten-System** Bei sehr vielen Tickets wird automatisch geblättert - **Seiten-System** Bei sehr vielen Tickets wird automatisch geblättert
- **Kategorie-System** Frei konfigurierbare Kategorien (Name, Farbe, Material, Aliases) in der config.yml
- **Prioritäten-System** Vier Stufen (LOW / NORMAL / HIGH / URGENT), beim Erstellen wählbar und nachträglich via GUI oder Befehl änderbar
- **Bewertungs-System** Spieler können nach Ticket-Schließung den Support bewerten (`good` / `bad`), Ergebnisse in `/ticket stats`
- **Kommentar-System** Spieler und Support können Nachrichten direkt am Ticket hinterlassen
- **Offline-Benachrichtigungen** Verpasste Kommentar-, Schließ- und Status-Benachrichtigungen werden gespeichert und beim nächsten Login angezeigt
- **Discord-Webhook** Benachrichtigungen mit Embeds, konfigurierbarem Rollen-Ping und Kategorie/Priorität-Anzeige
- **Blacklist** Spieler vom Ticket-System ausschließen
- **Performance** Optimiert für große Server, alle Operationen laufen asynchron und ressourcenschonend - **Performance** Optimiert für große Server, alle Operationen laufen asynchron und ressourcenschonend
- **Support & Erweiterbarkeit** Sauberer Code, viele Hooks für eigene Erweiterungen - **Support & Erweiterbarkeit** Sauberer Code, viele Hooks für eigene Erweiterungen
@@ -26,59 +32,38 @@
## Installation & Setup ## Installation & Setup
1. **config.yml** anpassen (Speicherorte, Nachrichten, Limits, Farben, MySQL-Daten etc.) 1. **TicketSystem.jar** in den `plugins`-Ordner legen und Server starten
2. **TicketSystem.jar** in den plugins-Ordner legen und Server starten 2. **config.yml** anpassen (Speicherorte, Nachrichten, Limits, Farben, MySQL-Daten etc.)
3. **/ticket**-Befehle nutzen (siehe unten) 3. **/ticket**-Befehle nutzen (siehe unten)
--- ---
## Beispiel-Konfiguration
```yaml
config-version: 1
debug: false
storage:
type: "file" # "file" oder "mysql"
data-file: "data.yml"
archive-file: "archive.yml"
mysql:
host: "localhost"
port: 3306
database: "tickets"
user: "root"
password: "password"
useSSL: false
auto-archive-interval-hours: 24
messages:
prefix: "&7[&eTicket&7]"
ticket-created: "&aDein Ticket wurde erstellt!"
error: "&cEin Fehler ist aufgetreten!"
```
---
## Befehle & Rechte ## Befehle & Rechte
### Spieler-Befehle ### Spieler-Befehle
``` ```
/ticket - Ticket erstellen, verwalten, Status abfragen /ticket - Hilfe & Befehlsübersicht
/ticket create <Nachricht> - Neues Ticket erstellen /ticket create [Kategorie] [Priorität] <Text> - Neues Ticket erstellen
/ticket list - Zeigt alle Tickets des Spielers /ticket list - Eigene Tickets in der GUI anzeigen
/ticket close <ID> - Ticket schließen /ticket comment <ID> <Nachricht> - Kommentar zu einem Ticket hinzufügen
/ticket rate <ID> <good|bad> - Abgeschlossenes Ticket bewerten
``` ```
### Admin-Befehle ### Support/Admin-Befehle
``` ```
/ticket reload - Plugin neu laden /ticket claim <ID> - Ticket annehmen
/ticket migrate - Speicherart wechseln (Migration) /ticket close <ID> [Kommentar] - Ticket schließen
/ticket export/import - Tickets exportieren/importieren
/ticket stats - Statistiken anzeigen
/ticket archive - Tickets archivieren
/ticket claim <ID> - Ticket übernehmen
/ticket forward <ID> <Spieler> - Ticket weiterleiten /ticket forward <ID> <Spieler> - Ticket weiterleiten
/ticket close <ID> - Ticket schließen /ticket setpriority <ID> <low|normal|high|urgent> - Priorität eines Tickets ändern
/ticket reload - Konfiguration neu laden (inkl. Kategorien)
/ticket stats - Statistiken anzeigen
/ticket archive - Geschlossene Tickets archivieren
/ticket blacklist <add|remove|list> [Spieler] [Grund] - Blacklist verwalten
/ticket migrate <tomysql|tofile> - Speicherart wechseln
/ticket export <Dateiname> - Tickets exportieren
/ticket import <Dateiname> - Tickets importieren
``` ```
### Permissions ### Permissions
@@ -86,9 +71,9 @@ messages:
| Permission | Beschreibung | Standard | | Permission | Beschreibung | Standard |
|---|---|---| |---|---|---|
| `ticket.create` | Ticket erstellen | ✅ alle Spieler | | `ticket.create` | Ticket erstellen | ✅ alle Spieler |
| `ticket.support` | Tickets einsehen, claimen & schließen | ❌ manuell vergeben | | `ticket.support` | Tickets einsehen, claimen, schließen & Priorität ändern | ❌ manuell vergeben |
| `ticket.archive` | Archiv öffnen, einsehen & Tickets permanent löschen | ❌ manuell vergeben | | `ticket.archive` | Archiv öffnen, einsehen & Tickets permanent löschen | ❌ manuell vergeben |
| `ticket.admin` | Voller Zugriff inkl. Weiterleitung & Reload (beinhaltet `ticket.support`) | OP | | `ticket.admin` | Voller Zugriff inkl. Weiterleitung, Reload & Blacklist (beinhaltet `ticket.support`) | OP |
> ⚠️ **Wichtig:** `ticket.archive` ist bewusst **nicht** in `ticket.admin` enthalten und wird auch **nicht automatisch an OPs vergeben**. Das Archiv-Recht muss explizit zugewiesen werden: > ⚠️ **Wichtig:** `ticket.archive` ist bewusst **nicht** in `ticket.admin` enthalten und wird auch **nicht automatisch an OPs vergeben**. Das Archiv-Recht muss explizit zugewiesen werden:
> ``` > ```
@@ -97,23 +82,68 @@ messages:
--- ---
## Kategorie & Priorität beim Erstellen
Beim Erstellen eines Tickets können Kategorie und Priorität optional angegeben werden:
```
/ticket create <Text> → Kategorie: Standard, Priorität: NORMAL
/ticket create bug <Text> → Kategorie: Bug, Priorität: NORMAL
/ticket create high <Text> → Kategorie: Standard, Priorität: HIGH
/ticket create bug high <Text> → Kategorie: Bug, Priorität: HIGH
/ticket create question urgent <Text> → Kategorie: Frage, Priorität: URGENT
```
Verfügbare Prioritäten: `low`, `normal`, `high`, `urgent` (auch auf Deutsch: `niedrig`, `hoch`, `dringend`)
Kategorien und ihre Aliases sind frei in der `config.yml` konfigurierbar.
---
## Discord-Webhook
Der integrierte Discord-Webhook unterstützt:
- **Embeds** mit Kategorie und Priorität als eigene Felder
- **Rollen-Ping** (`@role`) pro Nachrichtentyp einzeln konfigurierbar
- **Drei Ereignisse:** Neues Ticket, Ticket geschlossen, Ticket weitergeleitet
Konfiguration in der `config.yml`:
```yaml
discord:
enabled: true
webhook-url: "https://discord.com/api/webhooks/..."
role-ping-id: "123456789012345678" # Discord-Rollen-ID (leer = kein Ping)
messages:
new-ticket:
role-ping: true
show-category: true
show-priority: true
ticket-closed:
enabled: true
role-ping: false
```
---
## FAQ ## FAQ
**Kann ich zwischen MySQL und Datei-Speicherung wechseln?** **Kann ich zwischen MySQL und Datei-Speicherung wechseln?**
> Ja! Das Plugin migriert alle Daten automatisch und sicher. > Ja! Mit `/ticket migrate tomysql` oder `/ticket migrate tofile` werden alle Daten automatisch migriert.
**Wie viele Tickets passen in die GUI?** **Wie konfiguriere ich eigene Kategorien?**
> Bis zu 54 pro Seite, bei mehr Tickets wird automatisch geblättert. > In der `config.yml` unter `categories:` — Name, Farbe, Material (für die GUI) und Aliases frei wählbar. Änderungen werden mit `/ticket reload` übernommen.
**Wie kann ich Nachrichten und Limits anpassen?** **Was passiert mit Benachrichtigungen wenn ein Spieler offline ist?**
> Alle Texte, Farben und Limits findest du in der `config.yml`. > Alle Kommentar-, Schließ- und Status-Benachrichtigungen werden gespeichert und beim nächsten Login gebündelt angezeigt.
**Wie ändere ich die Priorität eines bestehenden Tickets?**
> Als Support/Admin entweder per Befehl `/ticket setpriority <ID> <Priorität>` oder direkt in der Detail-GUI per Klick.
**Wie aktiviere ich den Debug-Modus?** **Wie aktiviere ich den Debug-Modus?**
> Setze `debug: true` in der `config.yml`. > Setze `debug: true` in der `config.yml`.
**Wie kann ich Tickets exportieren/importieren?**
> Mit `/ticket export` und `/ticket import` ideal für Server-Umzüge.
**Wer darf das Ticket-Archiv sehen?** **Wer darf das Ticket-Archiv sehen?**
> Nur Spieler mit der Permission `ticket.archive`. Diese wird weder automatisch an OPs noch an Admins vergeben und muss explizit zugewiesen werden. > Nur Spieler mit der Permission `ticket.archive`. Diese wird weder automatisch an OPs noch an Admins vergeben und muss explizit zugewiesen werden.
@@ -125,9 +155,14 @@ messages:
|----------------------------------|:------------:|:-------------:|:---------------:| |----------------------------------|:------------:|:-------------:|:---------------:|
| Speicher-Migration | ✔️ | ⚠️ | ✖️ | | Speicher-Migration | ✔️ | ⚠️ | ✖️ |
| Automatische Backups | ✔️ | ⚠️ | ✖️ | | Automatische Backups | ✔️ | ⚠️ | ✖️ |
| GUI | ✔️ | ⚠️ | ✖️ | | GUI mit Kategorie-Materialien | ✔️ | ⚠️ | ✖️ |
| Archivierung | ✔️ | ⚠️ | ✖️ | | Archivierung | ✔️ | ⚠️ | ✖️ |
| Rollenbasierter Archiv-Zugriff | ✔️ | ✖️ | ✖️ | | Rollenbasierter Archiv-Zugriff | ✔️ | ✖️ | ✖️ |
| Kategorie-System (konfigurierbar)| ✔️ | ✖️ | ✖️ |
| Prioritäten-System | ✔️ | ✖️ | ✖️ |
| Offline-Benachrichtigungen | ✔️ | ✖️ | ✖️ |
| Discord-Webhook mit Rollen-Ping | ✔️ | ✖️ | ✖️ |
| Bewertungs-System | ✔️ | ✖️ | ✖️ |
| Update-Checker | ✔️ | ✖️ | ✖️ | | Update-Checker | ✔️ | ✖️ | ✖️ |
--- ---
@@ -143,5 +178,5 @@ Wir antworten in der Regel innerhalb von 24 Stunden!
## ⭐ Unterstütze das Projekt ## ⭐ Unterstütze das Projekt
Wenn TicketSystem deinen Server bereichert hat, freuen wir uns über eine **5-Sterne Bewertung auf spigotmc**! Wenn TicketSystem deinen Server bereichert hat, freuen wir uns über eine **5-Sterne Bewertung auf SpigotMC**!
Dein Feedback hilft uns, das Plugin weiter zu verbessern. Dein Feedback hilft uns, das Plugin weiter zu verbessern.