Skocz do zawartości

Wywala serwer raz na parę godzin a w logach ni śladu po problemie


Polecane posty

Mam pewien problem. Mój serwer co pare godzin się crashuje, owy crash nie pozostawia jednak po sobie żadnych śladów w logach. Wcześniej, gdy serwer byłhostowany na hostingu, też miałem ten problem. Z tego względu przeniosłem się na VPS bo myślałem, że to może od tego. Okazało się jednak, że nic się nie zmieniło a serwer jak wywalało tak wywala nadal. Warto też odnotować, że serwer nie jest wcale taki duży (10-15 osób online), wywala go raz na - powiedzmy - 4h a TPS i zużycie RAMu ciągle jest stabilne. Po prostu nagle przychodzi moment, że wszystko zaczyna się wieszać, TPS spada poniżej 5 a po paru sekundach serwer wywala. Dodać jeszcze mogę, że nie jest to na pewno spowodowane aktywnością graczy (mam tu na myśli np. masowe detonacje, wielkie mechanizmy z redstone itd.). Optymalizacja silnika też jest zrobiona. Udało mi się przechwycić timingi na dosłownie 5 sekund przed wywaleniem, oto one:

https://timings.aikar.co/?id=d43759ea6f8249f6817f059df75b764e

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Posiadasz całkiem sporo mało stabilnych pluginów oraz stare wersje innych pluginów z błędami. Na początek zalecam zaktualizować wszystko co masz na serwerze i wywalić niestabilne pluginy: fastasyncworldedit, jobs, ultimatetimber, cmilib, trademe. Do tego przydałoby się wymienić kilka innych pluginów, ale wtedy musiałbyś zmieniać zbyt dużo. Na jakim hostingu aktualnie stoi serwer? Podeślij profilera, część logów z wyłączenia serwera oraz crashlog (jeśli się pojawia).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 21.11.2021 o 22:12, Helios1993 napisał:

Posiadasz całkiem sporo mało stabilnych pluginów oraz stare wersje innych pluginów z błędami. Na początek zalecam zaktualizować wszystko co masz na serwerze i wywalić niestabilne pluginy: fastasyncworldedit, jobs, ultimatetimber, cmilib, trademe. Do tego przydałoby się wymienić kilka innych pluginów, ale wtedy musiałbyś zmieniać zbyt dużo. Na jakim hostingu aktualnie stoi serwer? Podeślij profilera, część logów z wyłączenia serwera oraz crashlog (jeśli się pojawia).

Na Jobs, TradeMe i timbera alternatywy nie mam. Jeżeli okazałoby się, że to przez nie, to wtedy bym musiał podjąć działania. Na razie póki nie wiadomo o co chodzi to zostaną. FAWE mogę zamienić na ASyncWorldEdita. CMILib jest wymagane przez jobs i trademe. Co do hostingu to VPS na lvlupie. Logów z wyłączenia serwera nie ma gdyż podczas wywalenia ostatnie wiadomości w logach to np. prywatne wiadomości graczy. Przez to też właśnie trudniej pojąć o co chodzi. Crashlogi się nie pojawiają. Profilera odpaliłem i zamieszcze linka jak uda mi się go wyłapać przy crashu 😛

EDIT:
Teraz w logach wywaliło coś takiego przed crashem:
https://paste.gg/p/anonymous/e970b1d8a348484fa38b2d68903b585e
profilera nie udało się wyłapać
bo linka nie zdążyło wygenerować, będę próbować xD

EDIT:
W razie czego to tu jest profiler chwile po tym jak serwer wystartowalem, wtedy TPS był na poziomie jakoś 15 jeszcze. Może to coś da:

https://spark.lucko.me/yyls0dn2fZ

Edytowano przez TyskiRycerz

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
3 godziny temu, TyskiRycerz napisał:

Na Jobs, TradeMe i timbera alternatywy nie mam

Moneyhunters (lub mniejszy moneyfrommobs), tradesystem, treeassist.

 

3 godziny temu, TyskiRycerz napisał:

FAWE mogę zamienić na ASyncWorldEdita

Nie jest lepszy, stabilniejszy od fawe jest, ale to jak 50% na corruptnięcie vs 10% na corruptnięcie. Dodatkowo jest wolniejszy od zwykłego worldedita i łamie jego licencję.

 

Thread dump nie jest pełny, ale wygląda on bardzo podobnie do corruptniętych plików świata. Posiadany przez ciebie bardzo znany z corruptowania światów fawe jedynie dodaje do prawdopodobności tej teorii. Żeby się upewnić, na wyłączonym serwerze do nazw wszystkich trzech folderów światów dodaj '-disabled', usuń fawe i uruchom ponownie serwer. Wygenerują się nowe światy, a wcześniejsze będą łatwo dostępne. Jeśli nadal problem będzie występował, dodaj '-disabled' do nazwy folderu plugins, dzięki czemu pluginy się nie uruchomią.

 

Możliwe też, że to bardzo stary silnik spowodował corruptnięcie. Paper jest forkiem spigota, a jak wiadomo, spigot często przynosi różne błędy, z którymi paper musi się męczyć (właśnie dlatego w planach twórców papera jest hardfork). Zaktualizuj silnik do wersji 1.17.1, a Javę do 17 (temurin lub corretto). Światy są kompatybilne w górę, a dzięki nowemu dataconverterowi od spottedleafa (który jest w nowszych wersjach papera) nie odczujesz żadnych "skutków ubocznych" (bezbłędnie przekonwertował świat z 1.4 do 1.17 z kilkudziesięciokrotnie mniejszymi spadkami wydajności niż vanillowy dfu). Jedyne co będziesz musiał zrobić to aktualizacja wszystkich pluginów, ale jest to czynność, którą powinno wykonywać się przynajmniej raz na tydzień.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)
14 godzin temu, Helios1993 napisał:

Thread dump nie jest pełny, ale wygląda on bardzo podobnie do corruptniętych plików świata. Posiadany przez ciebie bardzo znany z corruptowania światów fawe jedynie dodaje do prawdopodobności tej teorii. Żeby się upewnić, na wyłączonym serwerze do nazw wszystkich trzech folderów światów dodaj '-disabled', usuń fawe i uruchom ponownie serwer. Wygenerują się nowe światy, a wcześniejsze będą łatwo dostępne. Jeśli nadal problem będzie występował, dodaj '-disabled' do nazwy folderu plugins, dzięki czemu pluginy się nie uruchomią.
 

Możliwe też, że to bardzo stary silnik spowodował corruptnięcie. Paper jest forkiem spigota, a jak wiadomo, spigot często przynosi różne błędy, z którymi paper musi się męczyć (właśnie dlatego w planach twórców papera jest hardfork). Zaktualizuj silnik do wersji 1.17.1, a Javę do 17 (temurin lub corretto). Światy są kompatybilne w górę, a dzięki nowemu dataconverterowi od spottedleafa (który jest w nowszych wersjach papera) nie odczujesz żadnych "skutków ubocznych" (bezbłędnie przekonwertował świat z 1.4 do 1.17 z kilkudziesięciokrotnie mniejszymi spadkami wydajności niż vanillowy dfu). Jedyne co będziesz musiał zrobić to aktualizacja wszystkich pluginów, ale jest to czynność, którą powinno wykonywać się przynajmniej raz na tydzień.
 

Mogę po prostu wywalić FAWE bez zmiany map? Gracze działek mają w "trzy dupy" porobione już i ciężko byłoby coś takiego zrobić bez wprowadzenia nowej edycji a tego raczej chcę na razie uniknąć.

Czyli po prostu zamienić silnik z 1.16.5 na 1.17.1 i poaktualizować pluginy?
I druga sprawa, co z tymi które na 1.17.1 jeszcze wsparcia nie mają? Nie będą powodować żadnych znaczących błędów?

Edytowano przez TyskiRycerz

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
2 godziny temu, TyskiRycerz napisał:

Mogę po prostu wywalić FAWE bez zmiany map?

Nie, ponieważ plugin już wyrządził szkody. Można to porównać do sytuacji, w której niebezpieczna dla człowieka substancja dostała się do pływalni. Wodę oczyszczono, lecz ludzie, którzy w niej byli przed odkryciem tego wypadku, niestety od tak nie wyzdrowieją.

 

2 godziny temu, TyskiRycerz napisał:

co z tymi które na 1.17.1 jeszcze wsparcia nie mają

Ta wersja ma już z pół roku, każdy aktywny plugin ją wspiera. Jeśli jakiś nie jest z nią kompatybilny, to znaczy że jest porzucony i nie powinno się z niego korzystać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
1 godzinę temu, Helios1993 napisał:

Nie, ponieważ plugin już wyrządził szkody.

Dobra to na razie zajmę się aktualizacją silnika i pluginów, jak nic to nie da to wtedy będę kminić nad tym nowym światem xd Tylko pytanie. Jak dokładnie FAWE miałby zniszczyć mapkę (która crashowałaby grę nawet po usunięciu samego pluginu) jeżeli wszystkie chunki były pregenerowane?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak od wielu lat wiadomo, asynchroniczne czynności są niebezpieczne, tym bardziej jeśli robione na podstawie jednowątkowej czynności przez mało doświadczoną osobę. Tak właśnie wygląda sytuacja z fawe, a dodatkowo pomija on inne czynności związane ze stawianiem bloków by jak najszybciej wykonać zadanie. Można to porównać do pisania książki: worldedit jest jak jedna osoba pisząca książkę, skupiająca się na każdym słowie, a fawe jest jak kilka osób piszących książkę w tym samym momencie, mało myśląc nad sensem zdań i pomijając przy tym znaki interpunkcyjne.

 

Jako że fawe ingeruje w świat, bardzo często powoduje on uszkodzenie jego plików. Pregeneracja nic w tym przypadku nie zmienia. Rozszerzę wcześniejszy przykład: świat Minecrafta można łatwo porównać do Biblii, która była tworzona przez wiele osób. Nowo generowane chunki będą nowymi stronami w księdze. Nagle przychodzi grupa osób (fawe), bierze księgę i w opisany wyżej sposób zmienia część jej treści. I teraz zaczyna się problem, kawałek Biblii jest uszkodzony. To samo dzieje się ze światem gdy używasz niestabilnych pluginów.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
1 godzinę temu, Helios1993 napisał:

Jak od wielu lat wiadomo, asynchroniczne czynności są niebezpieczne, tym bardziej jeśli robione na podstawie jednowątkowej czynności przez mało doświadczoną osobę. Tak właśnie wygląda sytuacja z fawe, a dodatkowo pomija on inne czynności związane ze stawianiem bloków by jak najszybciej wykonać zadanie. Można to porównać do pisania książki: worldedit jest jak jedna osoba pisząca książkę, skupiająca się na każdym słowie, a fawe jest jak kilka osób piszących książkę w tym samym momencie, mało myśląc nad sensem zdań i pomijając przy tym znaki interpunkcyjne.

 

Jako że fawe ingeruje w świat, bardzo często powoduje on uszkodzenie jego plików. Pregeneracja nic w tym przypadku nie zmienia. Rozszerzę wcześniejszy przykład: świat Minecrafta można łatwo porównać do Biblii, która była tworzona przez wiele osób. Nowo generowane chunki będą nowymi stronami w księdze. Nagle przychodzi grupa osób (fawe), bierze księgę i w opisany wyżej sposób zmienia część jej treści. I teraz zaczyna się problem, kawałek Biblii jest uszkodzony. To samo dzieje się ze światem gdy używasz niestabilnych pluginów.

Okej. Ogarnę najpierw te update'y, jak nic nie da to z tym FAWE i dam znać jak poszło 😛

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
Okienko zamknie się za 5 sekund...