Meta na mobilność? Też bądź mobilny! Sprawdź mobilne How2Win

Pingobójstwo: wojna z lagiem w imię europejskich graczy

W styczniu poinformowaliśmy was o postępach w pracy nad Riot Direct – inicjatywie, której celem było stworzenie ruchu sieciowego przeznaczonego dla League of Legends w Ameryce Północnej i Europie. Ponieważ usługa już działa, chcemy podzielić się informacjami na temat zmniejszenia opóźnień, jakie zauważyliśmy. Omówimy także bardziej szczegółowo, jak dotarliśmy tu, gdzie jesteśmy, abyście lepiej zrozumieli, dlaczego uznaliśmy Riot Direct za konieczność. Powiemy także o problemach, które chcemy rozwiązać dzięki temu.

Aby lepiej przedstawić sytuację zwróciliśmy się do Peytona Maynard-Korana, kierownika technicznego w Riot z 20-letnim doświadczeniem w przemyśle telekomunikacyjnym, właściciela Riot Direct i fanatyka Wukonga. – Wukong zawsze był moim ziomem! – mówi, wyciągając futerał na telefon z Małpim Królem i pokazując oprawioną ilustrację Wukonga, którą otrzymał od swojego najlepszego przyjaciela. Jeżeli nie bawi się w helikopter, korzystając z Cyklonu w środku wrogiej drużyny, to na pewno pracuje nad nowymi sposobami ulepszenia waszych połączeń z League of Legends.

PRZED I PO

Udało nam się dokonać usprawnień, które chcieliśmy. Oto mapa poziomów opóźnień na serwerze EUZ, których doświadczali gracze w Europie tuż przed aktywacją sieci Riot Direct (zielone = 0-65ms, pomarańczowe = 66-100ms, czerwone = 101ms lub więcej).

Bycie na zielonym nie jest łatwe dla wielu graczy z południowej Europy, ale tak wygląda sytuacja na EUZ po uruchomieniu:

Sytuacja wygląda trochę inaczej na serwerze EUNE, gdyż dopiero od niedawna współpracujemy z dostawcami Internetu z centralnej i wschodniej Europy. Nasza obecność w Wiedniu na pewno usprawni opóźnienia i stabilność tych połączeń, ale nadal mamy w planach rozszerzenie naszej infrastruktury dalej na południe i na wschód. Obecna sytuacja na EUNE wymaga poprawy, ale usprawnienia, które planujemy wprowadzić w tym regionie w nadchodzących miesiącach, pozwalają nam optymistycznie patrzeć w przyszłość.

Sytuacja obecna:

DLACZEGO RIOT DIRECT?

League of Legends to gra sieciowa (OMG, SPOJLER!). Oznacza to, że niezależnie od tego, jak dobra jest gra pod względem rozgrywki, jeżeli mechanizm jej dostarczania nie działa dobrze, League of Legends przestanie być fajne. Nikt nie lubi użerać się z lagami i patrzeć, jak jego bohater skacze po ekranie, i zastanawiać się, czy będzie oglądać ekran po śmierci, gdy internet przestanie szaleć.

Gdy otworzyliśmy centrum danych w Amsterdamie rok temu w czerwcu, wykupiliśmy potężne łącza internetowe od największych dostawców internetu (Level 3, GTT, Telia, Hibernia itd.). Uznaliśmy, że znormalizuje to sytuację dla graczy i uda nam się osiągnąć jak najszybsze połączenia z nimi. Jednakże połączenia nie były takie, jakich chcieliśmy. Przykładowo wielu graczy z Niemiec, pomimo znajdowania się dość niedaleko naszego centrum danych, miało opóźnienie sięgające 120ms. Co gorsze, szybkość połączeń cały czas się zmieniała i nie było żadnego sposobu, aby to naprawić.

Nie udało się nam w pełni opanować sytuacji. Jeżeli połączenie nawalało poza naszą siecią, wciąż wpływało to negatywnie na graczy League, nawet jeżeli nie była to nasza wina. – Nigdy nie mogliśmy utrzymać lub wpływać na sposób, w jaki działał ruch sieciowy, dopóki nie zbudowaliśmy własnej sieci – mówi Maynard-Koran o starym modelu.

– Dlatego właśnie zbudowaliśmy tę sieć w Europie. Ruch sieciowy zamiast kierować się jak najprostszą drogą do naszego centrum danych, odbijał się po całym kontynencie. Posiadając własną infrastrukturę, możemy nie tylko zmusić cały ruch do przejścia przez naszą sieć, ale także możemy odesłać go dokładnie tą samą drogą. Oznacza to, że tworzymy środowisko, w którym gracze otrzymują bardzo symetryczną ścieżkę, a wszelkie przekierowania zostają usunięte.

PROBLEM PRZEKIEROWAŃ

Aby zrozumieć, dlaczego wysyłanie połączeń League przez dostawców internetowych na skomplikowaną drogę przez wiele routerów sprawia dużo problemów, należy wiedzieć, że ruch przy grach internetowych znacznie różni się od większości normalnego ruchu internetowego. Standardowy ruch internetowy – filmy, muzyka, zdjęcia kotów itp. – podróżuje w pakietach 1500-bajtowych. Ruch League wymaga szybkich serii aktualizacji, ale każda wiadomość jest dość mała – 55 bajtów. Pod względem naszego profilu ruchu sieciowego jesteśmy znacznie bardziej podobni do banku, który wykonuje dużo szybkich operacji, niż do Facebooka czy Google’a, którym chodzi przede wszystkim o samo łącze.

Routery są skonstruowane pod względem tego, ile pakietów mogą odczytać, ponieważ tym się zajmują. W przypadku League prosimy więc router, który jest przyzwyczajony do odczytywania pojedynczego pakietu 1500-bajtowego w danym czasie, o doczytanie 27 razy więcej pakietów w tym samym czasie. Im więcej routerów po drodze muszą zaliczyć dane w drodze od naszego centrum danych do gracza, tym większe ryzyko przeciążenia routerów, co doprowadza do utraty pakietów i irytacji podczas rozgrywki.

JAK TO DZIAŁA?

Internet to grupa rozmawiających ze sobą komputerów, co oznacza, że możecie połączyć się z urządzeniem, które poprowadzi was konkretną drogą. Jako że jesteśmy firmą zajmująca się grami, nasz problem z internetem wygląda tak, że wykorzystuje on te wszystkie ścieżki, co powoduje różne doświadczenia dla graczy. Aby rozwiązać ten problem, badamy różne opcje i wybieramy ścieżkę, która odpowiada nam najbardziej. Następnie wynajmujemy na niej specjalną trasę i przygotowujemy wszystko tak, aby ruch League of Legends odbywał się właśnie na niej.

Czynimy to, umieszczając router na skraju danego PoP (point of presence) i łącząc się bezpośrednio z regionalnym dostawcą internetu. Tworzymy coś w stylu bocznej trasy, więc jeżeli ruch związany z grą miałby trafić do zwykłego internetu, zostaje przekierowany do naszego routera. A stamtąd mamy już tę specjalną drogę, która przesyła sygnały od graczy do centrum danych w najszybszy możliwy sposób. Podobnie jak dżungler z LCS, który przemieszcza się między obozami potworów, chcemy, aby ruch związany z naszą grą za każdym razem szedł jak najlepszą drogą.

Jednakże nawet najlepiej zaprojektowana technologia może zaliczyć awarię co jakiś czas, więc zagwarantowaliśmy, że jeżeli PoP przestanie działać, system automatycznie przechodzi na standardowe przekierowywanie, aby połączenie z serwerem gry nie zostało przerwane. Zastosujemy dodatkowe zabezpieczenie, tzn. nasz zespół będzie zajmował się Riot Direct 24/7 dzięki oprogramowaniu, które powiadomi nas za każdym razem, gdy wystąpi jakiś problem. Stabilność jest dla nas niezwykle ważna i musicie być w stanie prowadzić swoją drużynę do zwycięstwa jako ta Tristana ze wszystkimi przedmiotami, nawet jeżeli jeden z PoP-ów między wami i serwerem padnie po 50 minutach meczu.

SZYBKI TOR

– Na początku myśleliśmy, że będzie to projekt na 2-3 lata, biorąc pod uwagę, jak wolno działają firmy telekomunikacyjne – mówi Maynard-Koran. – Przykładowo, zamówienie należy złożyć na 90 dni przed tym, kiedy chcesz mieć je zrealizowane, a i tak trzeba mieć z nimi długą historię. Na szczęście nasz zespół ma wiele znajomości w tym przemyśle, więc byliśmy w stanie to przyspieszyć. Dodatkowo myśleliśmy, że stworzenie odpowiedniej infrastruktury także potrwa długo, ale i to udało się nam przyspieszyć. W Ameryce Północnej udało nam się zorganizować to w niecały roku, a jeżeli zastanowić się nad Europą, zaczęliśmy w zeszłym listopadzie i przewidujemy, że początkowa faza rozpocznie się pod koniec sierpnia.

Gdy Maynard-Koran mówi „zorganizować”, oznacza to, że stworzyliśmy infrastrukturę i połączyliśmy się z dostawcami, którzy obsługują ponad 50% naszych graczy. Będziemy dołączać kolejnych dostawców i zajmować się poprawianiem połączeń, aby upewnić się, że dane wchodzą i wychodzą w odpowiednich miejscach, ale przewidujemy, że do końca roku obsłużymy około 80% graczy.

POŁĄCZENIA SIECIOWE

Pomimo że nasza metodologia dla Riot Direct pozostaje taka sama, niezależnie od tego, czy zajmujemy się Ameryką Północną czy Europą, w przypadku Europy musimy rozważyć kilka wyjątkowych rzeczy. Europa jest mocno połączona – nawet najmniejsze kraje mają trzech lub czterech dostawców usług internetowych. Znaleźliśmy miasta, w których było ich nawet 15.

Ameryka Północna ma około 75 dostawców usług internetowych, ale 25% zajmuje Comcast, a kolejne 40% to połączone AT&T i Verizon. Potem jest Time Warner Cable i Charter, więc jeżeli zespół Riot Direct połączy się z 10 firmami w Ameryce, obsłuży 80% graczy. Jednakże w przypadku Europy 80% graczy oznacza prawdopodobnie około 40 firm.

To powiedziawszy, rozszerzanie obsługi w Europie jest łatwiejsze. – W Europie istnieją polityki wymiany publicznej, które przyspieszają proces łączenia, podczas gdy w Ameryce Północnej w pewnym momencie musieliśmy bawić się z prawem, aby połączyć się z jednym konkretnym dostawcą. Obecnie użeramy się z jedną firmą z Kanady, która absolutnie nie chce się z nami połączyć – mówi Maynard-Koran. Innymi słowy, jeżeli musimy walczyć o to, żeby gracze mogli lepiej cieszyć się League, chętnie wejdziemy na ring.

KOLEJNE KROKI

Teraz, gdy Riot Direct już działa, pracujemy nad ulepszeniem go. Rozglądamy się za kolejnymi punktami, z których możemy kierować ruchem w Portugalii (Lizbona lub Porto), Włoszech (Rzym), Grecji (Ateny) i być może Polsce. Cały czas nawiązujemy kontakty z nowymi dostawcami usług internetowych, aby przesyłane przez nich dane League podróżowały za pomocą naszej superszybkiej autostrady.

Rozwijamy także oprogramowanie do dynamicznej obsługi przekierowywania danych, dzięki czemu mogą one podróżować przez najbardziej wydajne ścieżki, oferując najlepszą jakość połączenia. Umożliwia nam to także manipulowanie ruchem, więc jeżeli mamy styczność z atakiem DDoS lub zobaczymy, że jedna z dróg jest zła, możemy przesłać sygnał w inny sposób tak, że gracz nawet tego nie zauważy i bez konieczności ponownego łączenia.

– Dostawcy usług internetowych robią się leniwi, ponieważ muszą zarządzać dużą liczba połączeń – mówi Maynard-Koran. – Często zostawiają standardowe ustawienia połączeń, przez co dane nie zawsze są przesyłane w optymalny sposób. Załatwienie tego ręcznie jest dla nich trudne. Chcemy załatwiać to za pomocą oprogramowania i uważamy, że wkrótce zacznie ono przejmować kontrolę nad sposobami zarządzania siecią. A możliwość zarządzania drogami jest pierwszym elementem. Będzie to pierwszy raz, gdy będziemy mogli manipulować nimi za pomocą czegoś, co nie jest routerem, co jest dużym krokiem w przemyśle i czymś, co chcemy osiągnąć. Wreszcie programiści będą rządzić internetem!

ZAKOŃCZENIE

Mamy nadzieję, że po uruchomieniu Riot Direct będziecie cieszyć się stabilnym i pozbawionym opóźnień połączeniem. Wysyłajcie do nas wiadomości i dajcie znać, czy zauważyliście jakąś poprawę. Nasz zespół będzie dalej monitorował sytuację i optymalizował sieć, aby osiągnąć cel, którym jest sprawienie, że wszyscy europejscy gracze będą grać z opóźnieniem poniżej 65ms. Pamiętajcie, że jeżeli macie jakieś kłopoty z połączeniem, możecie pobrać nasze narzędzie diagnostyczne sieci i podesłać wyniki, aby pomóc nam zidentyfikować problemy i znaleźć nowe miejsca, na których powinniśmy skupić uwagę. A teraz wracamy do gry. Czy ktoś natychmiast wybiera Wukonga?

źródło: http://eune.leagueoflegends.com/pl/news/riot-games/editorial/pingobojstwo-wojna-z-lagiem-w-imie-europejskich-graczy

Jeśli zauważyłeś literówkę/błąd we wpisie - prosimy o zgłoszenie tego poprzez specjalny formularz kontaktowy - dzięki automatycznemu systemowi powiadomień będziemy mogli błyskawicznie usunąć błąd.