Co przechwyciliśmy — i czego nie
Te liczby są ostateczne. Oficjalnych serwerów już nie ma, więc nie da się przechwycić nowego ruchu i nic na tej stronie już się nie zmieni.
Żeby odbudować Blades, zanim zostało wyłączone, musieliśmy zapisać, jak gra komunikowała się ze swoimi serwerami. Bardzo się staraliśmy przechwytywać minimum — tylko Blades i serwery areny, nigdy nic innego z czyjegokolwiek telefonu. Oto dokładnie jak, otwarcie.
Współtwórcy, którzy zgłosili się do pomocy w zachowaniu gry: 310. To, co przez nas przekierowali, to wszystko, co przetrwało.
Celowo przekierowywaliśmy minimum
VPN mógłby przesyłać nam cały ruch telefonu. Celowo tego nie zrobiliśmy. Rozpracowaliśmy własny protokół dobierania przeciwników w grze, żeby dopuścić dokładnie te serwery, z których korzystało Blades — a wszystko inne (bankowość, komunikatory, przeglądanie, każdą inną aplikację) zostawić na zwykłym połączeniu, nietknięte.
*.blades.bgs.services— logowanie, postacie, dobieranie przeciwników, CDN z zasobami- Zakresy AWS GameLift dla 14 regionów, w których mogły się odbywać mecze areny
- Cała reszta ruchu urządzenia całkowicie omijała VPN
- Ruch HTTPS spoza Blades, który jednak tu trafił, był przepuszczany bez zmian — nie mogliśmy go odszyfrować; odszyfrowywaliśmy tylko
blades.bgs.services
Dlaczego arena potrzebowała więcej niż jednego IP
PvP na arenie działało na Amazon GameLift. Przed meczem gra wysyłała ping do 14 regionów AWS i zgłaszała opóźnienia; GameLift umieszczał mecz w najszybszym regionie z wolnym miejscem i przekazywał telefonowi inny adres IP serwera dla każdego meczu. Nie było stałego IP areny, które można by dopuścić.
Dlatego, żeby niezawodnie przechwytywać arenę, przekierowywaliśmy zakresy GameLift tych 14 regionów — i tylko ich. Dokładną listę 14 regionów potwierdziliśmy na trzy niezależne sposoby (wbudowana w klienta tabela punktów końcowych, cele pomiaru opóźnień i przechwycone żądania dobierania przeciwników na żywo), więc mamy pewność, że nie pominęliśmy żadnego regionu ani nie sięgnęliśmy po taki, którego nie potrzebowaliśmy.
Pełna lista adresów IP była zapisana zwykłym tekstem w każdym pliku.conf, który rozdaliśmy — otwórz dowolny i przeczytaj każdy wiersz.
Prawdziwy ping areny, zmierzony przez samą grę
Kiedyś wszyscy kłócili się o lagi na arenie. Oto odpowiedź, już na stałe: rzeczywiste opóźnienia, jakie Blades mierzyło do każdego regionu, wyciągnięte z 28,100 przechwyconych żądań dobierania przeciwników. Mierzone z miejsc, w których byli nasi współtwórcy (głównie Europa i Ameryka Północna), więc Najlepszy to realne minimum dla kogoś w pobliżu danego regionu; Typowy to mediana ze wszystkich naszych próbek.
| Region | Najlepszy | Typowy |
|---|---|---|
Europe (London) eu-west-2 | 10 ms | 71 ms |
Europe (Frankfurt) eu-central-1 | 12 ms | 67 ms |
US East (Ohio) us-east-2 | 14 ms | 161 ms |
South America (São Paulo) sa-east-1 | 16 ms | 264 ms |
Europe (Ireland) eu-west-1 | 18 ms | 79 ms |
Asia Pacific (Seoul) ap-northeast-2 | 20 ms | 286 ms |
US West (N. California) us-west-1 | 20 ms | 204 ms |
US West (Oregon) us-west-2 | 20 ms | 191 ms |
US East (N. Virginia) us-east-1 | 21 ms | 139 ms |
Canada (Central) ca-central-1 | 21 ms | 143 ms |
Asia Pacific (Mumbai) ap-south-1 | 22 ms | 188 ms |
Asia Pacific (Tokyo) ap-northeast-1 | 22 ms | 283 ms |
Asia Pacific (Sydney) ap-southeast-2 | 23 ms | 312 ms |
Asia Pacific (Singapore) ap-southeast-1 | 23 ms | 223 ms |
Kiedy na arenie był ruch?
Wyliczone z tego, jak szybko globalny ranking top 100 zdobywał puchary między kolejnymi odczytami — odzwierciedla więc szerszą populację graczy w ostatnich miesiącach gry, a nie tylko nas. Ciemniej = więcej meczów. Godziny podano w strefie UTC. Mogliśmy zbierać próbki tylko wtedy, gdy któryś ze współtwórców miał otwarty ranking, więc pokrycie jest wyrywkowe i ograniczone do graczy z top 100 — to prawdziwy sygnał, a nie pełny spis.