Что мы захватили — и что не захватили
Эти цифры окончательные. Официальные серверы отключены, поэтому новый трафик уже не собрать, и ничто на этой странице больше не сдвинется.
Чтобы потом восстановить Blades, нам нужно было еще до ее закрытия записать, как игра общалась со своими серверами. Мы специально собирали минимум — только Blades и ее серверы Арены и никогда — ничего другого с телефона. Вот как именно это было устроено, без секретов.
Участников, вызвавшихся помочь сохранить игру: 328. Все, что они провели через нас, — это все, что уцелело.
Мы намеренно маршрутизировали минимум
VPN мог бы направлять нам весь трафик телефона. Мы сознательно этого не делали. Мы разобрали собственный протокол матчмейкинга игры, чтобы разрешить ровно те серверы, которыми пользовалась Blades, а все остальное — банк, сообщения, браузер, любые другие приложения — оставить нетронутым на обычном соединении.
*.blades.bgs.services— вход, персонажи, матчмейкинг, CDN ассетов- Диапазоны AWS GameLift для 14 регионов, где могли проходить матчи Арены
- Все остальное на устройстве полностью обходило VPN
- HTTPS-трафик не от Blades, который все же попадал сюда, проходил напрямую — расшифровать его мы не могли; расшифровывался только
blades.bgs.services
Почему Арене нужно было больше одного IP
PvP на Арене работало на Amazon GameLift. Перед матчем игра пинговала 14 регионов AWS и сообщала задержки; затем GameLift помещал матч в самый быстрый регион со свободным местом и выдавал телефону новый IP сервера для каждого отдельного матча. Фиксированного IP Арены для белого списка не было.
Поэтому, чтобы надежно записывать Арену, мы маршрутизировали диапазоны GameLift этих 14 регионов — и только их. Точный список из 14 мы подтвердили тремя независимыми способами: по встроенной таблице эндпоинтов клиента, по целям его замеров задержки и по живым запросам матчмейкинга, которые мы сохранили. Так что мы уверены, что не пропустили ни одного региона и не захватили лишнего.
Полный список IP писался открытым текстом в каждый.conf, который мы выдавали, — открой любой и прочитай каждую строку.
Настоящий пинг Арены, измеренный самой игрой
О лагах на Арене спорили все. Теперь есть постоянный ответ: реальные задержки, которые Blades измеряла до каждого региона, взятые из 28,100 сохраненных запросов матчмейкинга. Измерено там, где были наши участники (в основном Европа и Северная Америка), поэтому Лучший — реалистичный минимум для того, кто сидит рядом с регионом; Обычный — медиана по всем нашим образцам.
| Регион | Лучший | Обычный |
|---|---|---|
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 |
Когда Арена была занята?
Оценено по тому, как быстро глобальный лидерборд топ-100 набирал кубки между наблюдениями, поэтому это отражает более широкую аудиторию последних месяцев игры, а не только нас. Темнее = больше матчей. Время — UTC. Мы могли снимать данные только когда у участника был открыт лидерборд, поэтому покрытие рваное и ограничено игроками топ-100. Это реальный сигнал, но не полная перепись.