Un caso real de partida online




Introducción:

Desde la aparición de la versión 5.0 ha aumentado la creencia que esa versión de Entidad 3D introdujo ciertas características que hicieron incompatible el modo online de la aplicación. Nada más lejos de la realidad.

No digo que si introduces cambios de software o hardware en un PC, no pueda dejar de funcionar el modo online de Entidad 3D, pero no sería a causa del propio Entidad 3D.
Eso sería como decir que el motor de una motocicleta está roto porque un manguito de la bomba de gasolina está defectuoso.

Si cambias de router (o de proveedor de Internet que te obliga a cambiar de router), de cortafuegos o se modifican las configuraciones de ambos elementos, el cóctel explosivo está servido para que una aplicación como Entidad 3D deje de poder crear partidas online.

Esta sección muestra un caso real de creación de una partida online a través de Internet que yo mismo realicé el día 12 de mayo de 2020 usando Entidad 3D v5.0 Build 02.


Sospechosos habituales:

Si tu sistema (o el de los participantes en la partida) no incluye algún software o hardware muy especial, los principales culpables de la falta de conexión en las partidas online (no solo de Entidad 3D y no solo en Windows) son básicamente dos:

Cortafuegos y routers

Una mala configuración de ambos elementos, sin duda dará al traste todas nuestras posibilidades de crear una partida online con Entidad 3D.

Consulta esta sección del manual donde se explica con detalle como configurar el cortafuegos y el router.


Juego online en red local (LAN):

El modo de juego exclusivamente en una red local (LAN) no tendría que darnos mayores problemas en Entidad 3D porque solo requiere de la correcta configuración de los cortafuegos de todos los jugadores participantes, permitiendo a Entidad 3D acceso a la transferencia de datos a través del adaptador de red.

En el caso del modo de juego online a través de Internet, lamentablemente debe intervenir la parte NAT (Network Address Translation) del router con reglas especiales definidas por nosotros (abriendo puertos). NAT se encarga de encaminar los datos desde Internet hasta nuestra red local y no todos los videojuegos online requieren de reglas especiales para NAT. No es el caso de Entidad 3D que requiere indicarle a NAT una serie de puertos que debe abrir para que los datos de las partidas online de Entidad 3D fluyan sin problemas.

Una partida online a través de Internet en realidad también es una partida en red local (LAN), aunque es entre las redes locales de todos los jugadores que participan en la partida, redes unidas a través de routers, hubs, switchs o cualquier otro dispositivo instalado en esa mega-red.


Datos de los ordenadores participantes:

Participantes en la partida: 2 jugadores

----- Ordenador servidor (yo) -----
CPU: Intel Xeon
Versión de Windows: Windows 10 (64 bits) [Versión 10.0.18362.592]
Dirección IP de red local: 192.168.1.34
Dirección IP de Internet del router conectado a este ordenador: 81.38.191.236
Nombre del jugador: Nemesis
Este ordenador hará de servidor de la partida y también será el jugador número 1 (Nemesis)

----- Ordenador cliente (un amigo) -----
CPU: Intel Core i5
Versión de Windows: Windows 10 (64 bits) [Versión 10.0.18362.778]
Dirección IP de red local: 192.168.1.39
Dirección IP de Internet del router conectado a este ordenador: 83.55.136.115
Nombre del jugador: Azog
Este ordenador será el jugador número 2 (Azog) que se conectará al ordenador servidor.


De todos estos datos ... ¿ Qué datos necesito saber yo como ordenador servidor que inicia la partida online ?

· Del ordenador cliente: Ninguno
· Del ordenador servidor (el mío):
- La dirección IP de red local (192.168.1.34) para configurar el router conectado a este ordenador.
- La dirección IP de Internet (81.38.191.236) del router conectado a este ordenador para enviársela por eMail a todos los jugadores que quieran entrar en la partida online.

Configuración del router abriendo los puertos desde el 2300 al 2400 (TCP y UDP). También el puerto 47624 (TCP y UDP). Consulta el manual de tu router para saber cómo hacerlo:



Usando el comando 'ipconfig' me aseguro que la IP de LAN (192.168.1.34) que introduzco en el router para abrir puertos es la IP de LAN que uso en este momento, ya que estas direcciones pueden cambiar de un día para otro.

Configuración del cortafuegos de Windows.





De todos estos datos ... ¿ Qué datos necesita saber el ordenador cliente para entrar en mi partida online ?:

· Del ordenador servidor: Mi dirección IP de Internet que habrá recibido por eMail (81.38.191.236).
· De su propio ordenador: La dirección IP de red local (192.168.1.39) para configurar su router.

Configuración del router abriendo los puertos desde el 2300 al 2400 (TCP y UDP). Consulta el manual de tu router para saber cómo hacerlo:



En el caso de los ordenadores clientes no es necesario hacer nada especial para el puerto 47624.

Mi amigo se asegura, usando el comando 'ipconfig', que la IP de LAN (192.168.1.39) que introduce en el router para abrir puertos es la IP de LAN que usa en este momento, ya que estas direcciones pueden cambiar de un día para otro.

Configuración del cortafuegos de Windows.



Configuración del acceso directo 'Online Ritual CLI 3' que se encuentra dentro de la carpeta 'Online Ritual' de Entidad 3D, tal y como se indica en esta sección del manual. Básicamente se trata de cambiar la dirección IP que existe en la línea 'Destino' de las propiedades de este acceso directo por mi dirección IP de Internet que recibió por eMail (81.38.191.236).



Comprobaciones previas que yo puedo realizar en el ordenador servidor:

Antes de la hora de inicio de la partida, ejecuto Entidad 3D en modo servidor usando el acceso directo 'Online Ritual SRV' que se encuentra dentro de la carpeta 'Online Ritual' de Entidad 3D.
Una vez iniciada la partida y sin cerrar Entidad 3D ...



... abro la utilidad Tcpview.exe para ver que el programa Entidad3D.exe y Microsoft DirectPlay están activos y con los puertos adecuados a la escucha (LISTENING). DirectPlay (dplaysvr.exe) es un complemento que se activa automáticamente al ejecutar Entidad 3D en modo servidor, es fundamental para el juego en red:



Sin cerrar Entidad 3D ahora voy a mi navegador de Internet y entro en esta página web para comprobar que tengo los puertos adecuados abiertos y que el cortafuegos no está bloqueando a Entidad 3D.

Realizo dos comprobaciones.
Una comprobación usando mi IP de Internet (81.38.191.236) y el puerto 2300 en 'Start Port' y 'End Port'. 'Normal' seleccionado. Pulso el botón 'Scan'.
Otra comprobación usando mi IP de Internet (81.38.191.236) y el puerto 47624 en 'Start Port' y 'End Port'. 'Normal' seleccionado. Pulso el botón 'Scan'.





Si como resultado aparece en color verde opened en ambas pruebas, significa que tengo bien configurados mi router y mi cortafuegos.

Si por el contrario los resultados que aparecen son filtered o closed en color rojo, significa que no tengo bien configurado mi router y/o mi cortafuegos. En algunos routers (por lo menos en el mío) filtered significa que al menos el router tiene el puerto bien configurado.

Ya puedo cerrar Entidad 3D.


Comprobaciones previas que puede realizar mi amigo en su ordenador cliente:

Antes de la hora de inicio de la partida, mi amigo entra en la misma página web para comprobar que tiene los puertos adecuados abiertos y que el cortafuegos no está bloqueando a Entidad 3D.
Introduce su dirección IP de Internet (83.55.136.115) y 2300 en 'Start Port' y 'End Port'. 'Normal' seleccionado .... pero aún NO pulsa el botón 'Scan'. Solo lo deja preparado.



Ejecuta Entidad 3D en modo cliente usando el acceso directo 'Online Ritual CLI 3' que se encuentra dentro de la carpeta 'Online Ritual' de Entidad 3D y que configuró anteriormente. Evidentemente no llegará a conectarse, ya que el servidor aún no está online.
Cuando aparezca esta pantalla y sin cerrar Entidad 3D ...



... se dirige rápidamente a la página web que ha preparado y pulsa el botón 'Scan'. Debe ser antes de 20 segundos, antes de que Entidad 3D se cierre al no poder conectarse a ninguna partida online.

Si como resultado aparece opened en color verde, significa que mi amigo tiene bien configurados su router y su cotafuegos.

Si por el contrario aparece en color rojo filtered o closed, significa que no tiene bien configurados su router y/o su cortafuegos.

Ya puede cerrar Entidad 3D.


Inicio de la partida online:

Como ves, se pueden realizar diversas pruebas preliminares sin prisas antes de la hora de inicio de la partida para tenerlo todo bien configurado antes del comienzo de la partida online.

Ahora vamos a ver cómo se produjo el inicio de la partida online real con dos jugadores, yo como jugador/servidor y mi amigo como jugador cliente.

Llegada la hora de inicio de la partida online, ejecuto Entidad 3D en modo servidor usando el acceso directo 'Online Ritual SRV' que se encuentra dentro de la carpeta 'Online Ritual' de Entidad 3D y espero a que se conecte mi amigo .... ZZZZZZzzzzzz ....



Mientras tanto y para no dormirme vuelvo a abrir la utilidad 'Tcpview.exe' para ver que el programa de Entidad 3D y Microsoft DirectPlay están activos y con los puertos adecuados a la escucha (LISTENING). Puertos locales ('Local Port') 2300 y 47624.



No lo he mencionado antes, pero en uno de los procesos pertenecientes al programa 'dplaysvr.exe' en la columna 'Local Port' donde indica 'directplaysvr' es en realidad el puerto local 47624 como pude confirmar usando el comando 'netstat -ano' en el terminal de comandos de Windows:



En este listado busco el PID 8736 que 'Tcpview.exe' me indica para el proceso 'dplaysvr.exe' con 'directplaysvr' como puerto local. Efectivamente aparece una dirección local como '0.0.0.0:47624' en estado LISTENING para ese PID.

En los datos que muestra 'Tcpview.exe' también puedo ver a Entidad3D.exe con el puerto local 2300 en estado LISTENING.
Todo parece correcto. Ya está todo preparado para recibir a los ansiados jugadores.

Mi amigo ejecuta Entidad 3D en modo cliente usando el acceso directo 'Online Ritual CLI 3' que se encuentra dentro de la carpeta 'Online Ritual' de Entidad 3D y que configuró anteriormente.

Después de unos segundos ... ¡ se produce la conexión ! ... y ya aparece mi amigo con su personaje llamado Azog:



Estos son los datos que muestra actualmente 'Tcpview.exe' en mi servidor:




Entidad3D.exe muestra dos conexiones en estado ESTABLISHED para la IP remota 115.red-83.55.136 que es precisamente la dirección IP de mi amigo.
El proceso dplaysrv.exe sigue con el puerto 'directplaysvr' (que es el puerto 47624) en estado LISTENING para atender a otros jugadores que quieran conectarse a la partida.

Fin del experimento :)

Otros jugadores pueden usar otros accesos directos como 'Online Ritual CLI 1', 'Online Ritual CLI 2' u otros accesos directos que puedan crear para conectarse hasta 8 jugadores al mismo tiempo.


La venganza de los routers:

Pues si, el principal problema para las partidas online con Entidad 3D son los routers. Los cortafuegos no tienen mayor complicación que permitir a Entidad 3D el acceso a Internet, pero los routers son cada uno de su padre y de su madre y en algunos casos que me encontrado con usuarios de Entidad 3D (incluso con usuarios de otro de mis programas como es el caso de Cryptermite), les ha resultado imposible abrir los dichosos puertos necesarios para que funcionen estas aplicaciones. Desconozco si es por falta de conocimientos, por datos incorrectos que introducen en el router o incluso algunos usuarios hablan de routers capados.

Seguramente te preguntarás por qué todo este rollo de puertos y routers con Entidad 3D si en la actualidad no hace falta nada de todo esto para configurar otros videojuegos online más complejos o incluso para los navegadores de Internet, más allá de configurar el cortafuegos. Pues la razón es que esos programas no hacen de servidores de datos, y en el caso de Entidad 3D incluso el modo cliente tiene en realidad una parte de servidor 'gracias' a Microsoft DirectPlay, complemento que hace años que está en desuso.

Para mí, francamente, es un milagro que Windows 10 aún sea compatible con DirectPlay, pero en cualquier momento podría dejar de serlo si Microsoft decide no darle más soporte.

Por mis pruebas, también puedo asegurar que Entidad 3D funciona perfectamente en partidas online en los sistemas operativos Windows XP y Windows 7.


Conclusión:

Bueno, espero que toda esta información aporte un poco más de luz a todos esos usuarios deseosos de usar Entidad 3D en modo online y que no hayan podido usarlo por diferentes problemas en sus equipos.

Gracias por llegar hasta el final de esta disertación y por ser un usuario de Entidad 3D.

Jordi Pérez
( 15 - mayo - 2020 )