Zum Hauptinhalt springen

Fehlerbehebung

Vollständiger Leitfaden zur Lösung gängiger Probleme des Plugins.

Das Quest-Menü öffnet sich nicht​

Symptom: Der Befehl /quests tut nichts oder zeigt einen Fehler an.

UrsachePrüfungLösung
Plugin nicht geladen/plugins im SpielPrüfen Sie Ladefehler in den Logs
BetonQuest fehlt/plugins im SpielInstallieren Sie BetonQuest 3.0+
Datenbank nicht erreichbar/kgquests healthPrüfen Sie, ob BetonQuest MySQL aktiviert hat
LizenzfehlerServerlogsPrüfen Sie die Datei license.key

Lösung:

  1. Prüfen Sie, ob das Plugin geladen ist (grün in /plugins)
  2. Sehen Sie beim Start die Logs auf Fehler durch
  3. Prüfen Sie die Datenbankverbindung: /kgquests health

Die Quests erscheinen als gesperrt​

Symptom: Das Menü öffnet sich, aber alle Quests haben den Status "Gesperrt".

UrsacheLösung
Template trackedQuest fehltFügen Sie templates: [trackedQuest] im BQ-Paket hinzu
Event activeQuest nicht ausgelöstPrüfen Sie, ob das Event in der BQ-Logik korrekt aufgerufen wird
Tag .questTrackable fehltTesten Sie manuell: /bq tag add <Spieler> ma_quete.questTrackable

Lösung:

  1. Prüfen Sie das Template im BetonQuest-Paket:

    templates:
    - trackedQuest
  2. Prüfen Sie, ob das Aktivierungs-Event existiert:

    events:
    activer: "activeQuest ma_quete"
  3. Testen Sie manuell durch Hinzufügen des Tags:

    /bq tag add <Spieler> ma_quete.questTrackable

Die Quests erscheinen nicht in der richtigen Kategorie​

Symptom: Die Quests erscheinen in der falschen Kategorie oder in der Standardkategorie (other).

Hauptursache: Der questCategory in BetonQuest stimmt nicht mit dem configKey der Kategorie in config.yml überein.

Prüfungen:

  1. Vergleichen Sie die Werte exakt (der Wert unterscheidet Groß-/Kleinschreibung):

    # config.yml
    menuItems:
    categories:
    dailyQuests: # ← Dieser Schlüssel (configKey) zählt
    displayName: "Daily"
    # BetonQuest package.yml
    questParameters:
    questCategory: dailyQuests # ← Muss identisch mit dem YAML-Schlüssel sein
  2. Kombinieren Sie für Unterkategorien die configKey von Eltern- und Kindkategorie mit einem Punkt:

    questCategory: dailyQuests.monsters  # Format: configKey.subConfigKey
  3. Ist kein questCategory definiert, fällt die Quest in die durch defaultCategory von config.yml festgelegte Kategorie.

Migration von einer alten Version

Vor einem kürzlichen Update verwendete questCategory den displayName (z. B. "Story"). Nun wird der configKey benötigt (z. B. story). Wenn alle Ihre Quests plötzlich in die Kategorie other verschoben wurden, ist dies wahrscheinlich die Ursache.

Ändern Sie Ihre BetonQuest-package.yml:

  • questCategory: "Story" → questCategory: story
  • questCategory: "Daily" → questCategory: dailyQuests
  • questCategory: "Daily.Monsters" → questCategory: dailyQuests.monsters

Das Scoreboard oder Menü bleibt nach /questlang in der alten Sprache​

Symptom: Ein Spieler führt /questlang fr-FR (oder /ql en-US) aus, aber das Scoreboard bzw. das Quest-Journal wechselt nicht sofort die Sprache.

Ursache: Sie verwenden eine ältere Version des Plugins, die den Sprachwechsel nicht erkennt.

Lösung:

  1. Aktualisieren Sie das Plugin auf die neueste Version
  2. Nach dem Update fängt das Plugin /questlang und /ql automatisch ab:
    • Das Scoreboard wird in der neuen Sprache neu aufgebaut
    • Das geöffnete Quest-Menü (falls vorhanden) wird aktualisiert
  3. Kein zusätzlicher Befehl ist erforderlich
Schnelltest
  1. Konfigurieren Sie Ihre Quests mehrsprachig (fr-FR + en-US) in quests_config.yml
  2. Melden Sie sich an und führen Sie /questlang en-US aus
  3. Das Scoreboard muss sofort auf Englisch wechseln
  4. Führen Sie /questlang fr-FR erneut aus, um zum Französischen zurückzukehren

Das Scoreboard wird nicht angezeigt​

Symptom: Verfolgte Quests zeigen kein Scoreboard an.

UrsacheLösung
Scoreboard global deaktiviertPrüfen Sie scoreboard.enabled: true in config.yml
Keine Quest verfolgtDer Spieler muss mindestens eine Quest verfolgen
Quest ohne SchritteDefinieren Sie die steps in quests_config.yml
Konflikt mit einem anderen PluginPrüfen Sie Konflikte mit TAB, Featherboard usw.

Lösung:

  1. Prüfen Sie die globale Scoreboard-Konfiguration:

    scoreboard:
    enabled: true
  2. Der Spieler muss eine Quest verfolgen:

    /quests track <quest_id>
  3. Prüfen Sie, ob die Quest Schritte in quests_config.yml hat

  4. Testen Sie das Scoreboard:

    /kgquests scoreboard on

Der Cache aktualisiert sich nicht​

Symptom: Änderungen an Quests spiegeln sich nicht sofort wider.

Lösungen:

  1. Erzwingen Sie ein Refresh für einen Spieler:

    /kgquests refresh <Spieler>
  2. Laden Sie die Konfiguration neu:

    /questsreload
  3. Prüfen Sie die Trefferquoten:

    /kgquests stats
TTL des Caches

Der lokale Cache (L1) läuft nach 1-2 Minuten ab, der Redis-Cache (L2) nach 2 Minuten. Wenn Sie ein sofortiges Refresh benötigen, verwenden Sie /kgquests refresh.

Multi-Server-Probleme (Redis)​

Symptom: Die Daten synchronisieren sich nicht zwischen den Servern.

Prüfungen:

  1. Redis-Verbindung: /kgquests redis
  2. Derselbe Redis für alle Server (prüfen Sie host:port in jeder config.yml)
  3. Dieselbe BetonQuest-Datenbank für alle Server
  4. Firewall: Redis-Port (6379) zwischen den Servern geöffnet
  5. Erzwingen Sie ein Refresh: /kgquests refresh <Spieler>

Siehe Multi-Server für den ausführlichen Leitfaden.

Datenbankfehler​

Symptom: Fehler SQLException oder HikariPool in den Logs.

UrsacheLösung
MySQL in BQ deaktiviertAktivieren Sie mysql.enabled: true in der BetonQuest-config.yml
Falsche ZugangsdatenPrüfen Sie die MySQL-Konfiguration von BetonQuest
MySQL-Server gestopptStarten Sie MySQL/MariaDB neu
Verbindungspool erschöpftStarten Sie das Plugin neu
Netzwerk-TimeoutPrüfen Sie die Verbindung zwischen dem MC-Server und der Datenbank

Lösung:

  1. Prüfen Sie die Verbindung: /kgquests health
  2. Prüfen Sie, ob BetonQuest MySQL aktiviert hat:
    # plugins/BetonQuest/config.yml
    mysql:
    enabled: true
  3. Testen Sie die Verbindung manuell:
    mysql -h localhost -u betonquest -p betonquest

Lizenzfehler beim Start​

Symptom: Das Plugin lädt nicht und zeigt einen Lizenzfehler an.

Lösungen:

  1. Prüfen Sie die Lizenzdatei:

    plugins/KGInfoServs-QuestsTrack/license.key
  2. Inhalt der Datei: eine einzige Zeile, keine Leerzeichen davor/danach

  3. Internetzugang: Der Server muss den Lizenzserver erreichen können. Prüfen Sie:

    • Ausgehende Firewall
    • Internetverbindung des Servers
    • Proxy, falls zutreffend
  4. Support kontaktieren: Falls das Problem weiterhin besteht, kontaktieren Sie KGInfoServs auf Discord

Leistungseinbussen​

Symptom: Das Menü öffnet sich langsam, das Scoreboard ruckelt.

Diagnosen:

/kgquests stats      # Trefferquote des Caches
/kgquests memory # JVM-Speicher
/kgquests health # Globaler Systemzustand

Indikatoren:

IndikatorProblemLösung
Cache-Trefferquote < 85%Cache ineffizientPrüfen Sie die Anzahl der Spieler im Verhältnis zur Cache-Größe
Datenbank-Latenz > 50msDatenbank langsamOptimieren Sie MySQL, bringen Sie die Datenbank näher an den MC-Server
Redis-Latenz > 10msRedis entferntPlatzieren Sie Redis im selben Netzwerk
Speicher > 80%Unzureichender SpeicherErhöhen Sie den JVM-Heap (-Xmx)

Diagnosewerkzeuge​

Diagnosebefehle​

/kgquests health      # Globale Prüfung aller Komponenten
/kgquests stats # Cache-Statistiken (Trefferquote, Fehlschläge)
/kgquests redis # Status der Redis-Verbindung
/kgquests redis <j> # Redis-Cache eines bestimmten Spielers
/kgquests memory # JVM-Speicher und Caches

Logs in Echtzeit ansehen​

Linux:

tail -f logs/latest.log | grep -i queststrack

Windows (PowerShell):

Get-Content logs/latest.log -Wait | Select-String -Pattern "queststrack"

Checkliste zur Schnellfehlerbehebung​

Bevor Sie um Hilfe bitten, prüfen Sie:

  • Plugin geladen (grün in /plugins)
  • BetonQuest installiert und funktionsfähig
  • MySQL in BetonQuest aktiviert (mysql.enabled: true)
  • Datenbank erreichbar (/kgquests health)
  • Konfiguration gültig (/questsreload ohne Fehler)
  • Template trackedQuest auf den Quests
  • questCategory entspricht dem configKey (YAML-Schlüssel) einer Kategorie aus config.yml
  • BetonQuest-Events konfiguriert (activeQuest usw.)
  • quests_config.yml ausgefüllt (title, steps)
  • Serverlogs auf Fehler geprüft

Um Hilfe bitten​

Falls das Problem weiterhin besteht:

  1. Sammeln Sie die Informationen:

    • Version von Minecraft, Paper, Java
    • Version von BetonQuest und QuestsTracker
    • Ergebnis von /kgquests health
    • Serverlogs (Zeilen mit Fehlern)
    • Ihre config.yml (ohne Passwörter)
  2. Kontaktieren Sie den Support:

Siehe auch​