El gran problema de usar directamente un cliente como servidor para juegos Online fue todas las variantes que existen, router, SO, FireWalls, IPS que bloquean puertos, IP no publicas y otros factores que hicieron que nacieran los Relay Server.
Un Relay Server es un servidor corriendo en una IP pública que se encarga de manejar los datos que se envían y reciben. Algo parecido a Hamachi.
Si tienes una IP publica y quieres montar un servidor de tu juego sin MASTER SERVER entonces los clientes deberán de especificar la IP y Puerto del server, de lo contrario sería imposible.
Para entender un poco el tema podrias programar un Chat por consola con TcpListener y TcpClient e intentar establecer conexiones. para aplicaciones es algo no tan complejo pero en la rama de los Videojuegos su complejidad es bastante elevada, metodos de compresion/descompresion, encriptación, protección de inyección, osfucación de la capa de transporte.
Pero para contestar la pregunta en concreto seria.
Si necesitas que cualquier jugador independientemente de si tiene o no ip publica pueda crear un server y registrarlo para que este se visible por cualquier cliente entonces requieres de un Master Server - por ejemplo UNET, PHOTON ...
Si quieres realizar un proyecto de prueba y poder jugar con tus amigos, deberás tener IP publica (Solo el servidor), abrir los puertos del server en tu router, eh iniciar el servidor.
Un Relay Server es un servidor corriendo en una IP pública que se encarga de manejar los datos que se envían y reciben. Algo parecido a Hamachi.
Si tienes una IP publica y quieres montar un servidor de tu juego sin MASTER SERVER entonces los clientes deberán de especificar la IP y Puerto del server, de lo contrario sería imposible.
Para entender un poco el tema podrias programar un Chat por consola con TcpListener y TcpClient e intentar establecer conexiones. para aplicaciones es algo no tan complejo pero en la rama de los Videojuegos su complejidad es bastante elevada, metodos de compresion/descompresion, encriptación, protección de inyección, osfucación de la capa de transporte.
Pero para contestar la pregunta en concreto seria.
Si necesitas que cualquier jugador independientemente de si tiene o no ip publica pueda crear un server y registrarlo para que este se visible por cualquier cliente entonces requieres de un Master Server - por ejemplo UNET, PHOTON ...
Si quieres realizar un proyecto de prueba y poder jugar con tus amigos, deberás tener IP publica (Solo el servidor), abrir los puertos del server en tu router, eh iniciar el servidor.
....
?? Sinceramente, prefiero que me de su opinion cualquier tia ... pero tu te imaginas una colla de tios sacandose la polla y ponerse a medirla