Fehlerbehebung
Symptomorientierte Prüfpfade ohne riskante Schnellschüsse.
| Symptom | Prüfung | Sichere Maßnahme |
|---|---|---|
| Unsupported class version | java -version | Java 21 für Monolith 1.21.11 verwenden; Plugin-Classfiles separat prüfen. |
| JAR nicht gefunden | Startbefehl und Dateiname | Expliziten absoluten oder korrekten relativen Pfad setzen. |
| EULA stoppt Start | eula.txt | EULA bewusst akzeptieren, wenn zutreffend. |
| Config rejected | Exakten monolith.yml-Schlüssel im Log | Fehler korrigieren; vorherige Datei nicht löschen. |
- 01
Status sichern
TPS, P95/P99, Heap, CPU, GC und Health notieren.
/monolith status /monolith performance /monolith memory - 02
Hotpath eingrenzen
Plugins, Welten und aktuelle Runtime-Entscheidungen prüfen.
/monolith plugins /monolith worlds /monolith explain - 03
Begrenztes Profil erfassen
Nur lang genug messen, um das Symptom abzudecken.
/monolith profile start 60 /monolith record 60s - 04
Vergleichbar wiederholen
Workload, Java, Welt, Plugins und Konfiguration über Fingerprints stabil halten.
- Prüfe mit
/monolith runtime, ob der Trading-Hall-Modus wirklich ACTIVE ist. - Nur geeignete erwachsene, berufstätige und bereits gehandelte Villager werden gedrosselt.
- Offener Handel oder Sicherheitszustände lösen bewusst einen Bypass aus.
- Prüfe Kollisionen, Chunk-Anzahl, Hopper/Redstone, Pathfinding und Plugin-Events als unabhängige Lastquellen.
- Erhöhe das Brain-Intervall nur innerhalb 2–20 und vergleiche mehrere passende Läufe.
/allbars status
/tpsbar
/rambar
/cpubar
/monolith bossbar status
/monolith runtime- Mindestens eine von show-tps, show-ram oder show-cpu muss true sein.
- Palette: 2–16 exakte #RRGGBB-Werte; Speed: 0.0–1.0; Refresh: 5–200 Ticks.
- Laufzeitänderungen durch die Kurzbefehle bleiben nur dauerhaft, wenn enabled sowie show-tps, show-ram und show-cpu in monolith.yml passend gesetzt sind.
- CPU kann bei einer JVM ohne belastbare Prozessmetrik als nicht verfügbar erscheinen.
| Symptom | Ursache | Sichere Maßnahme |
|---|---|---|
| Befehl ist gesperrt | Test-Gate fehlt | Testinstanz mit -Dmonolith.testing=true neu starten |
| Ein anderer Lauf ist aktiv | Benchmark, Flight Recorder oder Synthetic Players belegen den Messpfad | Bestehenden Lauf sauber beenden und Status erneut prüfen |
| Bericht fehlt | Lauf noch aktiv oder Server vor Abschluss hart beendet | /overload status prüfen und automatischen Stopp abwarten |
| Last soll sofort enden | Manueller Abbruch gewünscht | /overload stop ausführen |
| Symptom | Prüfung | Sichere Maßnahme |
|---|---|---|
| Nur drei Zeilen | monolith.console.compact steht auf true | Für den vollständigen Bericht false setzen und /monolith reload ausführen |
| Keine Farben | ansi steht auf auto oder never | Terminalunterstützung prüfen; nur bei sicherer ANSI-Unterstützung always verwenden |
| Metrik ist nicht verfügbar | JVM stellt den Messwert nicht belastbar bereit | Nicht schätzen; JSON measurementAvailability und Grund prüfen |
| JSON/CSV fehlt | Lauf noch aktiv oder Schreiben nicht abgeschlossen | Abschlussmeldung und angegebenen Berichtspfad abwarten |
/monolith proxyauf jedem Backend prüfen.- Velocity-Secret muss exakt mit forwarding.secret übereinstimmen; niemals ausgeben.
- Velocity online-mode und Paper proxies.velocity.online-mode müssen übereinstimmen.
- Nicht Velocity Modern und Bungee Legacy gleichzeitig aktivieren.
- Backend-Port nur für die Proxy-Adresse freigeben und Clients mit dem Proxy-Port verbinden.
