README.md aktualisiert

This commit is contained in:
2026-02-19 21:54:48 +00:00
parent f8498614b7
commit d7fb6940cd

250
README.md
View File

@@ -1,99 +1,219 @@
# TicketSystem
<div align="center">
[![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)
</div>
## 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 <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
| 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
<details>
<summary><b>📄 Beispiel: config.yml (klicken zum Ausklappen)</b></summary>
```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
</details>
**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 <Nachricht>` | Neues Ticket erstellen | `ticket.use` |
| `/ticket close <ID>` | 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 <ID>` | Ticket übernehmen | `ticket.admin` |
| `/ticket forward <ID> <Spieler>` | Ticket weiterleiten | `ticket.admin` |
| `/ticket archive` | Tickets manuell archivieren | `ticket.admin` |
| `/ticket export <Datei>` | Tickets exportieren | `ticket.admin` |
| `/ticket import <Datei>` | Tickets importieren | `ticket.admin` |
| `/ticket migrate <tomysql\|tofile>` | 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 <Datei>` und `/ticket import <Datei>`.
### 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
<details>
<summary><b>Kann ich zwischen MySQL und Datei-Speicherung wechseln?</b></summary>
Ja! Einfach per `/ticket migrate tomysql` oder `/ticket migrate tofile`. Das Plugin migriert alle Daten automatisch und sicher kein Datenverlust.
</details>
<details>
<summary><b>Wie viele Tickets passen in die GUI?</b></summary>
Bis zu 54 Tickets pro Seite. Bei mehr Tickets wird automatisch geblättert.
</details>
<details>
<summary><b>Werden automatisch Backups erstellt?</b></summary>
Ja, bei jedem Speicherwechsel und regelmäßig nach dem konfigurierten Archiv-Intervall.
</details>
<details>
<summary><b>Wie aktiviere ich den Debug-Modus?</b></summary>
Setze `debug: true` in der `config.yml` und nutze anschließend `/ticket reload`.
</details>
<details>
<summary><b>Wie exportiere/importiere ich Tickets?</b></summary>
Mit `/ticket export <Dateiname>` und `/ticket import <Dateiname>` ideal für Server-Umzüge oder Testumgebungen.
</details>
---
## 📊 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
<div align="center">
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.
</div>
---
## 📜 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 |
---
<div align="center">
**© 2026 Viper Plugins · TicketSystem · Alle Rechte vorbehalten**
Wenn TicketSystem deinen Server bereichert hat, freuen wir uns über einen ⭐ **Star** auf spigotmc!
</div>