diff --git a/README.md b/README.md index e7988fb..da72e17 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,99 @@ -# TGicketSystem +# 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!