README.md aktualisiert

This commit is contained in:
2026-02-20 11:29:46 +00:00
parent dc732c1410
commit 566941d687

266
README.md
View File

@@ -1,219 +1,135 @@
<div align="center">
# 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
</div>
- **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
<details>
<summary><b>📄 Beispiel: config.yml (klicken zum Ausklappen)</b></summary>
## 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!"
```
</details>
---
## 💬 Befehle & Permissions
## Befehle & Rechte
### 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` |
```
/ticket - Ticket erstellen, verwalten, Status abfragen
/ticket create <Nachricht> - Neues Ticket erstellen
/ticket list - Zeigt alle Tickets des Spielers
/ticket close <ID> - Ticket schließen
```
### 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` |
### 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 <ID> - Ticket übernehmen
/ticket forward <ID> <Spieler> - Ticket weiterleiten
/ticket close <ID> - Ticket schließen
```
---
## ❓ 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>
**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
<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.com/invite/FdRs4BRd8D)
**Wir antworten in der Regel innerhalb von 24 Stunden!**
Bitte öffne für Bug-Reports ein Issue.
</div>
| 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!
---
<div align="center">
## ⭐ 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!
</div>
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.