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

Riot Direct: Znikające pakiety danych w Polsce

Wyobraźcie sobie przez chwilę, że naprawdę lubicie grać w piłkę nożną (zapewne to nic trudnego). I jesteście w tym całkiem nieźli — gracie w małej, ale ostro rywalizującej lidze, a wszyscy liczą na wasze znakomite umiejętności strzeleckie. Pokonujecie z piłką pierwszego obrońcę, kiwacie z łatwością drugiego i zmierzacie w stronę bramki. Ustawiacie się do idealnego strzału, po którym piłka poleci wdzięcznym łukiem nad bezradnym bramkarzem i wpadnie bezgłośnie do wyczekującej siatki. Ale to się nie wydarza; piłka nagle odtacza się pół metra w prawo, a wy już wykonujecie kopnięcie. Wasza stopa trafia w pustkę i tracicie równowagę. Przeciwnicy ze śmiechem odbierają wam piłkę, a wasi koledzy z drużyny ich nie powstrzymują. Są zbyt zajęci krzyczeniem na was albo, co gorsze, potrząsaniem głowami w milczącej dezaprobacie.

Tak właśnie wygląda gra w League of Legends przy wysokich stratach pakietów danych. Rzeczywistość gry nie odpowiada temu, co widzicie na swoim ekranie i podejmujecie decyzje w oparciu o przedawnione informacje. Wiele z problemów związanych z utratą danych wydarza się w całości na jednym lub drugim końcu połączenia: albo u nas, albo u was. Dla niektórych można znaleźć rozwiązanie. Na przykład przejście na połączenie kablowe z bezprzewodowego może w dużym stopniu zapobiec niezamierzonemu szturmowaniu wieży.

Ale utrata pakietu często może wynikać z samej konstrukcji Internetu, co nieco przekracza nasze możliwości kontroli. Tak właśnie było w przypadku setek tysięcy graczy w Polsce, którzy pomimo utrzymywania dobrego połączenia i drożnej ścieżki do serwerów gry stale doświadczali jednych z najgorszych utrat pakietów w regionie. W przypadku graczy, u których strata pakietów sięga 5% (to bardzo dużo), kopanie piłki przypomina grę w ruletkę. I to jest wkurzające, gdy waszym stałym towarzyszem jest utrata pakietów i przestajecie ufać we własne możliwości wykonywania zagrań. Co więcej, przestaje wam ufać wasza drużyna. Nawet najbardziej wyrozumiali sojusznicy przestają gankować na waszej alei, jeśli nie jesteście w stanie przewidywalnie na to reagować — niezależnie od tego, czy to jest wasza wina, czy nie.

Riot Direct to zespół utworzony w celu zajmowania się tego rodzaju przypadkami — sytuacjami, w których cały Internet sprzysięga się przeciwko płynnej grze w League of Legends. Opowiadaliśmy wcześniej o tym, jak działa ten zespół, i o tym, że w wielu przypadkach rozwiązanie problemów jest oczywiste. W Ameryce Północnej zespół pomógł w przeniesieniu serwerów gry z zachodniego wybrzeża do Chicago, opierając się na założeniu, że umieszczenie serwerów w środku kraju zapewni znacznie stabilniejszą grę na całym jego terytorium. (I tak się stało. Jakżeby inaczej!).

W Europie zespół zrobił coś podobnego. Podpięliśmy się do dziesięciu centrów danych na całym kontynencie — ostatnio w Sofii, w Bułgarii. Te ulepszenia drastycznie zmniejszyły liczbę przekazywania połączeń przed dotarciem danych do naszych serwerów gry:

Ciekawostka: szansa na zwycięstwo Talona rośnie o 2% za każdym razem, gdy usuwamy z mapy jedno rozgałęzienie. Źródło: serie gier o awans każdego grającego jako prowadzący.

Te działania przyniosły świetne efekty na wielu obszarach wschodniej i środkowej Europy, a nasze centrum w Sofii stanowi dla nas znakomity punkt wyjściowy dla dalszego ulepszania połączeń w Europie południowo-wschodniej. Sytuacja w Polsce powinna się poprawić — ale tak się nie stało. Wspomniani polscy gracze korzystali z tego samego dostawcy Internetu i kilku współdzielonych dróg kablowych prowadzących do naszych serwerów. Bez względu na to, jak szybko przenosiliśmy ich na drogę szybkiego ruchu Riot Direct, ich połączenie i tak było kiepskie, więc ciągle kopali na próżno nieistniejącą piłkę.



Ponieważ przechwycenie ruchu na drodze do naszego serwera nie działało, musieliśmy przechwycić go u źródła. Zdecydowaliśmy się otworzyć centrum danych w Warszawie, gdzie mieści się główna siedziba dostawcy Internetu, o którym mowa. Gdy fizycznie włączyliśmy się do jego sieci, mogliśmy współdzielić ruch internetowy i przechwytywać graczy w League of Legends, zanim trafiali na wyboiste drogi, którymi podróżowali wcześniej.

Zawsze, gdy podłączamy się do nowego centrum danych, spodziewamy się poprawy ruchu League of Legends w całym regionie i niewielkiego wzrostu szybkości połączeń w szerszej skali. Warszawa okazała się wyjątkowa pod tym względem, że stanowiła przypadek zaognionego, ale ściśle zlokalizowanego problemu dotyczącego (stosunkowo) niewielkiej liczby graczy. Nie mogliśmy mieć pewności, jak skuteczne okaże się to rozwiązanie, zanim nie uruchomiliśmy centrum danych i nie zaczęliśmy przekierowywać ruchu. Zrobiliśmy to w połowie listopada 2016 roku i niemal natychmiast zaobserwowaliśmy pewne rezultaty:

Wykres liniowy obrazujący utratę pakietów danych w godzinach szczytu i poza nimi, przed i po uruchomieniu centrum w Warszawie. Wygląda jak sinusoida. Szczytowa utrata pakietów przed: 5%. Szczytowa utrata pakietów po: 2%.

Dla porównania, 2% utrata pakietów odpowiada mniej więcej średniej w sieci — przy takiej wartości nie doświadczycie zakłóceń podczas gry. W przypadku dotkniętych problemem polskich graczy włączenie warszawskiego centrum sprawiło, że gra w godzinach szczytu zaczęła przypominać granie w środku nocy. Po raz pierwszy mogli grać w League of Legends bez tłuczenia w klawisze z nadzieją, że jedno lub dwa polecenia przebiją się przez szum. Chcący kreować grę mogli wybrać Riven lub Vayne i nareszcie przekonać się, co to znaczy ginąć w kółko, tylko bez laga. Ogólnie była to niezwykle pozytywna zmiana, nie tylko dla polskich graczy, ale dla wszystkich, którzy grali z nimi w drużynie.

Tak duże zmiany wiążą się jednak z ryzykiem: nie da się manipulować podstawami Internetu, nie narażając się na pewne straty uboczne. Straty te objawiły się w postaci kilkuset graczy, których połączenie przebiegało wcześniej przez Warszawę z wykorzystaniem infrastruktury innego dostawcy Internetu. Do listopada mieli oni nienajgorsze połączenie, ale w momencie, gdy włączyliśmy nasze centrum danych, ich połączenia zostały przekierowane i jakość się pogorszyła. W niektórych przypadkach pogorszyła się znacznie.

Okazało się, że chociaż ci gracze łączyli się teraz przez Riot Direct, to ze względu na niespotykany zbieg okoliczności ich poprzednie połączenie było faktycznie wydajniejsze. Chcąc to naprawić, prześledziliśmy ręcznie połączenie każdego gracza i uniemożliwiliśmy jego nieefektywne przekierowanie. To żmudne, ale pewne rozwiązanie, dlatego po naprawieniu połączenia gracze nie muszą więcej obawiać się przekierowania. W styczniu dotknięte problemem połączenia wróciły do normalnego stanu, a my wciąż współpracujemy z różnymi lokalnymi dostawcami Internetu, by przekonać się, czy możemy poprawić sytuację jeszcze bardziej.

League of Legends to gra, w której liczą się milisekundy, a im pewniejsze macie połączenie, tym lepiej będziecie się bawić. Zespół Riot Direct skupia się na szukaniu sposobów rozwiązywania problemów wszędzie tam, gdzie występuje „zły Internet”. I chociaż nie możemy rozwiązać w opisany sposób każdego problemu, z pewnością pojawia się pewnego rodzaju „efekt domina”. Każde poprawione połączenie to kolejny sojusznik, na którym możecie polegać, kopiąc piłkę, gdy ma to największe znaczenie.

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.