Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Feider en Septiembre 10, 2017, 04:09:17 PM

Título: Multijugador online ¿Sin necesidad de un servidor intermediario?
Publicado por: Feider en Septiembre 10, 2017, 04:09:17 PM
Buenos días:
 
 
 
Estoy desarrollando un juego en equipo y nos vimos al siguiente problema:
 
Queremos hacer un multijugador con amigos conocidos. Es decir, yo creo una partida, y en lugar de un host online que las conecta, es el propio pc de uno de los jugadores. Los otros se conectarían a ese pc. Como si fuera un juego en Local, pero de manera online (Cada uno desde su casa). 
 
Estuve mirando un poco por internet y se recomendaba photon, pero al ver photon usaba un sistema de conexión tipo anfitrión en la red o eso estuve entendiendo... 
 
Mi problema es que ya he llegado a un punto que no sé exactamente cómo buscar o qué buscar para obtener lo que deseo conseguir...
 


¿Es muy descabellado o estoy entendiendo algo mal o si o si hay que tener un servidor en la nube que enlace esas partidas? ¿Cómo podría hacerlo o por dónde podría empezar?
 
En caso de un servidor si o si ¿Valdría cualquiera o se necesita si o si uno especializado?
 
 
 
Un saludo y gracias de antemano.
 
 
Título: Multijugador online ¿Sin necesidad de un servidor intermediario?
Publicado por: francoe1 en Septiembre 10, 2017, 07:51:59 PM
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.
Título: Multijugador online ¿Sin necesidad de un servidor intermediario?
Publicado por: TorresaguCARP en Septiembre 11, 2017, 12:45:36 AM
Si lo que quieres es que por ejemplo una persona cree el servidor y le pase la IP y puerto a sus amigos (sin matchmaking y cosas asi) simplemente usa el tutorial de UNet creo que era y Hamachi (si jugaste Minecraft en multijugador por el metodo de Hamachi esto es exactamente lo mismo) y en la interfaz que se genera al usar UNet pones la IP y Puerto y listo ya funciona Online desde cualquier parte
Título: Multijugador online ¿Sin necesidad de un servidor intermediario?
Publicado por: Caesar en Septiembre 11, 2017, 03:47:35 AM
"Sin la necesidad de un servidor intermediario" no es posible, los clientes no tienen la capacidad de coordinar con los otros clientes y si le das esa capacidad dejan de ser clientes y pasan a  convertirse a servidor; es decir, el sistema servidor-cliente es parte de lo que propones. Ahora pasando de esto, lo que planteas depende de algunas cosas; como ya te mencionaron, puedes resolverlo de dos puntos de vista.
 
1) Realizas tu proyecto y le das la opcion de ser cliente o de ser servidor (pero a la vez ser parte de "partida").
 
2) El proyecto lo construyes solo como cliente, y la tarea de servidor la realizas en otro programa a nivel consola para que no gastes tanto recursos.
Título: Multijugador online ¿Sin necesidad de un servidor intermediario?
Publicado por: Feider en Septiembre 11, 2017, 11:09:06 AM
Gracias por las respuestas.  ^,..,v
 
Creo que miraré lo de UNET y Hamachi y buscaré opciones de servidor maestro que habéis comentado e investigaré para tirar por ahí. ^^ Me ha parecido interesante el tema del chat, que probaré también, quizá me de algunas buenas ideas aunque no sirva directamente. ^,..,^
 
Un saludo.