diff --git a/README.md b/README.md index c9761c2..b86fbd0 100644 --- a/README.md +++ b/README.md @@ -1,219 +1,135 @@ -
+# TicketSystem -# 🎫 TicketSystem -### Das flexible, moderne Support- und Feedback-System für Minecraft-Server +# TicketSystem -[![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) +![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) -**⭐ Zero-Lag · Production Ready · Fully Customizable ⭐** +**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](#-features) · [Installation](#-installation) · [Konfiguration](#-konfiguration) · [Befehle](#-befehle--permissions) · [FAQ](#-faq) · [Support](#-support) +## 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 +- **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 +- **Unit-Tests** – Getestete Speicher-Logik für maximale Zuverlässigkeit +- **Dynamische GUI** – Die Ticket-GUI passt sich automatisch der Ticketanzahl an (bis zu 54 Tickets pro Seite) +- **Seiten-System** – Bei sehr vielen Tickets wird automatisch geblättert +- **Performance** – Optimiert für große Server, alle Operationen laufen asynchron und ressourcenschonend +- **Support & Erweiterbarkeit** – Sauberer Code, viele Hooks für eigene Erweiterungen --- -## 📋 Über TicketSystem +## Installation & Setup -**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. +1. **config.yml** anpassen (Speicherorte, Nachrichten, Limits, Farben, MySQL-Daten etc.) +2. **TicketSystem.jar** in den plugins-Ordner legen und Server starten +3. **/ticket**-Befehle nutzen (siehe unten) --- -## ✨ Features - -| 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 | - ---- - -## 📦 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) +## Beispiel-Konfiguration ```yaml -# TicketSystem - Hauptkonfiguration -# © 2026 Viper Plugins - -version: "2.0" +config-version: 1 debug: false - -# Speicherung -data-file: "data.yml" -archive-file: "archive.yml" -use-mysql: false -use-json: false - -# 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 # Sekunden zwischen Tickets -max-description-length: 100 -max-open-tickets-per-player: 2 +storage: + type: "file" # "file" oder "mysql" + data-file: "data.yml" + archive-file: "archive.yml" + mysql: + host: "localhost" + port: 3306 + database: "tickets" + user: "root" + password: "password" + useSSL: false +auto-archive-interval-hours: 24 +messages: + prefix: "&7[&eTicket&7]" + ticket-created: "&aDein Ticket wurde erstellt!" + error: "&cEin Fehler ist aufgetreten!" ``` -
- --- -## 💬 Befehle & Permissions +## Befehle & Rechte ### 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` | + +``` +/ticket - Ticket erstellen, verwalten, Status abfragen +/ticket create - Neues Ticket erstellen +/ticket list - Zeigt alle Tickets des Spielers +/ticket close - Ticket schließen +``` ### 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` | -### Permissions-Übersicht ``` -ticket.use → Ticket erstellen und eigene Tickets verwalten (Standard für alle Spieler) -ticket.admin → Zugriff auf alle Admin- und Management-Funktionen +/ticket reload - Plugin neu laden +/ticket migrate - Speicherart wechseln (Migration) +/ticket export/import - Tickets exportieren/importieren +/ticket stats - Statistiken anzeigen +/ticket archive - Tickets archivieren +/ticket claim - Ticket übernehmen +/ticket forward - Ticket weiterleiten +/ticket close - Ticket schließen ``` ---- - -## ❓ 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. -
+**Rechte:** +- `ticket.admin` – Zugriff auf alle Admin- und Management-Funktionen +- `ticket.use` – (Standard) Ticket erstellen und eigene Tickets verwalten --- -## 📊 Vergleich +## FAQ -| | **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 | ✅ | ❌ | ❌ | +**Kann ich zwischen MySQL und Datei-Speicherung wechseln?** +> Ja! Das Plugin migriert alle Daten automatisch und sicher. + +**Wie viele Tickets passen in die GUI?** +> Bis zu 54 pro Seite, bei mehr Tickets wird automatisch 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` – ideal für Server-Umzüge. --- -## 🆘 Support +## Vergleich mit anderen Plugins -
- -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.com/invite/FdRs4BRd8D) - -**Wir antworten in der Regel innerhalb von 24 Stunden!** - -Bitte öffne für Bug-Reports ein Issue. - -
+| Feature | TicketSystem | SimpleTickets | AdvancedTickets | +|------------------------|:------------:|:-------------:|:---------------:| +| Speicher-Migration | ✔️ | ⚠️ | ✖️ | +| Automatische Backups | ✔️ | ⚠️ | ✖️ | +| GUI | ✔️ | ⚠️ | ✖️ | +| Archivierung | ✔️ | ⚠️ | ✖️ | +| Update-Checker | ✔️ | ✖️ | ✖️ | --- -## 📜 Kompatibilität +## Support & Community -| 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 | +- [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! --- -
+## ⭐ Unterstütze das Projekt -**© 2026 Viper Plugins · TicketSystem · Alle Rechte vorbehalten** - -Wenn TicketSystem deinen Server bereichert hat, freuen wir uns über eine Bewertung auf spigotmc! - -
\ No newline at end of file +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.