Files
TicketSystem/README.md
2026-02-20 23:49:35 +00:00

9.2 KiB
Raw Permalink Blame History

TicketSystem

Version Java Type

TicketSystem ist das flexible, moderne Support- und Feedback-Plugin für Minecraft-Server. Es bietet flexible Speicherung (MySQL oder Datei), automatische Archivierung, Migration, Export/Import, Statistiken, vollständige Validierung, Debug-Modus, eine übersichtliche config.yml mit Versionsprüfung und eine dynamische GUI.

Features

  • MySQL oder Datei-Speicherung YAML/JSON oder MySQL/MariaDB, jederzeit umschaltbar, Migration & Backup inklusive
  • Automatische Backups & Migration Sicheres Wechseln zwischen Speicherarten, Datenverlust ausgeschlossen
  • Export/Import Tickets einfach zwischen Servern oder Instanzen übertragen
  • Statistiken & Archivierung Übersichtliche Auswertung, automatische Archivierung nach Zeitplan, manuelles Archivieren möglich
  • Rollenbasierter Archiv-Zugriff Nur Spieler mit ticket.archive können das Archiv sehen, öffnen und Tickets permanent löschen unabhängig von ticket.admin oder OP-Status
  • Konfigurierbare Speicherpfade Daten- und Archivdateien frei wählbar, auch absolute Pfade
  • Vollständige Validierung Fehlerhafte Tickets werden beim Laden erkannt, gemeldet und übersprungen
  • 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
  • Komplett anpassbar Nachrichten, Farben, Limits, Speicherpfade, Archiv-Intervall, Cooldowns, Rechte
  • 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
  • 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
  • Support & Erweiterbarkeit Sauberer Code, viele Hooks für eigene Erweiterungen

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 (siehe unten)

Befehle & Rechte

Spieler-Befehle

/ticket                                   - Hilfe & Befehlsübersicht
/ticket create [Kategorie] [Priorität] <Text>  - Neues Ticket erstellen
/ticket list                              - Eigene Tickets in der GUI anzeigen
/ticket comment <ID> <Nachricht>          - Kommentar zu einem Ticket hinzufügen
/ticket rate <ID> <good|bad>              - Abgeschlossenes Ticket bewerten

Support/Admin-Befehle

/ticket claim <ID>                        - Ticket annehmen
/ticket close <ID> [Kommentar]            - Ticket schließen
/ticket forward <ID> <Spieler>            - Ticket weiterleiten
/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

Permission Beschreibung Standard
ticket.create Ticket erstellen alle Spieler
ticket.support Tickets einsehen, claimen, schließen & Priorität ändern manuell vergeben
ticket.archive Archiv öffnen, einsehen & Tickets permanent löschen manuell vergeben
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:

/lp user <Spielername> permission set ticket.archive true

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:

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

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 (für die GUI) und Aliases frei wählbar. Änderungen werden mit /ticket reload übernommen.

Was passiert mit Benachrichtigungen wenn ein Spieler offline ist?

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?

Setze debug: true in der config.yml.

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.


Vergleich mit anderen Plugins

Feature TicketSystem SimpleTickets AdvancedTickets
Speicher-Migration ✔️ ⚠️ ✖️
Automatische Backups ✔️ ⚠️ ✖️
GUI mit Kategorie-Materialien ✔️ ⚠️ ✖️
Archivierung ✔️ ⚠️ ✖️
Rollenbasierter Archiv-Zugriff ✔️ ✖️ ✖️
Kategorie-System (konfigurierbar) ✔️ ✖️ ✖️
Prioritäten-System ✔️ ✖️ ✖️
Offline-Benachrichtigungen ✔️ ✖️ ✖️
Discord-Webhook mit Rollen-Ping ✔️ ✖️ ✖️
Bewertungs-System ✔️ ✖️ ✖️
Update-Checker ✔️ ✖️ ✖️

Support & Community

Wir antworten in der Regel innerhalb von 24 Stunden!


Unterstütze das Projekt

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.