# 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.x–1.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] | Ticket erstellen | Spieler | | /ticket list | Eigene Tickets in der GUI anzeigen | Spieler | | /ticket comment | Kommentar hinzufügen | Spieler, Support | | /ticket rate | Support bewerten | Spieler | | /ticket claim | Ticket annehmen | Support/Admin | | /ticket close [Kommentar] | Ticket schließen | Support/Admin | | /ticket forward | Ticket weiterleiten | Support/Admin | | /ticket setpriority | 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 [Spieler] [Grund] | Blacklist verwalten | Support/Admin | | /ticket migrate | Speicherart wechseln | Support/Admin | | /ticket export | Tickets exportieren | Support/Admin | | /ticket import | Tickets importieren | Support/Admin | | /ticket teleport | 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 | Standard | NORMAL | | /ticket create bug | Bug | NORMAL | | /ticket create high | Standard | HIGH | | /ticket create bug high | Bug | HIGH | | /ticket create question urgent | 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 ) - 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 - /ticket forward - /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 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 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.