Skocz do zawartości


Zdjęcie

Szczegółowy opis wystepowania lagow na serwerze


  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 WinEi8ht

WinEi8ht

    Nowy

  • Użytkownik
  • 14 postów
  • WinEi8ht

Napisano 09 August 2013 - 16:04

Poradnik szczegółowy z opisem przyczyn wystepowania lagow na serwerze

 
 
Witam wszystkich w moim pierwszym poradniku na CraftPortal.pl. Będzie on dotyczył podstawowych przyczyn powstawania lagów na serwerach Minecraft. W szybki i szczegółowy sposób przedstawię Wam dlaczego lagi się pojawiają i jak z nimi skutecznie walczyć. Zapraszam do lektury ;)
 
Częstym problemem, który rani grę jest sprzęt na którym uruchomiony jest serwer. Jeżeli Twój serwer umiejscowiony jest na Twoim komputerze to sam wiesz na co możesz sobie pozwolić, a co zbytnio obciąży Twój komputer. Natomiast jeżeli posiadasz serwer dedykowany nigdy naprawdę nie wiesz na czym stoisz. Obiecywane parametry mogą być dużo niższe lub dzielone z innym serwerem, a Ty będziesz głowił się dlaczego nie możesz spokojnie grac ze swoimi przyjaciółmi.
 


Silnik Craftbukkit i Mineforge z dodatkiem Bukkit forge: :

 
Najczęściej spotykane problemy i ich rozwiązanie:
1. Źle napisane pluginy bądź modyfikacje mogą być bardzo problematyczne dla silnika gry. Usuń źle działający plugin, bądź zaktualizuj go do najnowszej wersji. Jeżeli nie jesteś w sanie określić który plugin nie nadaje się do używania użyj komendy /plugins (w Essentials). Wyświetli ona na zielono działające pluginy i na czerwono niedziałające pluginy. Jeżeli ten sposób nie zadziała usuwaj kolejno po jednym pluginie i sprawdzaj, czy lagi nadal występują.
 
2.Nadmierna ilość spawnujących się mobów (zwierzęta i moby). W Minecraftowym świecie pojawia się dużo mobów, które w znaczy sposób obciążają serwer. Przy pomocy kilku pluginów możesz skutecznie zablokować lub ograniczyć pojawianie się potworów:
  • WorldEdit – użyj komendy /butcher by zabić moby w regionie, w którym się znajdujesz.
  • Essentials – przejdź do ustawien pluginu i zmień wartości pojawiania się wybranych mobów. (opis konfiguracji znajduje się na dole posta)
3.Nadmierna ilość wyrzuconych przedmiotów i strzał. Klient gry często nie radzi sobie dobrze z wieloma przedmiotami leżącymi na ziemi. W wersji 1.3 wprowadzono grupowanie się przedmiotów lecz nawet to może czasem nie pomóc przy olbrzymich ilościach przedmiotów. Jeżeli jesteś w pobliżu obszaru, w którym masz lagi wciśnij F3 i sprawdź punkt E, w którym dowiesz się ile przedmiotów leży na ziemi. Jeżeli jest ich ponad 1000 (tak przynajmniej mówi

By zobaczyć linki musisz się zalogować lub zarejestrować

, więc trzymajmy się tej liczby mimo iż jest ona dla mnie znacznie zawyżona) to użyj jednego z poniższych sposobów by je usunąć:
  • WorldEdit – przy pomocy komend /remove drops -1, i remove arrows -1, usuniesz leżące przedmioty i strzały.
  • ClearLagg - (opis konfiguracji znajduje się na dole posta)
4.Nadmierna ilość płynącej wody i lawy. Obliczenia płynącej lawy i wody są kosztowne nie tylko dla serwera ale i dla klienta gry. Aby sprawdzić czy region w którym się znajdujesz jest przeciążony wciśnij SHIFT+F3. Jeżeli masz dużo czerwonych lini to najprawdopodobniej tak. Czasem serwer może wyrzucić gracza z powodu braku połączenia (w konsoli błąd "disconnect.overflow").
 
Jesl
  • WorldEdit – użyj tego pluginu by usunąć wodę i lawę w danym regionie (/removenear water 90 i /removenear movingwater 90). Pamiętaj, że może to być bardzo ciężkie do obliczenia dla Twojego serwera!
5.Nadmierne ilości kaktusów. Wielkie plantacje kaktusów mogą powodować wiele lagów. W razie potrzeby usuń je.
 
6.Nadmierne urządzenia używające redstone. Redstone jest blokiem, który wymaga od serwera niemalże ciągłego odświeżania. Każdy zegar, bramka czy inne urządzenie wykorzystujące redstone jest bardzo obciążającym blokiem. Wyłączenie ich (usunięcie źródeł zasilania) spowoduje, że serwer nie będzie nieustannie musiał odświeżać bloków dzięki czemu będzie bardziej wydajny. Również bloki wykorzystujące redstone takie jak tłoki, lejki, piece, podajniki i wiele innych są kosztowne dla serwera. Radzę ograniczyć ich ilość, bądź całkowicie je zablokować np. W pluginie Essentials. (opis konfiguracji znajduje się na dole posta)
 
7.Nadmierne spadanie piasku i żwiru. Ruch sieciowy jaki jest generowany przez duże ilości spadających przedmiotów w celu aktualizacji mapy u klientów gry jest taki duży, że może powodować lagi. Usuń nadmierne ilości piasku i żwiru aby odciążyć serwer.
 
8.Generowania mapy. Podczas generowania mapy serwer jest obciążany aby te mapę stworzyć a nastepnię wyslać do klienta. Staraj się mniej podróżować lub całkowicie ogranicz mapę przy pomocy takich pluginów jak WorldBorder. Pamiętaj, że duże mapy również dodatkowo obciążają serwer. Użyj w/w pluginu do ograniczenia mapy. Jeżeli posiadasz kilka map usuń je i stwórz jedną większą, dzięki czemu serwer będzie wydajniejszy niż na kilku mapach jednocześnie. Ograniczy ilość wysyłanych chunków do gracza w celu odciążenia łącza. Odwiedź plik server_properties.yml w linijce render_distance: określ liczbę od 3 do 15. Jeżeli Twoja mapa nie potrzrebuje maksymalnej wysokości obniż ja w pliku server_properties.yml w linijce max-build-height
 
9.Rozpalony ogień. Rozpalony ogień wysyła dużo danych do sieci, zużywa dużo CPU i laguje klienta gry. Ugaś ogień aby pozbyć się lagów. Możesz użyć od tego pluginu WorldEdit i komendy /ex, bądź narzędzi takich jak mce.py lub MCEdit.
 
Przydatne pluginy Craftbukkit oraz Mineforge z dodatkiem Bukkit Forge:
 
LagMeter -

By zobaczyć linki musisz się zalogować lub zarejestrować

- jest małym pluginem odpowiadającym za podawanie TPS serwera i stanu pamięci RAM. Możesz go za darmo ściągnąć z oficjalnej strony bukkita. Standardowa ilość TPS to 20 jeżeli liczba zejdzie poniżej 10 to coś złego dzieje sie z Twoim serwerem. Jeżeli ilość ramu jest niska radzę wykonać serstart serwera lub dodać mu większa pamieć.
 
ClearLagg -

By zobaczyć linki musisz się zalogować lub zarejestrować

- plugin do kontrolowania lagujących serwer chunków.
 
pTweaks -

By zobaczyć linki musisz się zalogować lub zarejestrować

- narzędzie do automatycznego kontrolowania lagów




[EDIT-1] Dodałem trzy błędy, które często pojawiają się w konsolach, oraz dodałem screenshot'y i wyjaśnienie konfiguracji.
[EDIT-2] Dodałem instruktaż jak usunąć wybuchające tnt z mapy.
 
 

Silnik standard:
 
 
1.Nadmierna ilość spawnujących się mobów (zwierzęta i moby). W Minecraftowym świecie pojawia się dużo mobów, które w znaczy sposób obciążają serwer. Przy pomocy kilku pluginów możesz skutecznie zablokować lub ograniczyć pojawianie się potworów:
 
2.Nadmierna ilość wyrzuconych przedmiotów i strzał. Klient gry często nie radzi sobie dobrze z wieloma przedmiotami leżącymi na ziemi. W wersji 1.3 wprowadzono grupowanie się przedmiotów lecz nawet to może czasem nie pomóc przy olbrzymich ilościach przedmiotów. Jeżeli jesteś w pobliżu obszaru, w którym masz lagi wciśnij F3 i sprawdź punkt E, w którym dowiesz się ile przedmiotów leży na ziemi. Jeżeli jest ich ponad 1000 (tak przynajmniej mówi

By zobaczyć linki musisz się zalogować lub zarejestrować

, więc trzymajmy się tej liczby mimo iż jest ona dla mnie znacznie zawyżona).
 
3.Nadmierna ilość płynącej wody i lawy. Obliczenia płynącej lawy i wody są kosztowne nie tylko dla serwera ale i dla klienta gry. Aby sprawdzić czy region w którym się znajdujesz jest przeciążony wciśnij SHIFT+F3. Jeżeli masz dużo czerwonych lini to najprawdopodobniej tak. Czasem serwer może wyrzucić gracza z powodu braku połączenia (w konsoli błąd "disconnect.overflow").
 
4.Nadmierne ilości kaktusów. Wielkie plantacje kaktusów mogą powodować wiele lagów. W razie potrzeby usuń je.
 
5.Nadmierne urządzenia używające redstone. Redstone jest blokiem, który wymaga od serwera niemalże ciągłego odświeżania. Każdy zegar, bramka czy inne urządzenie wykorzystujące redstone jest bardzo obciążającym blokiem. Wyłączenie ich (usunięcie źródeł zasilania) spowoduje, że serwer nie będzie nieustannie musiał odświeżać bloków dzięki czemu będzie bardziej wydajny. Również bloki wykorzystujące redstone takie jak tłoki, lejki, piece, podajniki i wiele innych są kosztowne dla serwera. Radzę ograniczyć ich ilość, bądź całkowicie je zablokować np. W pluginie Essentials. (opis konfiguracji znajduje się na dole posta)
 
6.Nadmierne spadanie piasku i żwiru. Ruch sieciowy jaki jest generowany przez duże ilości spadających przedmiotów w celu aktualizacji mapy u klientów gry jest taki duży, że może powodować lagi. Usuń nadmierne ilości piasku i żwiru aby odciążyć serwer.
 
7.Generowania mapy. Podczas generowania mapy serwer jest obciążany aby te mapę stworzyć a nastepnię wyslać do klienta. Staraj się mniej podróżować .Zbadaj swoja mape w programie MCedit
 
8.Rozpalony ogień. Rozpalony ogień wysyła dużo danych do sieci, zużywa dużo CPU i laguje klienta gry. Ugaś ogień aby pozbyć się lagów. Możesz uzyc narzędzi takich jak program MCEdit.
 
 
 
Częste błędy (Wszystkie silniki) :
 
Błąd "Can't keep up". Wiadmość ta pojawiająca się w konsoli oznacza iż zegar serwera ma opóźnienie (laga). Gdy widzisz tą informację rzadko to nie musisz się nią przejmować. Lecz jeżeli pojawia się ona często to masz poważny problem z serwerem. W dodatku błąd ten można rozpoznać poprzez opóźnione stawianie bloków i spowolniony czas (między nocą a dniem). Warto sprawdzić w/w problemy, gdyż to one mogą wywoływać ten błąd. Jeżeli powyższe metody nie zadziałają jest to problem sprzętu. Za mało pamięci RAM bądź zbyt wolny CPU. Warto pamiętać, że Minecraft nie jest wielowątkowy, więc wielordzeniowe procesory nie będą w pełni wykorzystywać swojej mocy.
 
Błąd "GzipException". Miencraftowy Świat jest zbudowany z chunków czyli terenów 16x16x128. Wiadomość ta pokazuje się podczas uruchamiania serwera gdy Twój świat jest uszkodzony. Aby naprawić ten problem musisz przywrócić mapę do ostatniego poprawnego stanu, bądź użyć edytora map takiego jak mce.py lub MCEdit.
 
Błąd "Java.net.SocketException: Connection reset". Błąd ten nie jest niczym ważnym. Pojawia się on gdy gracz opuści serwer np. wyłączając Minecrafta. Serwer nie otrzymuje danych od klienta dlatego pojawia się ten błąd.
 
 
 
 
Jak naprawić mapę zepsutą przez wybuchające tnt?
 
Często zdarza się, ze gracze na serwerze niszczą mapy poprzez postawienie ogromnej ilości TNT i odpalenie go. Serwer wówczas staje się przeciążony, zegar serwera jest opóźniony, a mapa zazwyczaj uszkodzona i usuwana. Jednak jest możliwość naprawy jej poprzez narzędzie McEdit. Oto szybkie wyjaśnienie jak tego dokonać. Jeżeli poniższy sposób nie zdołał naprawić mapy, lub rezultat nie jest satysfakcjonujący polecam przywrócić mapę do wcześniejszego, poprawnego stanu.
 
Na początek musimy pobrać nasze narzędzie McEdit na nasz komputer i przygotować je do pracy. Odwiedzamy stronę

By zobaczyć linki musisz się zalogować lub zarejestrować

a następnie pobieramy aplikacje zgodną z naszym systemem. Po pobraniu otwieramy pobrane archiwum poprzez dowolny archiwizator np. WinRar i je wypakowujemy.
 
90995732054177655245.png
 
 
Po wypakowaniu otwieramy plik mcedit.exe. Powinny pojawić się dodatkowe pliki, cmd, oraz sam pogram.
Teraz musimy pobrać mapę z naszego serwera i otworzyć ją programem McEdit (Open a level -> NAZWA_SWIATA/level.dat). Sterowanie jest banalne – w,a,s,d poruszanie postacią; PPM+myszka obracanie kamery; LPM zaznaczanie. Po załadowaniu świata wyszukujemy terenu gdzie tnt wybuchło.
 
37675570045465278244.png
 
Widoczne na ss czerwone kwadraty to podpalone tnt, którego w normalnym Mc nie jesteśmy w stanie zniszczyć. Zaznaczany teren z odpalonym i nie odpalonym tnt.
 
96462284889911971688.png
 
Wybierz opcję "Delete Entities", aby usunąć wszystkie wybuchające tnt z zaznaczonego obszaru. UWAGA! Spowoduje to również usunięcie niektórych elementów gry takich jak obrazy!
 
61906346173532570534.png
 
26057864326268549897.png
 
Wybierz funkcję "Fill and Replace", a następnie wybierz spośród listy tnt. Potwierdź przyciskiem "ok" i kliknij "Replace". Jeżeli widzisz poniższe ustawienie w menu to możesz ponownie kliknąć "Replace".
 
10572631979717323210.png
 
13181366138952111015.png
 
 
Po wykonaniu powyższych punktów powinieneś prawidłowo pozbyć się niechcianego tnt. 
 
61737342965794730621.png
 
TNT prawidłowo zostało usunięte. Nie zapomnij o zapisaniu pracy CTRL+S!
  • Will i Michał lubią to

craftportal

Craftserve to największy i najlepszy polski hosting serwerów Minecraft, jest solidny i tani więc go polecam

#2 Will

Will

    Zwiadowca

  • Użytkownik+
  • 1621 postów

Napisano 09 August 2013 - 16:14

Bardzo dobry poradnik, szczegółowo i czytelnie opisane, czekam na SS'y ;)



#3 MrPiter

MrPiter

    Uczony

  • Użytkownik+
  • 591 postów
  • xCreiqu

Napisano 09 August 2013 - 16:20

Zgadzam się z użytkownikiem powyżej.

Jeżeli będę miał serwer i będą straszne lagi na pewno poczytam ten poradnik jeszcze raz


Pomogłem? Daj Diaxxy :P
Nie pomogłem? Też możesz dać :P Zbieram na serwer

#4 WinEi8ht

WinEi8ht

    Nowy

  • Użytkownik
  • 14 postów
  • WinEi8ht

Napisano 12 August 2013 - 14:44

@up - Dodałem ss'y i błędy, które często pojawiają się w konsolach.

Pracuję jeszcze nad minitutorialem, ale jest on ciężki do zrozumienia, więc nie wiem kiedy się pojawi.



#5 Arek24g

Arek24g

    Nowy

  • Użytkownik
  • 48 postów
  • Arek24g

Napisano 14 August 2013 - 17:31

@top

Tut spoko lecz mógłeś również dodać jakieś kolorki tak do estetyki.

8,5/10 <-- 1,5 za kolorki ;)


Kocham craftsite !!!

 


#6 WinEi8ht

WinEi8ht

    Nowy

  • Użytkownik
  • 14 postów
  • WinEi8ht

Napisano 17 August 2013 - 15:10

@up - Dzięki za miłą ocenę ;). Mimo wszystko nie jestem za wprowadzeniem kolorów do mojego poradnika. Sądzę, że psują one jakość postów. Wszystkie ważne informacje są pogrubione, bądź napisane większym fontem. Jeżeli jednak komuś kolory znacznie ułatwią czytanie tego poradnika postaram się je wprowadzić. Tymczasem ich nie będzie.

 

Dopisałem minitutorial jak usunąć wybuchające tnt z mapy. Miał być trudny, lecz jednak się myliłem. Mam nadzieję, że się Wam podoba. Troszkę mało mojego komentarza, ale uzupełniają go w znacznej części ss'y. 



#7 foeminecraft

foeminecraft

    Nowy

  • Użytkownik
  • 26 postów
  • EngineerRav

Napisano 18 August 2013 - 15:36

Przyjemnie sie czyta, poradnik jest tez bardzo dobrze napisany a jak wiadomo wczlowiek ciagle sie czegos nowego uczy wiec przyda sie i to nie jednemu. Gratulacje za wykonanie i pomysl.