TicketSystem icon

TicketSystem -----

Das flexible, moderne Ticketsystem für Support, Feedback & Bugreports – mit MySQL/YAML, dynamischer




Placeholder Unterstützung hinzugefügt
----------, May 10, 2026

Supporter können jetzt Tickets weitergeben
----------, Apr 30, 2026

Fehler bei dem Befehl /ticket reload Behoben
----------, Apr 21, 2026

mehrere BugFixes
FAQ Deaktivierbar
----------, Apr 19, 2026

Fehler im Web-Panel behoben
----------, Apr 16, 2026

TicketSystem – Changelog
Update vom 16.04.2026

❯ Web-Panel: Sicherheit & Authentifizierung
  • Brute-Force-Schutz: IP-Sperre nach 5 Fehlversuchen innerhalb von 10 Minuten (Sperrdauer: 15 Minuten)
  • Benutzernamen case-insensitiv: Groß-/Kleinschreibung beim Login wird ignoriert
  • Sonderzeichen in Benutzernamen erlaubt (-, _, / usw.)
  • X-Forwarded-For wird bei Reverse-Proxy korrekt ausgewertet

❯ Web-Panel: Neue Rollen & Berechtigungen
  • Neue Rolle archive_viewer: Zugriff auf Tickets + Archiv, kein FAQ/Weiterleiten
  • Rollenhierarchie: admin > archive_viewer > supporter

❯ Web-Panel: Archiv-Verwaltung
  • Archivierte Tickets im Web-Panel einsehbar (für admin und archive_viewer)
  • Admins können archivierte Tickets permanent löschen oder wiederherstellen
  • Archiv-Ansicht über Dropdown-Filter „Archiviert" in der Ticket-Liste

❯ Web-Panel: Benutzerverwaltung zur Laufzeit
  • Neue REST-API /api/users: Benutzer anlegen, Passwort ändern, löschen
  • Sessions eines Benutzers werden bei Passwortänderung/Löschung sofort invalidiert
  • Kein Serverneustart mehr nötig für Benutzerverwaltung

❯ Web-Panel: HTTPS / TLS
  • Optionaler eingebetteter HTTPS-Server via Java Keystore (JKS)
  • Nur TLS 1.2 und TLS 1.3 zugelassen
  • Automatischer Fallback auf HTTP wenn Keystore fehlt oder fehlerhaft
  • Konfiguration über web-panel.ssl.* in der config.yml

❯ Datenbank: Backup-System
  • /ticket backup erstellt ein JSON-Backup der aktuellen Ticket-Daten
  • Backups landen in plugins/TicketSystem/backups/ mit Zeitstempel im Dateinamen
  • Backup wird automatisch vor jeder Migration ausgeführt
  • MySQL-Modus: JSON-Export aller aktiven Tickets
  • Datei-Modus: Kopie der data.yml / data.json

❯ Datenbank: MySQL Auto-Reconnect
  • Bei Verbindungsabbruch wird automatisch reconnected beim nächsten DB-Zugriff
  • Keine manuelle Intervention oder Serverneustart nötig nach kurzzeitigem Datenbankausfall

❯ FAQ-System: MySQL-Speicherung
  • FAQs werden automatisch im gleichen Modus gespeichert wie Tickets (use-mysql)
  • Tabellen faq_entries und faq_categories werden automatisch erstellt
  • Kein separater Schalter nötig

❯ FAQ-System: Migration
  • /ticket faq migrate tomysql – importiert faqs.yml → MySQL (Duplikate werden übersprungen)
  • /ticket faq migrate tofile – exportiert MySQL → faqs.yml (mit automatischem Backup der alten Datei)
  • Duplikat-Prüfung verbessert: Vergleich über normalisierten Frage+Antwort-Text

❯ Allgemein
  • Neuer Befehl /ticket backup (Permission: ticket.admin)
  • Backup-Methoden im DatabaseManager vollständig implementiert (waren bisher leer)
  • deleteArchivedTicket() und restoreArchivedTicket() im DatabaseManager neu hinzugefügt

❯ Hinweise zur Migration

HTTPS aktivieren:
Code (Text):

keytool -genkeypair -alias ticketsystem -keyalg RSA -keysize 2048 -validity 365 -keystore plugins/TicketSystem/keystore.jks -storepass changeit
 
Dann in config.yml: web-panel.ssl.enabled: true

FAQ nach MySQL migrieren:
  1. use-mysql: true in config.yml setzen
  2. Server neu starten
  3. /ticket faq migrate tomysql ausführen

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
© 2026 Viper Plugins | TicketSystem
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------, Apr 16, 2026

Weboberfläche hinzugefügt
----------, Apr 15, 2026

Neu
- Kategorien hinzugefügt (sind Optional)
----------, Apr 14, 2026

Update für Java 25 & Spigot 26.1
----------, Mar 27, 2026

- Fehler mit den sprachen behoben
- Priorität (hoch, Normal usw..) kann jetzt für Spieler bei Ticket Erstellung deaktiviert werden
----------, Mar 24, 2026

Fehler gefixt:
  • MySQL Fehler gefixt
  • GUI Fehler gefixt
  • reload Befehl gefix

Neu
  • FAQ GUI Größe einstellbar in der config [min 4 max 6]
  • Komplettes Plugin in 2 Sprachen "Deutsch/Englisch"
  • Alle Menü-Titel anpassbar
  • Slot-Belegung der Navigationszeile anpassbar
  • Köpfe (Head-Items) anpassbar (https://minecraft-heads.com)
  • Unterstützung für Hex-Farbcodes
  • Aliase /t & /support hinzugefügt
----------, Feb 25, 2026

Fehler behoben das Ticket über den leeren Konstruktor new Ticket() erzeugt
----------, Feb 23, 2026

TicketSystem – Changelog
Versionshistorie & Release Notes

❯ Version 1.0.6
23. Februar 2026

Wichtig: config muss neu erstellt werden

✨ Neu: FAQ-System

Spieler können häufige Fragen direkt im Spiel nachschlagen – Admins verwalten alles bequem per GUI oder Befehl. Beim ersten Start werden automatisch vier Beispiel-FAQs in einer eigenen faqs.yml angelegt.

  • Spieler-GUI: Custom-Skull-Items für jeden FAQ-Eintrag, Klick zeigt die Antwort im Chat, Blättern bei vielen Einträgen
  • Admin-GUI: Verwaltungsmodus mit Bearbeiten & Löschen, geführte Chat-Eingabe für neue FAQs, "Neues FAQ hinzufügen"-Button
  • Befehle: Vollständige Befehlsverwaltung alternativ zur GUI

Code (Text):

/ticket faq                                - FAQ-GUI öffnen (alle Spieler)
/ticket faq list                           - FAQs im Chat auflisten (alle Spieler)
/ticket faq add <Frage> | <Antwort>        - Neues FAQ hinzufügen (ticket.admin)
/ticket faq edit <ID> <Frage> | <Antwort>  - FAQ bearbeiten (ticket.admin)
/ticket faq delete <ID>                    - FAQ löschen (ticket.admin)
/ticket faq reload                         - faqs.yml neu laden (ticket.admin)
 
⚡ Neu: Performance-Caching

Häufig abgerufene Tickets werden jetzt in einem TTL-basierten In-Memory-Cache vorgehalten. Das reduziert Datenbankabfragen bei GUI-Zugriffen, Kommentaren und Bewertungen spürbar – besonders auf größeren Servern.

  • Standard-Lebenszeit: 60 Sekunden, konfigurierbar über cache-ttl-seconds in der config.yml
  • Automatische Invalidierung: Cache-Einträge werden bei Ticket-Änderungen (Claim, Close, Priorität usw.) sofort geleert
  • Thread-sicher: Lese- und Schreibzugriffe aus asynchronen Tasks problemlos möglich
  • Transparenz: Aktueller Cache-Status ist in /ticket stats einsehbar

Sauberere Konsole

Drei Stellen mit unnötigem Console-Spam wurden entfernt:

  • UpdateChecker: Rohausgabe der Spigot-API entfernt – Netzwerkfehler werden jetzt nur noch im Debug-Modus geloggt
  • TicketPlugin: BungeeCord-Servername & „Cross-Server aktiviert"-Meldung entfernt, CategoryManager-Lademeldung nur noch im Debug-Modus, Archivierung loggt nur noch bei tatsächlicher Aktion
  • Start-Log: Beim Start erscheint jetzt nur noch eine einzige Zeile: TicketSystem v1.0.x erfolgreich gestartet!

Bugfix: Update-Checker

  • Der Update-Checker hat fälschlicherweise eine Update-Meldung ausgegeben, wenn die lokale Version neuer war als die auf SpigotMC veröffentlichte (z.B. bei Vorab-Versionen auf dem eigenen Server). Es wird nun ein echter semantischer Versionsvergleich durchgeführt – die Meldung erscheint nur noch wenn Spigot wirklich eine neuere Version anbietet.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
© 2026 Viper Plugins | TicketSystem
Alle Rechte vorbehalten
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
----------, Feb 23, 2026

kleine Bugs behoben für reibungslosen Betrieb
----------, Feb 21, 2026

Neu
  • Discord Meldung überarbeitet inkl. Rollen Ping
  • Bewertungssystem hinzugefügt
  • Offline Benachrichtigung gefixt
  • Kategorie-System (konfigurierbar)
  • Prioritäten-System
  • Bungeecord Unterstützung hinzugefügt (inkl. Server übergreifenden Teleport)
  • Stats überarbeitet (jetzt kann man sehen welcher Supporter welche Bewertung bekommen hat inkl. score)
----------, Feb 21, 2026

❯ Changelog – Version 1.0.3
20. Februar 2026

Diese Version schließt die letzte offene Lücke im Soft-Delete-System und stellt sicher, dass Spieler Tickets im Bearbeitungsstatus nicht versehentlich löschen können.

Behobene Fehler

  • [Kritisch] Ticket nach Claim unsichtbar: Hatte ein Spieler sein Ticket ausgeblendet und ein Supporter claimte es anschließend, blieb es dauerhaft unsichtbar. Fix: claimTicket() und forwardTicket() setzen player_deleted jetzt automatisch auf FALSE.
    Einmalig für bestehende Datenbanken ausführen:
    Code (SQL):
    UPDATE tickets SET player_deleted = 0 WHERE STATUS IN ( 'CLAIMED' , 'FORWARDED' );
  • [Kritisch] Lösch-Sperre bei aktiven Tickets: Spieler konnten Tickets mit Status CLAIMED oder FORWARDED im Code noch löschen. Das Löschen ist nun strikt auf OPEN und CLOSED beschränkt.

✨ Neue Features

  • Neue Permission: ticket.archive – Nur Spieler mit dieser Permission können das Archiv öffnen, geschlossene Tickets einsehen und permanent löschen.
    • Archiv-Button in der GUI ist nur für berechtigte Spieler sichtbar
    • Permanent-Löschen per Klick im Detail-View (Barrier-Block-Button)
    • Zurück-Button navigiert korrekt zurück ins Archiv oder die Hauptübersicht
  • ⚠ Wichtig: ticket.archive ist nicht in ticket.admin enthalten und wird nicht automatisch an OPs vergeben. Explizit zuweisen:
    Code (Text):
    /lp user <Spielername> permission set ticket.archive true

Technische Details

  • Spalte player_deleted wird automatisch ergänzt – keine manuelle Migration nötig
  • ticket.admin enthält jetzt ticket.support als child-Permission (nicht ticket.archive)
----------, Feb 20, 2026

Diese Version bringt ein großes GUI-Overhaul und neue Funktionen für mehr Interaktion zwischen Spielern und Supportern.

Wichtig: config muss neu erstellt werden

✨ Neue Funktionen
️ Überarbeitete Spieler-GUI
  • Eigenes Löschen: Spieler können ihre eigenen Tickets nun direkt über das GUI löschen.
    • Sicherheitsmechanismus: Das Löschen ist nur möglich, solange das Ticket den Status OFFEN hat. Sobald ein Supporter das Ticket angenommen (GECLAIMT) oder bearbeitet hat, kann der Spieler es nicht mehr selbst löschen.
  • Übersicht: Das Design wurde optimiert für eine bessere Darstellung der Ticket-Details.
  • Discord WebHook hinzugefügt

Admin-Features & Kommunikation
  • Abschluss-Kommentare: Admins können nun beim Schließen eines Tickets eine Nachricht hinterlassen (z. B. "Ticket wurde geschlossen" oder Hinweise zum weiteren Vorgehen).
    • Diese wird in der Datenbank gespeichert und ist Teil des Ticket-Verlaufs.
  • Erweiterte Benachrichtigungen: Das Benachrichtigungssystem wurde vervollständigt.
    • Spieler erhalten nun eine Nachricht, wenn ihr Ticket weitergeleitet wurde (z.B. an einen spezialisierten Admin).
    • Spieler erhalten eine Nachricht, wenn ihr Ticket geschlossen wurde (inklusive des Kommentar-Textes des Supporters, falls vorhanden).
BugFix:
  • [Kritisch] Startfehler behoben: Der Fehler org.bukkit.configuration.InvalidConfigurationException: Global tag is not allowed tritt nicht mehr auf.
    • Ursache: Das Plugin versuchte zuvor, Java-Objekte (wie UUID und die Ticket-Klasse selbst) direkt mit globalen Tags (!!java.util.UUID, !!de.ticketsystem...) in die YAML-Datei zu schreiben. Dies wird aus Sicherheitsgründen von neueren Bibliotheken blockiert.
    • Lösung: Das Speichersystem wurde auf das Bukkit-eigene ConfigurationSerializable Interface umgestellt.
  • Updater Fehler Behoben
----------, Feb 20, 2026

Updater ID hinzugefügt
----------, Feb 19, 2026

Resource Information
Author:
----------
Total Downloads: 153
First Release: Feb 19, 2026
Last Update: May 10, 2026
Category: ---------------
All-Time Rating:
3 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings