Seguramente muchos estéis sufriendo el ya conocido error 2002 en Final Fantasy XIV. Pues bien, hoy os vamos a hablar de por qué se produce, cuáles son sus causas y demás detalles.
Error 2002 en Final fantasy xiv
Pues bien, gracias a un usuario de Reddit, se ha demostrado tanto las causas del error 2002 como de su procedencia. ¿Procedencia?, exacto, ya que según la compañía era problema de nuestras conexiones cuando no es para nada así.
Os dejamos el documento en cuestión:
Error 2002: investigación con Wireshark
Este documento es un intento de aclarar los conceptos erróneos comunes sobre la situación actual con las colas de inicio de sesión de FFXIV, específicamente el Error 2002 que puede aparecer aleatoriamente mientras está sentado en la cola, lo que le obliga a reiniciar el cliente y posiblemente perder su lugar. Este es un análisis bastante aficionado usando Wireshark, pero soy un programador profesional de redes / juegos con algo de experiencia en TCP / winsock, así que tengo una idea bastante clara de lo que estoy hablando.
Contrariamente a las afirmaciones de Square-Enix, el Error 2002 no es un problema con su conexión a Internet . Si tiene una conexión wifi terrible y alguien en su casa está usando el microondas mientras espera en la cola, el problema obviamente será peor , pero incluso en condiciones de red PERFECTAS en su hogar, aún puede esperar encontrar REGULARMENTE el error 2002 durante las horas pico. Tengo Internet de fibra y una conexión Ethernet directa a mi computadora, y lo tengo todo el maldito tiempo a pesar de que no tengo problemas para mantener una conexión con cualquier otro juego o servicio.
En este documento, mostraré que el Error 2002 a mitad de la cola es una combinación de varias decisiones cuestionables tomadas en la implementación de red del cliente y servidor FFXIV, que se están derrumbando bajo el peso de una carga sin precedentes.
Si todo lo que quieres es tl; dr, aquí tienes: el cliente del juego cierra voluntariamente una conexión saludable cada 15 minutos, lo que te obliga a volver a conectarte (de forma invisible) al servidor como si acabaras de presionar el botón ‘Inicio’ . Cuando esto sucede, si el servidor de inicio de sesión decide arbitrariamente no dejarlo entrar, verá el Error 2002 y tendrá que cerrar el cliente. Incluso si tiene las condiciones de red perfectas en su hogar, seguirá recibiendo el Error 2002 al azar y no hay nada que pueda hacer para evitarlo.
Análisis de Wireshark
Wireshark es una herramienta de rastreo / registro de red que le permite capturar toda la información que se envía y recibe entre su máquina y un servidor remoto. En este caso, la dirección IP del servidor de inicio de sesión FFXIV es 204.2.229.9 y mi IP local está censurada.
Así es como se ve un período estándar de 30 segundos en el que estoy sentado en la cola. Puede ver que, en su mayor parte, mi computadora y el servidor de inicio de sesión se turnan para enviar paquetes muy pequeños (50-100 bytes en la columna ‘Longitud’) de un lado a otro a través de una conexión TCP perfectamente saludable. Estos paquetes se intercambian en ráfagas aproximadamente cada 5-10 segundos. (Consulte la columna ‘Hora’).
Aproximadamente cada 30 segundos, se recibe del servidor un paquete mucho más grande (resaltado en rojo). Este paquete, que siempre tiene un tamaño de 662 bytes, PUEDE contener un número actualizado para su nueva ‘posición en la cola’, o puede que no. Su posición actual nunca se actualizará fuera de estos paquetes cada 30 segundos.
Aquí está la parte interesante. Cada 15 minutos, su cliente dejará VOLUNTARIAMENTE su propia conexión al servidor de inicio de sesión e intentará reconectarse inmediatamente. Este proceso no tiene nada que ver con el estado de su conexión o cualquier tipo de pérdida o retraso de paquetes, ocurre cada 15 minutos sin importar qué. Además, esta nueva conexión se maneja exactamente igual que una nueva: en segundo plano, el cliente básicamente solo presiona ‘Iniciar’ nuevamente por usted.
Esto es lo que estás viendo:
- Nuestra máquina local envía un paquete FIN al servidor, que se reconoce a través de un paquete de respuesta. Los paquetes FIN indican que desea finalizar correctamente una conexión. Tenga en cuenta las marcas de tiempo y las direcciones IP: Mi computadora LOCAL es la que primero interrumpe la conexión.
- Luego, nuestra máquina abre inmediatamente una nueva conexión con un paquete SYN que proviene de un puerto local diferente pero que va al mismo puerto de destino.
- El servidor reconoce la nueva conexión y comienza a enviarnos una secuencia de paquetes (comparativamente) grandes (resaltados en rojo). Es probable que contengan detalles de autenticación y / o información sobre la cola.
- Luego, la conexión continúa como de costumbre durante otros 15 minutos.
Ahora, aquí hay un ejemplo de un error 2002 que ocurre 15 minutos después:
Tenemos un patrón similar:
- Nuestra máquina local envía un paquete FIN para cerrar la conexión, luego un paquete SYN para abrir una nueva, exactamente como antes. El servidor reconoce ambos paquetes.
- No tenemos ningún tipo de pérdida de paquetes o problemas de comunicación. Todo lo que enviamos es reconocido y nos estamos comunicando activamente con el servidor de inicio de sesión.
- Luego, en lugar de enviar los paquetes más grandes de ‘bienvenida a la cola’, el servidor inmediatamente nos inicia con un paquete FIN propio, que reconocemos. Esto sucede MENOS DE UN SEGUNDO después de aceptar nuestra conexión renovada.
- Una vez que el servidor ha enviado este paquete FIN, hay CERO POSIBILIDADES de una recuperación ordenada. Su cliente no hace más intentos de comunicarse y el servidor no le enviará una mierda porque la conexión está cerrada. A pesar de esto, el cliente ni siquiera mostrará el error 2002 hasta por 10 segundos, aunque no hay absolutamente ninguna forma de que se recupere.
¿Qué significa esto?
Sabemos que el cliente FFXIV termina voluntariamente su propia conexión con el servidor de inicio de sesión cada 15 minutos. Después de hacerlo, inicia una nueva conexión exactamente de la misma manera que si acabara de presionar «Inicio» en la pantalla de inicio de sesión. No existe una diferencia funcional entre el Error 2002 antes de entrar en la cola y el Error 2002 «aleatorio» (cada 15 minutos) que ocurre a mitad de la cola. Ambos son ejemplos del servidor de inicio de sesión que rechaza una nueva conexión debido a alguna lógica interna. No tiene nada que ver con las condiciones de la red en su hogar o en cualquier otro lugar: todos los paquetes que se envían se reconocen correctamente. El servidor te está echando.
¿Por qué te está echando? ¡Quién sabe! Los servidores terminan las conexiones por todo tipo de razones. Podría ser un error. Podría ser intencional para evitar que el servidor se bloquee bajo carga. Podría ser simplemente que el servidor está funcionando tan mal por todos los intentos de conexión que se está disparando un tiempo de espera interno. (Muy improbable, ya que sucede tan rápido después de aceptar la conexión inicial). El punto es que, cualquiera que sea la razón, el servidor está descartando intencionalmente su nueva conexión, lo que significa que es algo que Squeenix puede controlar. No tiene nada que ver con las condiciones de la red.
Aquí está la parte realmente frustrante: no hay absolutamente ninguna razón por la que el cliente no pueda simplemente intentarlo de nuevo cuando esto sucede. En lugar de tener incluso el tipo más BÁSICO de recuperación automática para la conexión de su servidor de inicio de sesión, el servidor le da al cliente EXACTAMENTE una oportunidad cada 15 minutos para volver a unirse a la cola, y si el servidor decide arbitrariamente que es su turno de ser expulsado, el cliente simplemente se da por vencido y te obliga a iniciar sesión de nuevo.
En mi opinión, esta es una forma frustrante e inútil de diseñar una cola de inicio de sesión. Es una absoluta tontería que no se haga ningún intento de reconectarse con gracia cuando el servidor envía un rechazo, y Squeenix simplemente está descargando todo el trabajo a sus jugadores en lugar de arreglar este código de red increíblemente voluble y descuidado. La solución más sencilla sería que el cliente no finalice una conexión perfectamente sana cada 15 minutos. ¡No hay razón para hacerlo en primer lugar!
La peor parte es que el juego quiere que PIENSES que está intentando reconectarte con gracia. ¿Sabes cuándo estás iniciando sesión y obtienes esta ventana?
A veces, accedes a la pantalla del personaje de inmediato y, a veces, tardas ~ 20 segundos antes de que te inicien con el Error 2002.
El juego sabe casi de inmediato si un intento de inicio de sesión dado tendrá éxito o no porque el servidor responde de inmediato, cada vez. Cuando el servidor te rechaza activamente, el juego simplemente se queda ahí sin hacer nada, sin intentar volver a conectar, antes de mostrar el Error 2002 10-15 segundos después. Como tienes escasos segundos para volver a la cola antes de perder tu lugar, el hecho de que el cliente pierda tu tiempo activamente de esta manera es totalmente inaceptable.
En otras palabras, si hace clic en Inicio y no llega a la lista de personajes en unos segundos, puede cerrar el cliente e intentarlo de nuevo. Es solo fingir que sigo intentándolo.
Square-Enix ha tenido años para implementar un sistema de cola moderno, pero han optado por no invertir el tiempo de ingeniería para solucionar la situación. Ahora, en lugar de reconocer el hecho de que su infraestructura es un desastre desconcertante, están tratando de decirle a la gente que es un problema con su conexión a Internet. Absoluto sin sentido. Me encanta el juego y el equipo de desarrollo, pero mentir a sus clientes de esta manera es simplemente inaceptable.
Ni siquiera necesitan desarrollar más capacidad o hacer algo costoso para dar como resultado una experiencia de usuario dramáticamente mejor. Solo parchea el maldito cliente para que no se esté saboteando activamente.
Conclusiones y créditos
Aquí os dejo el post de reddit original para que podáis verlo y al autor del mismo, dejando clara su autoría y las fuentes del mismo. Recuerda que si estás jugando a Final Fantasy XIV te puede interesar este post también.
Recuerda que puedes dejarnos tus impresiones sobre la misma en la cajita de comentarios justo debajo del artículo. Nos encanta ver vuestros puntos de vista y analizar los datos que publicamos con todos vosotros. ¡Así que no seáis tímidos y participad donde os hemos señalado!
Sin más, te agradecemos que nos hayas visitado, no sin antes desearte un feliz día y pedirte que nos sigas tanto en nuestras redes sociales como Twitter o Facebook.
Recuerda seguir visitándonos en Planetared para estar informado sobre diversos temas. Desde componentes, curiosidades Geek, smartphones y todo lo relacionado al mundo de los bytes. Puedes utilizar la caja de comentarios para dejarnos sugerencias, comentarios o lo que estimes necesario.
Gracias