diff --git a/README.md b/README.md index da72e17..a184578 100644 --- a/README.md +++ b/README.md @@ -1,99 +1,219 @@ -# 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 -**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. +### Das flexible, moderne Support- und Feedback-System für Minecraft-Server -## Features (Details) +[![Minecraft](https://img.shields.io/badge/Minecraft-1.18.x--1.21.x-brightgreen?style=for-the-badge&logo=minecraft&logoColor=white)](https://www.spigotmc.org/) +[![Java](https://img.shields.io/badge/Java-17+-orange?style=for-the-badge&logo=openjdk&logoColor=white)](https://adoptium.net/) +[![Type](https://img.shields.io/badge/Type-Support%20Plugin-blue?style=for-the-badge)](https://github.com/) +[![License](https://img.shields.io/badge/License-All%20Rights%20Reserved-red?style=for-the-badge)](LICENSE) -- **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 +**⭐ Zero-Lag · Production Ready · Fully Customizable ⭐** -## Einrichtung & Konfiguration +[Features](#-features) · [Installation](#-installation) · [Konfiguration](#-konfiguration) · [Befehle](#-befehle--permissions) · [FAQ](#-faq) · [Support](#-support) -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. +## 📋 Über TicketSystem -## Support & Kontakt +**TicketSystem** ist die Komplettlösung für Support, Bug-Reports und Feedback auf deinem Minecraft-Server. Spieler erstellen Tickets direkt im Spiel – Admins verwalten alles komfortabel per GUI oder Befehl. Optimiert für kleine und große Server, vollständig konfigurierbar und vollgepackt mit Profi-Features. +--- -## Befehle & Rechte +## ✨ Features -- `/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 +| Feature | Beschreibung | +|---|---| +| 🗄️ **MySQL & Datei-Speicherung** | YAML/JSON oder MySQL/MariaDB – jederzeit umschaltbar, Migration & Backup inklusive | +| 🔄 **Automatische Migration** | Sicheres Wechseln zwischen Speicherarten, Datenverlust ausgeschlossen | +| 📤 **Export / Import** | Tickets einfach zwischen Servern oder Instanzen übertragen | +| 📊 **Statistiken & Archivierung** | Übersichtliche Auswertung, automatische & manuelle Archivierung nach Zeitplan | +| ✅ **Vollständige Validierung** | Fehlerhafte Tickets werden erkannt, gemeldet und übersprungen | +| 🐛 **Debug-Modus** | Ausführliche Logs für Entwickler und Admins, erkennt veraltete `config.yml` | +| 🖥️ **Dynamische GUI** | Passt sich automatisch der Ticketanzahl an – bis zu 54 Tickets pro Seite mit Blättern | +| ⚡ **Performance** | Alle Operationen laufen asynchron – optimiert für große Server | +| 🔧 **Komplett anpassbar** | Nachrichten, Farben, Limits, Cooldowns, Rechte – alles in der `config.yml` | +| 🧪 **Unit-Tests** | Getestete Speicher-Logik für maximale Zuverlässigkeit | -- Rechte: - - `ticket.admin` – Zugriff auf alle Admin- und Management-Funktionen - - `ticket.use` – (Standard) Ticket erstellen und eigene Tickets verwalten +--- -## Beispiel-Konfiguration (Ausschnitt) +## 📦 Installation + +> **Voraussetzungen:** Paper / Spigot / Purpur `1.18.x – 1.21.x` · Java `17+` · optional MySQL/MariaDB + +**Schritt 1 – Plugin installieren** +``` +1. Lade die neueste TicketSystem.jar von den Releases herunter +2. Verschiebe die .jar in den /plugins Ordner deines Servers +3. Starte den Server neu (kein /reload verwenden!) +4. Die Konfigurationsdateien werden automatisch generiert +``` + +**Schritt 2 – Konfiguration anpassen** +``` +1. Öffne plugins/TicketSystem/config.yml +2. Passe Speicherpfade, Nachrichten, Limits und Farben an +3. Aktiviere MySQL falls gewünscht und trage Zugangsdaten ein +4. Nutze /ticket reload um Änderungen zu übernehmen +``` + +**Fertig!** Dein Support-System ist einsatzbereit. 🎉 + +--- + +## ⚙️ Konfiguration + +
+📄 Beispiel: config.yml (klicken zum Ausklappen) ```yaml +# TicketSystem - Hauptkonfiguration +# © 2026 Viper Plugins + version: "2.0" debug: false + +# Speicherung data-file: "data.yml" archive-file: "archive.yml" use-mysql: false use-json: false -auto-archive-interval-hours: 24 + +# MySQL (nur wenn use-mysql: true) +mysql: + host: "localhost" + port: 3306 + database: "tickets" + user: "root" + password: "password" + useSSL: false + +# Archivierung +auto-archive-interval-hours: 24 # 0 = deaktiviert + +# Allgemein prefix: "&8[&6Ticket&8] &r" -ticket-cooldown: 60 +ticket-cooldown: 60 # Sekunden zwischen Tickets 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. +## 💬 Befehle & Permissions -**Wie kann ich Nachrichten und Limits anpassen?** -> Alle Texte, Farben und Limits findest du in der `config.yml`. +### Spieler-Befehle +| Befehl | Beschreibung | Permission | +|---|---|---| +| `/ticket` | GUI mit allen offenen Tickets öffnen | `ticket.use` | +| `/ticket create ` | Neues Ticket erstellen | `ticket.use` | +| `/ticket close ` | Eigenes Ticket schließen | `ticket.use` | -**Wie aktiviere ich den Debug-Modus?** -> Setze `debug: true` in der `config.yml`. +### Admin-Befehle +| Befehl | Beschreibung | Permission | +|---|---|---| +| `/ticket claim ` | Ticket übernehmen | `ticket.admin` | +| `/ticket forward ` | Ticket weiterleiten | `ticket.admin` | +| `/ticket archive` | Tickets manuell archivieren | `ticket.admin` | +| `/ticket export ` | Tickets exportieren | `ticket.admin` | +| `/ticket import ` | Tickets importieren | `ticket.admin` | +| `/ticket migrate ` | Speicherart migrieren | `ticket.admin` | +| `/ticket stats` | Statistiken anzeigen | `ticket.admin` | +| `/ticket reload` | Konfiguration neu laden | `ticket.admin` | -**Wie kann ich Tickets exportieren/importieren?** -> Mit `/ticket export ` und `/ticket import `. +### Permissions-Übersicht +``` +ticket.use → Ticket erstellen und eigene Tickets verwalten (Standard für alle Spieler) +ticket.admin → Zugriff auf alle Admin- und Management-Funktionen +``` -## Support & Kontakt +--- -Du hast Fragen, Feedback oder möchtest das Plugin erweitern? Melde dich direkt bei **Viper Plugins** – wir helfen schnell und unkompliziert! +## ❓ FAQ + +
+Kann ich zwischen MySQL und Datei-Speicherung wechseln? + +Ja! Einfach per `/ticket migrate tomysql` oder `/ticket migrate tofile`. Das Plugin migriert alle Daten automatisch und sicher – kein Datenverlust. +
+ +
+Wie viele Tickets passen in die GUI? + +Bis zu 54 Tickets pro Seite. Bei mehr Tickets wird automatisch geblättert. +
+ +
+Werden automatisch Backups erstellt? + +Ja, bei jedem Speicherwechsel und regelmäßig nach dem konfigurierten Archiv-Intervall. +
+ +
+Wie aktiviere ich den Debug-Modus? + +Setze `debug: true` in der `config.yml` und nutze anschließend `/ticket reload`. +
+ +
+Wie exportiere/importiere ich Tickets? + +Mit `/ticket export ` und `/ticket import ` – ideal für Server-Umzüge oder Testumgebungen. +
+ +--- + +## 📊 Vergleich + +| | **TicketSystem** | SimpleTickets | AdvancedTickets | +|---|:---:|:---:|:---:| +| Speicher-Migration | ✅ Vollständig | ⚠️ Nur manuell | ❌ | +| Automatische Backups | ✅ | ⚠️ Teilweise | ❌ | +| Dynamische GUI | ✅ Modern | ⚠️ Basic | ❌ | +| Archivierung | ✅ Auto & manuell | ⚠️ Nur manuell | ❌ | +| Export / Import | ✅ | ❌ | ❌ | +| Debug-Modus | ✅ | ❌ | ❌ | +| Update-Checker | ✅ | ❌ | ❌ | +| Unit-Tests | ✅ | ❌ | ❌ | + +--- + +## 🆘 Support + +
+ +Hast du Fragen, einen Bug gefunden oder eine Feature-Idee? + +[![Discord](https://img.shields.io/badge/Discord-Support%20beitreten-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/deinserver) + +**Wir antworten in der Regel innerhalb von 24 Stunden!** + +Bitte öffne für Bug-Reports ein Issue. + +
+ +--- + +## 📜 Kompatibilität + +| Plattform | Version | +|---|---| +| Paper | ✅ 1.18.x – 1.21.x | +| Spigot | ✅ 1.18.x – 1.21.x | +| Purpur | ✅ 1.18.x – 1.21.x | +| Folia | ❌ Nicht unterstützt | + +--- + +
+ +**© 2026 Viper Plugins · TicketSystem · Alle Rechte vorbehalten** + +Wenn TicketSystem deinen Server bereichert hat, freuen wir uns über einen ⭐ **Star** auf spigotmc! + +
\ No newline at end of file