Qué capturamos y qué no
Estas cifras son definitivas. Los servidores oficiales ya no existen, así que no se puede capturar tráfico nuevo y nada de esta página volverá a moverse.
Para reconstruir Blades antes de su cierre tuvimos que registrar cómo hablaba el juego con sus servidores. Nos esforzamos en capturar lo mínimo: solo Blades y sus servidores de Arena, nunca el resto del teléfono de nadie. Aquí está exactamente cómo lo hicimos, a la vista de todos.
302 personas se sumaron para ayudar a preservar el juego. Lo que enrutaron a través de nosotros es todo lo que sobrevive.
Enrutamos lo mínimo, a propósito
Una VPN podría haber enviado todo el tráfico de un teléfono hacia nosotros. Decidimos no hacerlo. Hicimos ingeniería inversa del protocolo de emparejamiento del juego para permitir exactamente los servidores que usaba Blades y dejar todo lo demás —banca, mensajes, navegación, cualquier otra app— en la conexión normal, intacto.
*.blades.bgs.services— inicio de sesión, personajes, emparejamiento, CDN de recursos- Los rangos AWS GameLift de las 14 regiones donde podían correr partidas de Arena
- Todo lo demás del dispositivo evitaba la VPN por completo
- El HTTPS que no era de Blades y que sí pasaba por aquí se reenviaba sin tocar: no podíamos descifrarlo, solo
blades.bgs.services
Por qué Arena necesitaba más de una IP
El PvP de Arena corría en Amazon GameLift. Antes de un combate, el juego hacía ping a 14 regiones de AWS y enviaba las latencias; GameLift colocaba entonces la partida en la región más rápida con sitio libre y entregaba al teléfono una IP de servidor distinta para cada combate. No había una IP fija de Arena que pudiéramos poner en una lista blanca.
Así que para capturar Arena de forma fiable dirigimos por la VPN los rangos GameLift de esas 14 regiones, y solo esos. Confirmamos la lista exacta de 14 de tres formas independientes (la tabla de direcciones integrada en el cliente, sus objetivos de prueba de latencia y las solicitudes reales de emparejamiento capturadas), así que podemos confiar en que no faltaba ninguna región ni nos metíamos donde no hacía falta.
La lista completa de IP se escribía en texto claro dentro de cada.conf que entregamos: abre uno y lee cada línea.
Ping real de Arena, medido por el propio juego
La gente discutía sobre el lag de Arena. Esta es la respuesta, ya permanente: las latencias reales que Blades midió hacia cada región, sacadas de 28,100 solicitudes de emparejamiento capturadas. Medido desde donde estaban nuestros colaboradores (principalmente Europa y Norteamérica), así que Mejor es el mínimo realista para alguien cerca de esa región; Típico es la mediana de todas nuestras muestras.
| Región | Mejor | Típico |
|---|---|---|
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 |
¿Cuándo estaba activa la Arena?
Inferido por la velocidad con que la clasificación global top 100 ganaba copas entre observaciones; por eso refleja a la población de jugadores de los últimos meses del juego, no solo a nosotros. Más oscuro = más partidas. Las horas están en UTC. Solo pudimos muestrear cuando un colaborador tenía abierta la clasificación, así que la cobertura es irregular y limitada a jugadores del top 100: una señal real, no un censo completo.