Jump to content
UnitySpain

Aceptamos donaciones vía Paypal.

UnitySpain.com es un servicio gratuito, pero mantener la Comunidad conlleva una serie de gastos.

Fondo Anual Unityspain: Donados 58,34€ de 150,00€

  • Servidor: Dominio.com y Hosting Web
  • Mantenimiento de los Foros
  • Contenido y Servicios Extras
  • Mantenimiento para Redes Sociales
Sign in to follow this  
Feider

Multijugador online ¿Sin necesidad de un servidor intermediario?

Recommended Posts

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.

 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

"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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...