Files
TicketSystem/README.md
2026-02-19 21:21:55 +00:00

100 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 <Nachricht>` Erstellt ein neues Ticket
- `/ticket claim <ID>` Ticket übernehmen
- `/ticket close <ID>` Ticket schließen
- `/ticket forward <ID> <Spieler>` Ticket weiterleiten
- `/ticket archive` Tickets archivieren (manuell)
- `/ticket export <Datei>` Tickets exportieren
- `/ticket import <Datei>` Tickets importieren
- `/ticket migrate <tomysql|tofile>` 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 <Datei>` und `/ticket import <Datei>`.
## Support & Kontakt
Du hast Fragen, Feedback oder möchtest das Plugin erweitern? Melde dich direkt bei **Viper Plugins** wir helfen schnell und unkompliziert!