# TicketSystem [![Version](https://img.shields.io/badge/Version-1.18.x--1.21.x-green.svg)]() [![Java](https://img.shields.io/badge/Java-17+-orange.svg)]() [![Type](https://img.shields.io/badge/Type-Support-blue.svg)]() **TicketSystem** ist das umfassende 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 (Details) - **MySQL oder Datei-Speicherung** (YAML/JSON) – jederzeit umschaltbar, Migration und Backup inklusive - **Automatische Backups & Migration** zwischen Speicherarten, Datenverlust ausgeschlossen - **Export/Import** von Tickets (z.B. für Server-Umzüge oder Testumgebungen) - **Statistiken & Archivierung** (inkl. automatischer Archivierung nach Zeitplan, manuelles Archivieren möglich) - **Konfigurierbare Speicherpfade** für Daten und Archive (relativ oder absolut) - **Vollständige Validierung** der Daten beim Laden (Fehlerausgabe im Log & Chat, fehlerhafte Tickets werden übersprungen) - **Bessere Fehlerausgaben** für Admins im Chat und Log (inkl. Validierungs- und Speicherfehler) - **Debug-Modus & Versionsprüfung** für Entwickler und Admins (veraltete config.yml wird erkannt) - **Komplett anpassbar** (Nachrichten, Farben, Limits, Speicherpfade, Archiv-Intervall, Cooldowns, Rechte) - **Unit-Tests** für die Speicher-Logik (maximale Zuverlässigkeit) - **Dynamische GUI**: Die Ticket-GUI passt sich automatisch der Ticketanzahl an (bis zu 54 Tickets pro Seite, Blättern bei Bedarf) - **Performance**: Optimiert für große Server, alle Operationen laufen asynchron und ressourcenschonend - **Support & Erweiterbarkeit**: Sauberer Code, viele Hooks für eigene Erweiterungen ## Einrichtung & Konfiguration 1. **config.yml** anpassen: - `data-file`, `archive-file`: Speicherorte für Tickets und Archive (relativ oder absolut) - `use-mysql`: true/false - `auto-archive-interval-hours`: Intervall für automatische Archivierung (0 = aus) - `debug`: true/false für ausführliche Logs - `version`: Versionsprüfung für die config.yml - Nachrichten, Farben, Limits, Cooldowns, Rechte individuell anpassbar 2. **MySQL** (optional): Zugangsdaten eintragen 3. **/ticket**-Befehl nutzen (inkl. Admin-Tools für Migration, Export, Import, Statistik, Archiv, Reload) ## Kompatibilität & Zielgruppe - Minecraft 1.18.x – 1.21.x (Paper, Spigot, Purpur) - Java 17+ - YAML/JSON oder MySQL/MariaDB - Für Community-Server, Citybuild, Minigames, Survival, u.v.m. ## Support & Kontakt ## Befehle & Rechte - `/ticket` – Hauptbefehl für alle Ticket-Funktionen - `/ticket` – Übersicht aller offenen Tickets (GUI) - `/ticket create ` – Erstellt ein neues Ticket - `/ticket claim ` – Ticket übernehmen - `/ticket close ` – Ticket schließen - `/ticket forward ` – Ticket weiterleiten - `/ticket archive` – Tickets archivieren (manuell) - `/ticket export ` – Tickets exportieren - `/ticket import ` – Tickets importieren - `/ticket migrate ` – Migration zwischen Speicherarten - `/ticket stats` – Statistiken anzeigen - `/ticket reload` – Konfiguration neu laden - Rechte: - `ticket.admin` – Zugriff auf alle Admin- und Management-Funktionen - `ticket.use` – (Standard) Ticket erstellen und eigene Tickets verwalten ## Beispiel-Konfiguration (Ausschnitt) ```yaml version: "2.0" debug: false data-file: "data.yml" archive-file: "archive.yml" use-mysql: false use-json: false auto-archive-interval-hours: 24 prefix: "&8[&6Ticket&8] &r" ticket-cooldown: 60 max-description-length: 100 max-open-tickets-per-player: 2 ``` ## FAQ **Kann ich zwischen MySQL und Datei-Speicherung wechseln?** > Ja, jederzeit per Migrationstool oder Befehl `/ticket migrate ...`. **Wie viele Tickets passen in die GUI?** > Bis zu 54 pro Seite, bei mehr Tickets wird geblättert. **Wie kann ich Nachrichten und Limits anpassen?** > Alle Texte, Farben und Limits findest du in der `config.yml`. **Wie aktiviere ich den Debug-Modus?** > Setze `debug: true` in der `config.yml`. **Wie kann ich Tickets exportieren/importieren?** > Mit `/ticket export ` und `/ticket import `. ## Support & Kontakt Du hast Fragen, Feedback oder möchtest das Plugin erweitern? Melde dich direkt bei **Viper Plugins** – wir helfen schnell und unkompliziert!