Logi serwera znajdziesz w zakładce Dzienniki oraz w pliku /logs/latest.log. Crash reporty trafiają do katalogu /crash-reports/. Zasada diagnozy jest jedna: szukasz pierwszego błędu w kolejności chronologicznej i linii Caused by: — to ona wskazuje prawdziwą przyczynę, a nie ostatni komunikat na ekranie.
#Czego potrzebujesz
- Dostęp do panelu manage.mchost.gg.
- Zakładka Dzienniki (podgląd i pobieranie) lub Pliki (katalogi
logsicrash-reports).
#Gdzie leżą logi
| Plik | Zawartość |
|---|---|
/logs/latest.log |
Log bieżącego lub ostatniego uruchomienia |
/logs/YYYY-MM-DD-N.log.gz |
Archiwa poprzednich sesji, spakowane |
/crash-reports/crash-*.txt |
Raport z twardego crasha JVM |
W zakładce Dzienniki masz pole Filtruj logi…, przycisk Odśwież i Pobierz do zapisania pełnego pliku.
#Poziomy komunikatów
| Poziom | Znaczenie |
|---|---|
INFO |
Normalna praca serwera |
WARN |
Ostrzeżenie — serwer działa dalej, ale coś jest nie tak |
ERROR |
Błąd — zwykle nie wczytał się dodatek albo operacja się nie powiodła |
FATAL |
Błąd krytyczny, serwer się zatrzymuje |
Nie zaczynaj czytania od końca pliku. Ostatnie linie to zwykle skutek, nie przyczyna — serwer wypisuje tam informację o zamknięciu. Szukaj pierwszego ERROR od góry.
#Jak czytać stack trace
[12:03:41] [Server thread/ERROR]: Could not load 'plugins/StaryPlugin.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError:
pl/example/Main has been compiled by a more recent version of the Java Runtime
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:147)
...
Caused by: java.lang.UnsupportedClassVersionError: pl/example/MainCzytaj w tej kolejności:
- Pierwsza linia z
ERROR— mówi, co się nie udało (Could not load 'plugins/StaryPlugin.jar'). - Nazwa pliku w cudzysłowie lub nawiasie kwadratowym — winowajca.
Caused by:— właściwa przyczyna. Jeśli jest kilka takich linii, liczy się ostatnia.- Linie
at ...to ścieżka wywołań — przydatne dla autora dodatku, nie dla Ciebie.
#Typowe komunikaty i co oznaczają
| Komunikat | Przyczyna |
|---|---|
UnsupportedClassVersionError |
Dodatek wymaga nowszej wersji Javy |
NoClassDefFoundError |
Brak zależności — plugin wymaga innego pluginu |
Could not load 'plugins/X.jar' |
Plugin niezgodny z wersją lub silnikiem |
Failed to bind to port |
Poprzedni proces serwera wciąż działa |
java.lang.OutOfMemoryError |
Wyczerpana pamięć |
Failed to load level.dat |
Uszkodzony lub niekompletny świat |
Incompatible mod set |
Rozjazd modów między klientem a serwerem |
Can't keep up! Is the server overloaded? |
Serwer nie nadąża z tickami — patrz Lagi i optymalizacja |
#Crash reporty
Plik z katalogu /crash-reports/ zaczyna się od sekcji ---- Minecraft Crash Report ----. Interesują Cię trzy fragmenty:
Description:— jednozdaniowy opis, co zawiodło.Caused by:— właściwy wyjątek.-- Head --/Stacktrace:— pierwsze linie wskazują pakiet moda, np.at com.example.mod.EntityHandler.
Nazwa pakietu w stack trace to najszybszy sposób namierzenia moda odpowiedzialnego za crash.
Crash report powstaje tylko przy twardym zatrzymaniu JVM. Serwer, który zamyka się „grzecznie" po błędzie, zostawia ślad wyłącznie w latest.log.
#Filtrowanie logu
Pole Filtruj logi… w zakładce Dzienniki zawęża widok do pasujących linii. Praktyczne frazy: ERROR, Caused by, WARN, nazwa pluginu.
Przy pobranym pliku w terminalu:
grep -n "ERROR" latest.log | head -20
grep -n -A5 "Caused by" latest.log | head -40#Zgłaszanie problemu
Zgłaszając sprawę wsparciu, dołącz cały plik latest.log (przycisk Pobierz), a nie zrzut ekranu z fragmentem. Brakująca linia sprzed błędu potrafi być tą jedyną istotną.
#Najczęstsze problemy
#W logu jest mnóstwo błędów — od czego zacząć
Od pierwszego chronologicznie. Kolejne wynikają zwykle z tego, że pierwszy komponent się nie wczytał.
#Log kończy się w połowie zdania
Serwer został zabity twardo — sprawdź, czy nie użyto Wymuś zatrzymanie i czy nie wystąpił OutOfMemoryError.
#Nie ma katalogu crash-reports
Nie doszło do twardego crasha. Diagnozuj z latest.log.
#Plik latest.log jest ogromny
Log rośnie, gdy plugin spamuje ostrzeżeniami. Pobierz plik i przefiltruj po ERROR — samo WARN z pętli można na tym etapie zignorować.
#Znalazłem nazwę moda, ale nie wiem co dalej
Usuń jego plik .jar z /mods lub /plugins, uruchom serwer i sprawdź, czy błąd zniknął. To potwierdza diagnozę.