Files
TicketSystem/README.md
2026-02-21 13:25:26 +00:00

218 lines
9.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TicketSystem
![Version](https://img.shields.io/badge/Minecraft-1.18.x--1.21.x-green?style=for-the-badge) ![Java](https://img.shields.io/badge/Java-17+-orange?style=for-the-badge) ![Type](https://img.shields.io/badge/Type-Support-blue?style=for-the-badge)
**TicketSystem** ist das flexible, moderne Support- und Feedback-Plugin für Minecraft-Server (Spigot/Paper 1.18.x1.21.x, Java 17+). Es bietet flexible Speicherung, automatische Backups & Migration, Export/Import, Statistiken, dynamische GUI, Kategorie- und Prioritäten-System, Bewertungs- und Kommentar-System, Discord-Webhook und volle BungeeCord-Unterstützung.
---
## Features
- MySQL oder Datei-Speicherung (YAML/JSON oder MySQL/MariaDB, jederzeit umschaltbar)
- Automatische Backups & Migration
- Export/Import von Tickets
- Statistiken & Archivierung
- Rollenbasierter Archiv-Zugriff
- Konfigurierbare Speicherpfade
- Vollständige Validierung & Fehlerausgaben
- Debug-Modus & Versionsprüfung
- Anpassbare Nachrichten, Farben, Limits, Speicherpfade, Archiv-Intervall, Cooldowns, Rechte
- Dynamische GUI mit Seiten-System
- Kategorie- und Prioritäten-System
- Bewertungs- und Kommentar-System
- Offline-Benachrichtigungen
- Discord-Webhook mit Embeds & Rollen-Ping
- Blacklist für Spieler
- Performance: asynchron, ressourcenschonend
- Erweiterbarkeit: viele Hooks
- **BungeeCord-Unterstützung**: serverübergreifende Tickets, Teleports, Weiterleitungen, Benachrichtigungen
---
## Installation & Setup
1. 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
---
## Befehle & Rechte
### Übersicht der Befehle
| Befehl | Beschreibung | Nutzergruppe |
|-------------------------------------|---------------------------------------------------|----------------------|
| /ticket | Hilfe & Übersicht | Spieler, Support |
| /ticket create [Kategorie] [Priorität] <Text> | Ticket erstellen | Spieler |
| /ticket list | Eigene Tickets in der GUI anzeigen | Spieler |
| /ticket comment <ID> <Nachricht> | Kommentar hinzufügen | Spieler, Support |
| /ticket rate <ID> <good|bad> | Support bewerten | Spieler |
| /ticket claim <ID> | Ticket annehmen | Support/Admin |
| /ticket close <ID> [Kommentar] | Ticket schließen | Support/Admin |
| /ticket forward <ID> <Spieler> | Ticket weiterleiten | Support/Admin |
| /ticket setpriority <ID> <low|normal|high|urgent> | Priorität ändern | Support/Admin |
| /ticket reload | Konfiguration neu laden | Support/Admin |
| /ticket stats | Statistiken anzeigen | Support/Admin |
| /ticket archive | Tickets archivieren | Support/Admin |
| /ticket blacklist <add|remove|list> [Spieler] [Grund] | Blacklist verwalten | Support/Admin |
| /ticket migrate <tomysql|tofile> | Speicherart wechseln | Support/Admin |
| /ticket export <Dateiname> | Tickets exportieren | Support/Admin |
| /ticket import <Dateiname> | Tickets importieren | Support/Admin |
| /ticket teleport <ID> | Teleport zu Ticket (BungeeCord) | Support/Admin |
### Rechte
| Permission | Beschreibung | Standard |
|-------------------|---------------------------------------------------|------------------|
| ticket.create | Ticket erstellen | alle Spieler |
| ticket.support | Tickets einsehen, claimen, schließen, Priorität | manuell vergeben |
| ticket.archive | Archiv öffnen, Tickets löschen | manuell vergeben |
| ticket.admin | Voller Zugriff (inkl. Weiterleitung, Reload, Blacklist) | OP |
> ticket.archive ist nicht in ticket.admin enthalten und muss explizit vergeben werden.
---
## Kategorie & Priorität
Beim Erstellen eines Tickets können Kategorie und Priorität optional angegeben werden. Die folgende Tabelle zeigt die Möglichkeiten und Beispiele:
| Befehl | Kategorie | Priorität |
|----------------------------------------|-------------|-----------|
| /ticket create <Text> | Standard | NORMAL |
| /ticket create bug <Text> | Bug | NORMAL |
| /ticket create high <Text> | Standard | HIGH |
| /ticket create bug high <Text> | Bug | HIGH |
| /ticket create question urgent <Text> | Frage | URGENT |
**Verfügbare Prioritäten:**
- low
- normal
- high
- urgent
(auch deutsch: niedrig, hoch, dringend)
**Kategorien und Aliases** sind frei in der config.yml konfigurierbar.
---
## Discord-Webhook
- Embeds mit Kategorie & Priorität
- Rollen-Ping pro Nachrichtentyp
- Drei Ereignisse: neues Ticket, Ticket geschlossen, Ticket weitergeleitet
Konfiguration in config.yml:
discord:
enabled: true
webhook-url: "https://discord.com/api/webhooks/..."
role-ping-id: "123456789012345678"
messages:
new-ticket:
role-ping: true
show-category: true
show-priority: true
ticket-closed:
enabled: true
role-ping: false
---
## BungeeCord-Unterstützung
TicketSystem bietet volle Unterstützung für BungeeCord-Netzwerke:
- Tickets von jedem Server im Netzwerk
- Teleport zu Tickets auf anderen Servern (/ticket teleport <ID>)
- Tickets im Archiv und GUI serverübergreifend
- Benachrichtigungen an alle Server
- Discord-Webhooks zeigen Server-Namen
- Tickets an Supporter auf anderen Servern weiterleiten
- Teleport funktioniert auch zwischen Servern
**Voraussetzungen:**
- spigot.yml: bungeecord: true
- config.yml: bungeecord: true, server-name pro Server
- TicketSystem.jar auf allen Spigot-Servern
- Alle Server nutzen dieselbe MySQL-Datenbank
**Cross-Server-Befehle:**
- /ticket teleport <ID>
- /ticket forward <ID> <Spieler>
- /ticket archive
- /ticket list
**Tipps:**
- Server-Name erscheint in GUI & Discord
- Zielspieler muss online sein
- Funktionen auch im Einzelserver-Modus
- Bei Problemen: gleiche MySQL, Kanäle in plugin.yml prüfen
---
## Vergleich mit anderen Plugins
TicketSystem hebt sich durch viele Alleinstellungsmerkmale von anderen Ticket-Plugins ab. Die folgende Tabelle zeigt die wichtigsten Unterschiede:
| Feature | TicketSystem | SimpleTickets | AdvancedTickets |
|-------------------------|:------------:|:-------------:|:---------------:|
| Speicher-Migration | ✔️ | ⚠️ | ✖️ |
| Automatische Backups | ✔️ | ⚠️ | ✖️ |
| GUI mit Kategorien | ✔️ | ⚠️ | ✖️ |
| Archivierung | ✔️ | ⚠️ | ✖️ |
| Rollenbasierter Archiv | ✔️ | ✖️ | ✖️ |
| Kategorie-System | ✔️ | ✖️ | ✖️ |
| Prioritäten-System | ✔️ | ✖️ | ✖️ |
| Offline-Benachrichtigungen| ✔️ | ✖️ | ✖️ |
| Discord-Webhook | ✔️ | ✖️ | ✖️ |
| Bewertungs-System | ✔️ | ✖️ | ✖️ |
| Update-Checker | ✔️ | ✖️ | ✖️ |
| BungeeCord-Unterstützung | ✔️ | ✖️ | ✖️ |
Legende:
- ✔️ = Vollständige Unterstützung
- ⚠️ = Eingeschränkte oder fehleranfällige Unterstützung
- ✖️ = Nicht vorhanden
---
## FAQ
**Kann ich zwischen MySQL und Datei-Speicherung wechseln?**
> Ja! Mit /ticket migrate tomysql oder /ticket migrate tofile werden alle Daten automatisch migriert.
**Wie konfiguriere ich eigene Kategorien?**
> In der config.yml unter categories: Name, Farbe, Material und Aliases frei wählbar. Änderungen mit /ticket reload übernehmen.
**Was passiert mit Benachrichtigungen wenn ein Spieler offline ist?**
> Alle Benachrichtigungen werden gespeichert und beim nächsten Login angezeigt.
**Wie ändere ich die Priorität eines Tickets?**
> Als Support/Admin per Befehl /ticket setpriority <ID> <Priorität> oder direkt in der GUI.
**Wie aktiviere ich den Debug-Modus?**
> debug: true in der config.yml setzen.
**Wer darf das Ticket-Archiv sehen?**
> Nur Spieler mit ticket.archive. Muss explizit vergeben werden.
**Wie funktioniert Teleport bei BungeeCord?**
> Mit /ticket teleport <ID> wirst du automatisch auf den richtigen Server und zur Ticket-Position teleportiert.
---
## Support, Community & Motivation
Du hast Fragen, brauchst Hilfe oder möchtest Feedback geben?
- [Discord Support](https://discord.com/invite/FdRs4BRd8D)
- [Git Issues](https://git.viper.ipv64.net/M_Viper/TicketSystem/issues)
Wir antworten in der Regel innerhalb von 24 Stunden!
**Dein Feedback zählt:**
Wenn TicketSystem deinen Server bereichert hat, freuen wir uns über eine 5-Sterne Bewertung auf SpigotMC!
Jede Rückmeldung hilft, das Plugin weiter zu verbessern und die Community zu stärken.