[Q&A] Riot "AMA", datos sobre la conexión en la región.

¿Que tal? Hoy les comparto una publicación de mi compañero ZDart. Esperamos que les sea de ayuda para aclarar algunas dudas.


>¡Hola a todos!

Hace varias semanas, algunos ingenieros del Data Center de Riot hicieron una dinámica de “AMA” (Ask me anything) en Reddit, en donde respondieron todas las preguntas de los jugadores.

Creemos que un montón de lo que respondieron tiene mucho valor, tanto para conocerlos como para obtener respuestas de muchas cosas que no nos permiten dormir.

Como esta plataforma está en inglés y a muchos se les dificulta acceder a la información, MarcelineTheVamp, JeanGrey73 y yo ZDart hemos seleccionado, traducido y resumido algunas secciones que nos ayudaría saber muchas situaciones técnicas y de conexión que nos afectan como región.

 

Publicación original:

https://www.reddit.com/r/leagueoflegends/comments/b0d33n/ama_were_part_of_the_riot_data_center_and_riot/?st=jt7cgox6&sh=d7bc1414

 



Clash y modos de juego.

- Cuando se trata de sistemas como Clash e incluso URF en los que de repente se presenta una carga exponencialmente mayor en los servidores que se encargan de manejar el lobby/juego, ¿los equipos se enfocan más en aumentar la arquitectura física (más servidores) o en optimizar el software?

RiotAkov~ Cada uno de los sistemas y modos de juego nuevos, como Clash y URF,tiene sus propios retos y en realidad las soluciones son una mezcla de las 2 cosas que mencionas. No existe una solución mágica como “comprar más hámsters para las ruedas” o “arreglar el juego”, los ingenieros del sistema debemos implementar múltiples soluciones conjuntas que requieren mejorar el código y optimizar el uso de los servidores. Mejorar la parte física muchas veces es necesario para poder tener grandes cargas de jugadores al mismo tiempo que nos concentrarnos en “mejorar el servidor” solamente o en “arreglar el cliente”. Solo genera problemas ya que al final es un trabajo conjunto de ambas cosas.


- Entonces la pregunta es: si la capacidad del servidor no es el problema, ¿por qué ciertas regiones/ servidores tienen problemas que servidores más grandes no tienen?

RiotAkov~ Obviamente, instalar una tonelada más de servidores podría resolver los problemas en otras regiones, a veces es mejor que el sistema procese una base de datos en vez de 1000 réplicas de cada servidor. Una cosa que puedes no estar considerando, es como los jugadores interactúan con el juego en cada región. Por ejemplo, en Corea, la mayoría de los jugadores suelen acceder al juego desde cibercafés cuyas redes y configuraciones son más estandarizadas; solo llegan y se sientan a jugar. Compara eso con NA, LAN y LAS, donde la gran parte de los jugadores juega desde su casa y sus configuraciones son principalmente las que vienen de fábrica, además de que las horas donde más jugadores hay son diferentes, ya que suelen jugar, comer, ver videos, hacer tarea, trabajar, ver alguna película y todo en el mismo equipo. Estos dos tipos diferentes de estilos de uso implican que las cargas del servidor serán diferentes y por lo tanto también serán diferentes los tiempos de carga, las cargas de procesadores y de datos dentro del juego. Incluso tomamos en cuenta cuando ocurren cambios en el afluente de jugadores durante los torneos regionales y mundiales en los que los jugadores juegan entre las transmisiones de los mundiales. Cada región tiene sus características diferentes y problemas diferentes entre sí que se deben tratar por separado, más allá de aplicar una configuración estándar para todos.

Digo, en teoría, la mayoría de los problemas se resolverían agregando cientos de servidores más,  pero esa no es la forma correcta de resolver estos problemas debido a los problemas adicionales que esto generaría. Por ejemplo que los tiempos de mantenimiento tardaran más, el tener tanta redundancia de datos puede generar problemas para hacer las búsquedas, las partidas tardarían mucho más en iniciar, las cargas de trabajo se multiplicarían.demás sería una carga mantener todos los servidores actualizados, sin mencionar el costo de su instalación y mantenimiento. Todos estos problemas se pueden resolver, pero siempre consideramos el costo beneficio y el impacto de hacer estos cambios. Muchas son las variables a considerar para resolver estas situaciones, pero aumentar la cantidad de los servidores no es la solución más óptima hasta ahora.


- Hablando en serio, anteriormente, ya hemos tenido problemas con Clash que afectaron a muchísimos jugadores, este problema causado por la cantidad de jugadores activos exactamente al mismo tiempo y sobrecargando todo. ¿Me imagino que eso no fue un problema fácil de arreglar cierto?

RiotAkov~ En realidad tienes razón, no fue algo fácil, como te imaginarás tuvimos muchos problemas tratando de idear la forma de manejar estos problemas lo más eficientemente posible para colocar a los jugadores en partidas, y esas partidas correrlas en un servidor que normalmente procesa “X” cantidad de jugadores por segundo. Con el paso de los años hemos mejorado el procesamiento de datos para que sea más rápido y eficiente, basado en cierta cantidad de procesos por segundo. Ahora, imagina esta misma fórmula de procesos multiplicada x100 procesos por segundo, pero que estos procesos solo duren algunos minutos, es decir, que no es un proceso constante sino que lo podemos llamar un burst de procesos. Después de pensar mucho las super eficientes y, francamente, brillantes maneras de hacer esto fueron las colocaciones por tiempo pero, a pesar de ello, aún hay algunos retos que debemos manejar. Así que no fue una solución tan fabulosa en algunos casos.

 



Conexiones.

-  1.-¿Están conscientes de un software llamado Haste? Básicamente este programa mejora tu ping por mucho sin importar en qué parte del mundo estés conectado en el juego. ¿Ustedes tienen algo similar o pueden hacer algo así? ¿Pueden mejorar el ping en el futuro cercano?

-  2.- ¿Por qué el servidor de LAN está en Miami, Florida?

RiotAkov~ Estamos al tanto de Haste y, de hecho, hemos estado en contacto con ellos en el pasado debido a múltiples problemas de conexión y ruteo. No tenemos planes de  probar y copiar lo que hacen ellos, al final ese es su negocio, pero nosotros hacemos lo que podemos con la planeación del ruteo nativo físico tan optimizados como podamos para nuestro juego, solamente y dependiendo de las localización de los jugadores a través de los métodos tradicionales, mientras que aplicaciones como Haste y cualquier otra VPN mejoran en muchos casos las conexiones, pero también corren el riesgo de bloquear las conexiones de estos servicios por razones variadas.

Ahora, acerca de los servidores de LAN, estos dan servicio a países del Caribe y de América Central. Miami fue la primera locación que tenía proximidad a todos esos cables submarinos que proveen conexión desde Estados Unidos a todos esos países. Hemos explorado otras alternativas para esta región, pero generalmente mover un servidor físicamente solo podría causar una mayor cantidad de problemas y el mejor de los escenarios es que las conexiones mejoren para algunos y empeoren para otros.

A pesar de ello, nuestro esfuerzo para mejorar la conexión nos ha hecho trabajar con los más grandes proveedores de internet de países como México, para acordar conexiones más directas a nuestro servidor y mejorar la conexión con nuestros jugadores de Latinoamérica Norte.

(https://lan.leagueoflegends.com/es/news/riot-games/announcements/riot-direct-mejor-conexion-mejor-experiencia)

 

-  Mi conexión es realmente mala así que seguido debo cambiar mi conexión activa para usar los datos de mi celular mientras juego. Cuando hago esto me desconecto de servicios, como Discord, durante solo uno o dos segundos máximo, pero debo esperar hasta 30 segundos para poder conectar a LoL de nuevo, mi duda es ¿por qué pasa esto?

RiotKorensky~ Ok. Cuando cambias de conexión activa, en realidad estás llegando al servidor del juego con una dirección IP diferente similar a conectarte desde otra computadora y tener que iniciar sesión en todo de nuevo. Como el juego utiliza el protocolo de conexión UDP para comunicaciones entre el servidor y los clientes, el servidor en realidad envía los datos del juego a tu antigua IP hasta que determine que te desconectaste (porque ya no responde) y, por lo tanto, tu sesión desde esa IP antigua se cerrará y te hará iniciar sesión usando la nueva IP desde una nueva capa. Intentando explicarlo lo más simple posible, es como si el servidor tuviera un guardia de seguridad, cuando entras al edificio te dan una credencial para que puedas entrar y salir, pero de pronto sales y llegas con una credencial diferente, el guardia debe preguntar qué le pasó a tu credencial anterior y esperar a que le cuentes que ya no la tienes y que tienes otra, así que el guardia debe registrar tu nueva credencial y dar de baja la vieja. Esto no es algo tan rápido por que el guardia debe revisar que no sea alguien más haciéndose pasar por ti, y aunque podemos mejorar la velocidad de esto, cambiar tu red a mitad de partida no es algo que debería ocurrir con frecuencia.

 

-   ¿Qué tan seguido algún programa o software de terceros termina echando a perder su trabajo? Me refiero a qué tan seguido, por ejemplo, algún parche de Windows o Mac llega a dañar los drivers o cómo trabaja el cliente o por ejemplo que algún proveedor cambie las rutas de conexión o bloquee ciertos puertos de sus routers. ¿Qué tanto impacto tiene esto para ustedes?

-¿Hay días en los que todo esté funcionando perfectamente, ustedes y los jugadores tranquilos hasta que algún desarrollador de aplicaciones de terceros decide apretar un botón y deja sin servir el juego para la mitad del servidor? ¿Ustedes se dan cuenta de esto desde algún monitor? También, ¿se dan cuenta que a algunos jugadores se les dificulta más jugar en cierta región?

Laslow21~ Vaya. Bueno, desde la perspectiva de un ingeniero de redes/ingeniero de sistemas, nosotros no trabajamos con las actualizaciones de sistemas operativos que afectan el juego. Hay otros equipos encargados de ese tipo de cosas, pero sobre los proveedores de internet causando problemas de conexion claro que lo vemos y lo sentimos :’)

League of Legends, a diferencia de servicios de internet como Netflix, Youtube o Reddit, es un servicio super sensible a cambios de red debido a su naturaleza de conexiones en tiempo real  (constantemente cambia, sin poder hacer buffer y sin poder precargar nada ya que todo ocurre al momento). Es por eso que cuando hay un cambio mayor en la infraestructura de algún proveedor de internet, algún cambio de enrutamiento o algún corte de fibras de conexión, obviamente causará problemas para el juego y es ahí donde entramos nosotros para hacer negociaciones e intentar ayudar a resolver lo más pronto el problema, al menos hasta donde nos sea posible.

Muchas veces no hay mucho que podamos hacer, pero algunas otras podemos ayudar a enrutar el tráfico para poder saltarnos el punto dañado de la conexión de cierto proveedor usando un protocolo de ruteo que nosotros llamamos BGP para saltarnos ciertos ASN (la ruta propia del proveedor) y establecer una “ruta de emergencia”. Nosotros tenemos algunas troncales de conexión específicamente para ser redundantes en las conexiones y tener protección cuando cosas como estas ocurren, pero a pesar de ello hay ciertas zonas en las que no tenemos esa opción. Definitivamente, hacemos lo posible para mantener todo corriendo correctamente y minimizar cualquier fallo de situaciones ajenas a nosotros. Imagina que te llaman a las 3AM porque una región tuvo el doble de ping de un momento a otro debido a que un proveedor decidió que era más eficiente mandar las conexiones por otra ruta. Como jugadores que somos también sabemos el dolor que puede causar tener problemas de conexión y por eso, aún medio dormidos, salimos de la cama para ver qué podemos hacer para ayudar a reestablecer las conexiones.

 

-Siempre me he preguntado por qué los servidores de ciertas regiones están ubicados físicamente en otros lugares (por ejemplo, el servidor de RU está en Alemania).

¿Cómo es que ustedes planean (o planearon) la ubicación de los servidores y dónde colocan un nuevo servidor cuando se libere? También,  ¿en algún momento decidieron dividir los servidores de NA en 2 (como ocurrió con LAN y LAS) para tener una mejor experiencia de conexión para los jugadores?

Edit: Una pregunta más me llegó. Digamos que, en el peor escenario, durante una tormenta o huracán, los servidores se dañan y no funcionan más. ¿Existe algún plan de respaldo para no tener a una región completa esperando durante días para que el servicio se restablezca?


RiotAkov~ En realidad muchas cosas se toman en cuenta en la selección de los Data Centers. Hay factores que van en contra de la lógica cuando se trata de redes y de conectividad.  Por ejemplo, en muchos países hay proveedores de internet que dominan la región, el problema es que muchos no cooperan para ayudarnos a conectar a los jugadores con el juego, ni siquiera para permitir conexiones con otros proveedores.

Eso quiere decir que, si ponemos un servidor en un país con estas características, solo la mitad de los jugadores podrá tener un ping estable y confiable y eso no nos parece justo. Por eso, tiene más sentido poner el servidor lo más cercano posible a los países a conectar, pero en un punto flexible que nos permita interconectar la mayor cantidad de proveedores posible y, por lo tanto, a la mayor cantidad de jugadores.

Obviamente, existen muchas más razones que entran en la ecuación para poder establecer la decisión de colocar un servidor en cierta ubicación, pero al final la cercanía y la interconexión son los factores importantes.

Ahora, sobre tu otra pregunta. Los peores escenarios siempre están en nuestra mente en cuanto a desastres naturales y emergencias y, dependiendo de lo que ocurra, tenemos un plan para recuperarnos lo más pronto posible. Existen múltiples fallas que pueden causar múltiples problemas, pero intentamos tener un plan para cada uno de ellas. Incluso para cosas como los huracanes que se acerquen a nuestros Data Centers nos obligan a trabajar y revisar más de dos veces nuestros planes de contingencia para asegurarnos de poder recuperarnos en caso de que los servidores terminen bajo el agua, por ejemplo.

 

- ¿Cómo es que mejoran el ping de las personas y hasta qué punto pueden mejorarlo, incluso si alguien más tiene mala conexión? ¿Resuelven estos problemas mejorando el código o mejorando los servidores las conexiones y otras cosas?

RiotAkov~ Nosotros tenemos un equipo dedicado a expandir la eficiencia de nuestras redes para hacer que los jugadores salgan del túnel de tráfico del internet común para que entren a una red optimizada y lo más rápida posible. Esto beneficia a los jugadores que logramos redirigir, ya que así evitamos las sobrecargas de la red normal (gente que entra a descargar cosas, ver videos, etc.)  y así se beneficia la calidad de la conexión (reduce la pérdida de paquetes y el jitter), dado que estos jugadores entran en la red que optimizamos para ofrecer una ruta más corta para conectar a nosotros. La latencia en general se reduce por ejemplo, en lugar de permitir que los proveedores de internet envíen tu conexión alrededor de tu país para llegar a nuestro servidor, establecemos una ruta física para llegar atravesando tu país y así el camino es más corto. Hemos hecho tratos de trabajo con muchos proveedores de internet alrededor del mundo para poder ofrecer la mejor experiencia posible a nuestros jugadores, en cuanto a rutas físicas de conexión.

Del lado del software, pasamos mucho, mucho tiempo creando la red de forma lógica y procurando sea bastante resiliente y se adapte a la posible pérdida de paquetes cuando algún jugador, desde su equipo, tenga una conexión de baja calidad. Intentamos mantener un balance entre la adaptabilidad y el ancho de banda para poder ofrecer una conexión de calidad general, pero al final, de este lado, el proceso es continuo.

 

- ¿Qué demonios pasa cuando cambias de regiones en el cliente? ¨¿Por qué cada vez que lo hago, algún tipo de “parche” que se queda en el 0% por más de 15 minutos? Solo reiniciando el cliente después de cambiar de región es cuando puedes jugar.

Player support~ De hecho, eso es algo que nosotros podemos contestar.

Eso es debido a que, al cambiar de regiones, el sistema debe descargar los recursos de audio y de texto del juego, o si ya los tiene descargados, debe comprobar el estado de los mismos, comprobar que no existan archivos dañados o alguna modificación al sistema en general. Es por eso que se muestra la ventana de descarga del juego. Dado que el cliente no está 100% diseñado para cambiar de regiones (ya que los jugadores deberían de jugar en una sola región por cuestiones de ping) a veces esta comprobación de archivos puede generar que la comprobación de archivos se sobre extienda o se atore. Reiniciar el cliente activa la comprobación rápida y por eso permite entrar de nuevo.

 

- ¿Por qué la gente de LAS parece tener siempre problemas de ping en el servidor? Yo no he tenido ningún problema desde la temporada 3.

RiotKorensky~ Existe un terreno bastante retador pues en los países de la región de LAS, por desgracia, existen muy pocas troncales y muy limitadas Además, donde los pasos para la fibra entre estos países no suelen tener la calidad suficiente, ya que la mayoría de las conexiones de los países de esta región pasan por aquí y no existe una optimización adecuada. Tenemos múltiples accesos a través de Chile y sobre los Andes hacia Argentina, pero algunas veces, esos accesos, tienen problemas con la superposición de tiempos, lo que causa latencias altas, no solo a nuestro servidor sino en general a las conexiones a internet.

Las razones específicas de los problemas de ping en esta región también pueden variar con base en la situación (proveedores, cortes de fibra, cambio de enrutamiento, etc.).


- ¿Qué puedo hacer para reducir el jitter/fluctuaciones de ms cada vez que juego LoL? Mi proveedor no es el mejor, pero incluso teniendo banda ancha frecuentemente tengo picos de lag.

RiotAkov~ Vaya, eso depende mucho de lo que está causando las fluctuaciones, sobretodo, si estás usando WiFi, cambia a una conexión por cable. Si compartes la conexión (con tu familia o amigos) lo ideal es activar el modo de QoS (Quality of Service) si tu módem/router lo soporta, ya que asegura un mínimo de ancho de banda para tu dispositivo. Si el problema se debe a una situación externa, no hay demasiadas cosas que puedas hacer además de quejarte con tu proveedor de internet o cambiarlo.

Ten en cuenta que no conocemos tu situación específica, así que en realidad te di un lista de los causantes más comunes.


-  ¿Quién tiene más bugs Mordekaiser o el Cliente?

RiotAkov~ Morde, sin esfuerzo.

huehuehue


¡Un saludo a todos!

Compartir
Mejores Recientes
Mostrar en discusión

Estamos probando una nueva característica que da la opción de ver los comentarios de una discusión cronológicamente. Algunos testers nos han sugerido que una configuración lineal sería muy útil, así que queremos comprobarlo.

Denunciar como:
Ofensivo Spam Acoso Foro incorrecto
cancelar