Xenoblade Chronicles X od 4 grudnia !
Blog o konsoli Wii U i technologiach w rozrywce

Pomyślałem sobie, że w czasach gdy często używamy komputerów i konsol do gier poprzez sieć internetową – warto co nieco napisać o jednym z podstawowych parametrów, który ma wpływ na jakość grania online – Ping. To właśnie parametr Ping jest głównie odpowiedzialny za tzw. lagi w grze online.

 

Ping możemy sprawdzić wykorzystując dostępne strony internetowe – np. speedtest.net

Poniżej test – wybrałem serwer w Warszawie a w teście drugim – serwer w San Francisco. Jak zauważycie – różnica w pingu jest spora:

1. 57 milisekund dzieli mój dom od wybranego serwera w Warszawie

speedtest1

 

2.  Ałłła – 205 milisekund przy połączeniu z serwerem w San Francisco. Domyślamy się, co ma na to wpływ…

speedtest2

Ale możemy także więcej dowiedzieć sie, gdy użyjemy odpowiedniej komendy z poziomu komputera.

Aby zrozumieć rolę tzw. PING-a w jakości sieciowej rozgrywki warto poznać kilka informacji o testowaniu sieci. Nie będę się tutaj rozwodził nad szczegółami budowy sieci, tylko przejdę od razu do sedna – narzędzia Ping.

 

PING – czyli narzędzie (czytaj: program)  służy do diagnozowania połączeń sieciowych  TCP/IP (na których bazuje sieć internet i sieci lokalne). Ping często porównywany jest do sonar-u, który bada dno oceanu na zasadzie odbicia sygnału. ”Pingując” czyli wysyłając i odbierając (Ping wysyła ICMP Echo Request i odbiera ICMP Echo Reply) pakiety na dany serwer możemy dowiedzieć się kilku ciekawych rzeczy o badanym serwerze (lub innym urządzeniu sieciowym):

1. czy badany serwer działa *
2. jakie jest opóźnienie odpowiedzi od badanego serwera (ważne w kontekście gier online)
3. czy badany serwer ma czasowe problemy z połączeniem (gdy zastosujemy ciągły ping i przeanalizujemy więcej pingów)

Czym jest tzw. działanie serwera? To już bardziej złożona kwestia – często zdarza się, że serwer odpowiada na Ping, ale nie działają inne, kluczowe usługi (np. serwer www lub serwer gier), więc z punktu widzenia klienta – serwer nie działa, choć pinguje.
* Co więcej – często brak odpowiedzi na Ping nie znaczy, że serwer nie działa. Aby zapobiec przeciążeniu serwera lub go lepiej zabezpieczyć często blokuje się na poziomie firewall-a (zapory sieciowej) lub routera odpowiedzi na Ping-i. Innymi słowy posiadacz serwera nie chce, aby jego serwer odpowiadał na dowolne Ping-owanie z różnych stron świata, a sam monitoruje go innymi metodami.

Ping to program do diagnozowania urządzeń w sieci. Natomiast Ping (PING, ping) w kontekście naszych gierto wartość liczbowa, która pokazuje ile czasu potrzebował odpytywany serwer, aby nam odpowiedzieć. Przyjmuje się, że wartość Ping na poziomie powyżej 150-200 ms (milisekund) dyskwalifikuje nasze łącze internetowe jeśli chodzi o wygodne (bez opóźnień) granie w gry sieciowe.
Niektóre gry – aby zapewnić jakość rozgrywki – same odrzucają lub odłączają tych graczy, których wartość Ping jest zbyt wysoka. Inna sprawa, że w niektórych grach sieciowych rola parametru ping nie jest tak ważna (np. gry karciane czy szachy online). Czy przeciwnik pozna nasz ruch w ciągu 1 sekundy czy po 5 sekundach – nie ma znaczenia w takiej rozgrywce.

Czemu jednak jedni mają niski Ping (lepiej), a inni wysoki (gorzej) ?
Temat jest dość złożony, ale najprościej – zależy od 2 elementów:

1. Jakości łącza gwarantowanej przez dostawcę naszego internetu (ISP)
2. Odległości od serwera (np. serwera gier) z którego korzystamy (niżej – test narzędziem tracert)

Podstawa to  wybór dostawcy internetu i jeśli tylko zależy nam na jakości gier sieciowych – zróbmy rozeznanie który dostawca oferuje lepszy Ping. Niektórzy niestety nie mają takiej możliwości – w sytuacji gdy jest jedyny dostawca internetu w okolicy bierzemy to co jest.
Na odległość od serwera nie mamy niestety wpływu. No bo jak określić który serwer ma być blisko nas – w końcu serwery gier są rozrzucone po świecie. Są hostowane na dedykowanych maszynach w różnych częściach świata. Najlepiej  chyba przenieść się do Kalifornii, Japonii lub w inne okolice, gdzie nasz dostawca internetu na dzień dobry będzie oferował bardzo dobry ping głównie dlatego, że jego infrastruktura sama ma bardzo dobre parametry łącz. No ale bardzo dobre łącza kosztują. Nie jestem przekonany, czy serwery największych tytułów są zlokalizowane także w Polsce. To co możemy zrobić by poprawić parametry łącza – liczyć na  trochę szczęścia aby nasz provider nie podcinał zbyt ruchu gier na swoich urządzeniach. Możemy także kupić najlepszy na jaki nas stać router do domu i w czasie rozgrywek sieciowych odłączać inne urządzenia korzystające z naszego domowego routera (smartfony, tablety, SmartTV). Można też pogrzebać w ustawieniach samego routera.

Warto jednak na początek sprawdzić swój Ping wykorzystując swój komputer, bo przecież do grania sieciowego w domu używamy tego samego routera.
Aby sprawdzić swój PING – możemy z komputera (Windows, Linux, Mac) w domu uruchomić okno command line (w systemie Windows uruchamiamy  cmd).

Poniżej przykładowe testy 3 serwerów. Najpierw prosty Ping i efekt – minimalna, maksymalna i średnia wartość Ping (w milisekundach). Następnie, przy użyciu innego narzędzia – tracert – sprawdzamy jak daleko jesteśmy od serwera. W nomenklaturze IT  ”daleko”  oznacza nie tyle odległość geograficzną, ale  ile tzw. przeskoków (hop) dzieli nasz komputer (jak i konsolę)  z docelowym serwerem. Mówiąc precyzyjniej – ile po drodze routerów mija nasz Ping zanim dotrze do badanego serwera.

1. Prosty ping na wiiu.com.pl – serwer „fizycznie” jest blisko (Polska, Holandia? mało ważne) , więc wartość Ping-a jest niska (32 ms) i jest na tym samym poziomie przy domyślnych dla systemu Windows 4 testach.

ping1

Sprawdzam teraz ile routerów po drodze musi przeskoczyć moje zapytanie – wykorzystam komendę tracert:

tracert1Widać, że zapytanie przeskakuje 6 razy do docelowego, fizycznego serwera na którym jest umieszczony blog wiiu.com.pl (ibc.pl). Można przy okazji zwrócić uwagę, że wędruje ode mnie do serwera docelowego przez routery wrocławskie (wro) i krakowskie (kra).
Warto od razu dodać, że trasa dobierana jest automatycznie.

2. Kolejny ping – tym razem na stronę yahoo.com. Nie wiem gdzie fizycznie jest zlokalizowana strona yahoo, ale po samym ping-u widać, że nie jest to serwer w Krakowie (nota bene lokalizację geograficzną można sprawdzić innymi narzędziami).  Średni czas odpowiedzi na nasz ping na poziomie 173 ms. Jak się domyślamy – gdyby serwer yahoo służył na serwer gier – kiepski nasz los, przynajmniej w grach online…

ping2

Ciekawe ile razy musi przeskoczyć nasze zapytanie o yahoo.com. Ponownie pomoże nam tracert:

tracert2

Tutaj jest ciekawiej. Widać, że 15 przeskoków dzieli nas od serwera yahoo.com. Przeskoki między 9-15 hop-em wykonywane są prawdopodobnie w infrastrukturze samego Yahoo.

3. Na deser spróbujemy spingować serwer nintendo.co.jp. Okazuje się, że ping nam nie odpowiada. Serwer nie działa? Bzdura. Gdy spróbujemy wejść przeglądarką na stronę www.nintendo.co.jp okaże się, że  działa, a strona  otwiera się. Prawdopodobnie administratorzy Nintendo zablokowali możliwość pingowania swojego serwera dając dostęp wyłącznie poprzez stronę web (protokół HTTP akceptuje, ale kontrolny ICMP już nie).

ping3

Tutaj bezsprzecznie fizyczna odległość ma jednak znaczenie. Zobaczcie jak wygląda sprawdzenie ilości pośrednich routerów. Wrocław, Katowice, Frankfurt, Londyn…. a na 23 hop-ie kończy się odpowiedź ostatniego routera (wartość 332 milisekundy).

tracert32

Trzeba pamiętać, że dla wielu usług, wartość Ping nie ma znaczenia – otwarcie strony www nie wymaga natychmiastowej odpowiedzi serwera. Nawet oglądanie filmu na Youtube – część filmu przed rozpoczęciem oglądania zostanie zbuforowana. Tutaj liczy się szybkość pobierania.

Wróćmy do samych gier.

Jak wygląda więc granie w gry sieciowe i jaki to ma związek z szybkością odpowiedzi serwera gier (ping) ?

DSC_9469 (Medium2)

Wyobraźmy sobie, że jedziemy w Mario Kart 8 naszym pojazdem. Inni gracze muszą widzieć naszą pozycję. Nasze przyspieszenie autem (tu w Polsce) musi być widoczne odpowiednio szybko na konsoli gracza z Japonii czy USA – bo inaczej cała gra się rozjedzie. Innymi słowy każdy gracz uczestniczący we wspólnej grze musi w określonym czasie poinformować inne konsole graczy – poprzez serwer gry – co zmieniamy (prędkość, kierunek skręcania, wyrzucenie banana na drogę itd.). Podobnie gry, gdzie strzelamy. Strzelając do przeciwnika inni gracze a przede wszystkim ów przeciwnik – musi o tym się dowiedzieć. Im szybciej,  tym gra – w kontekście rozgrywki sieciowej – będzie stabilna i bez lagów. Lagi, czyli opóźnienia wynikające albo z problemów z wyświetlaniem grafiki (rzadziej na konsolach) albo z problemów z siecią widzimy jako przeskoki np. przeciwnika, chwilowe zatrzymanie po czym przyspieszenie gry.

Mariokart8_7

Ponieważ nie gram na komputerze tylko na konsoli Wii U, która podpięta jest do internetu routerem livebox poprzez Wi-Fi – na jakość gier sieciowych mam teraz niewielki wpływ. Akurat osobiście nie narzekam na Neostradę, gdyż ping-i na serwery krajowe jest bardzo przyzwoity (32-50 ms)  a na zachodnie zadowalający (100-170). Inna sprawa, że nasze Wii U mogłoby mieć wbudowany port RJ45, czyli typowy do użycia przewodu sieciowego łączącego konsolę z naszym domowym routerem. Taki port posiada np. PS4. Ale pracując na co dzień poprzez łącza Wi-Fi wiem, że połączenie kablowe tylko w pewnych sytuacjach może pomóc uzyskać lepszy ping. Z ciekawości zakupię jeden z dostępnych interface-ów ethernetowych USB/RJ45 dla Wii U. Myślę jednak, że panowie z Nintendo wiedzieli co robią wyposażając Wii U jedynie w port bezprzewodowy.

Niektóre gry pozwalają ocenić np. wykresem własny poziom dostępu do serwera gier. Poniżej zrzut ekranu z CallofDuty BO2. Widać, że jeden z graczy (jedna czerwona kropka) gra na granicy możliwości:

codbo2
Gry z opcjami gry sieciowej na Wii U takie jak Call of Duty Black Ops 2, Ghost, Mario Kart 8, Watch_Dogs, seria Assasin’s, Smash Bros, ale także gra w tenisa lub Just Dance  mają  serwery z pewnością jeśli nie w USA, to w Europie zachodniej.

Do nazw lub adresów IP serwerów gier często nie mamy dostępu. Odpowiednimi narzędziami można by oczywiście wyłuskać adresy IP popularnych serwerów używanych do rozgrywek sieciowych np. Mario Kart 8 czy Super Smash Bros i wtedy spróbować je pingować z domowego komputera. Niekoniecznie jednak nam odpowiedzą. Często także serwery gier są rozproszone w różnych lokalizacjach geograficznych tak, aby mieszkańcy Europy nie obciążali serwerów w USA czy Japonii. Z kolei niektórzy dostawcy gier sieciowych (np. Activision) pozwalają na dedykowanej stronie sprawdzić poziom działania swoich serwerów dla danej platfomy. Niestety nie możemy z tego poziomu ocenić własnego łącza internetowego. A szkoda.

game status

Serwery gier to urządzenia dedykowane. Często muszą obsłużyć setki, tysiące i więcej połączeń jednocześnie. Dzisiaj pracują w oparciu o strukturę rozproszoną, czyli chmurę. Podłączane do szerokopasmowych łącz mają zapewnić wielu graczom jak najlepszą jakość rozgrywki. Jak pewnie słyszeliście, szczególnie ostatnio,  sieci Sony czy Microsoftu odpowiedzialne za obsługę połączeń sieciowych z konsol są celem ataków grup hakerskich. W przypadku sieci Nintendo nie ma to miejsca, lub nie jest to na tyle spektakularne, więc nie jest odnotowywane w mediach.

Aktualny status sieci Nintendo możemy zresztą sprawdzić pod adresem:

http://www.nintendo.com/consumer/network/en_na/network_status.jsp

Niskich Pingów w grach w nowym roku 2015 życzy wszystkim czytelnikom Krzysiek z wiiu.com.pl

ps. jakie są Wasze parametry łącz, czy zaobserwowaliście jakieś szczególne problemy z grami online na Wii U?

Podziel się z innymi !

Podobne:

  • http://sprawnaskrzynia.pl biegi

    bardzo ciekawy artykuł

  • czepak24 are

    ciekawe i zrozumiale objasnienie Ping-u w grach…… u mnie waha sie od 30 do 80… a i tak co jakis czas lagiiii…. Grafika do wymiany juz prawie cala suma zebrana ………..Pozdrawiam…

    Translate to:

– NINTENDO ID -
Amiibo – modele 2014/2015
Przydatne linki
mii3 sos2 sos2 sos2 sos2
Polityka prywatności