Abril 30, 2013, 12:30:42 AM Ultima modificación: Mayo 19, 2013, 12:31:19 AM por Mr.Dudas
Tengo una pregunta, se puede utilizar el servicio No-Ip para hacer juegos online fuera de la área local?
Padre Nuestro del Programador de C           
C Nuestro que estas en la Memoria,
Compilado sea tu código,
venga a nosotros tu software,
carguense tus punteros.
así en la RAM como en el Disco Duro,
Danos hoy nuestro Array de cada día,
Perdona nuestros Warnings,
así como nosotros también los eliminamos,
no nos dejes caer en Bucles,
y libranos del Windows, Enter.

Si, es justo lo que yo usaba.
Yo entiendo que para hacer juegos en red uno debe saber esto, a lo mejor me equivoco pero me funcionó tan bien en juegos de GM como en servidores de Minecraft

En realidad no hace falta, si uno le da al cliente la IP de tu PC ya bastaría, el problema es que esa IP cambia cada unos dias, por eso uno usa NoIP. Lo que hace NoIP es crear una página web que lleva a tu IP, para que NoIP conozca tu IP tenés que instalar un programa, que lo que hace es decirle tu nueva IP a NoIP cada vez que esta cambie. Simple.

El problema es que esta IP que uno debe usar es la misma para todos los equipos de tu red (en mi caso todos los equipos de mi casa), entonces cuando alguien se quiere conectar a tu servidor tu modem no va a saber a donde llevar esos mensajes que entran desde el cliente, pero eso ya es otra cosa, eso se llama Port Forwarding, consiste en configurar tu módem. Por qué uno no debe hacer Port Forwarding cuando uno juega en red? Porque la IP para juegos en red que usas es la IP local de tu PC, (si no me equivoco es la que estas obteniendo escribiendo ipconfig)
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Cita de: Mgbu en Abril 30, 2013, 12:59:22 AM
Si, es justo lo que yo usaba.
Yo entiendo que para hacer juegos en red uno debe saber esto, a lo mejor me equivoco pero me funcionó tan bien en juegos de GM como en servidores de Minecraft

En realidad no hace falta, si uno le da al cliente la IP de tu PC ya bastaría, el problema es que esa IP cambia cada unos dias, por eso uno usa NoIP. Lo que hace NoIP es crear una página web que lleva a tu IP, para que NoIP conozca tu IP tenés que instalar un programa, que lo que hace es decirle tu nueva IP a NoIP cada vez que esta cambie. Simple.

El problema es que esta IP que uno debe usar es la misma para todos los equipos de tu red (en mi caso todos los equipos de mi casa), entonces cuando alguien se quiere conectar a tu servidor tu modem no va a saber a donde llevar esos mensajes que entran desde el cliente, pero eso ya es otra cosa, eso se llama Port Forwarding, consiste en configurar tu módem. Por qué uno no debe hacer Port Forwarding cuando uno juega en red? Porque la IP para juegos en red que usas es la IP local de tu PC, (si no me equivoco es la que estas obteniendo escribiendo ipconfig)
Bueno dices que seria posible pero daría algunos errores como eso del port forwarding no?
Padre Nuestro del Programador de C           
C Nuestro que estas en la Memoria,
Compilado sea tu código,
venga a nosotros tu software,
carguense tus punteros.
así en la RAM como en el Disco Duro,
Danos hoy nuestro Array de cada día,
Perdona nuestros Warnings,
así como nosotros también los eliminamos,
no nos dejes caer en Bucles,
y libranos del Windows, Enter.

No son errores, es problema de conexion.
El servidor sólo funcionará en tu computadora o habrá servidores creados por otras personas?
No-IP funciona perfecto, eso lo que hace es hacer estática tu IP, primero probá así y si no funciona es porque necesitas hacer Port Forwarding
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Cita de: Mgbu en Mayo 01, 2013, 12:34:46 AM
No son errores, es problema de conexion.
El servidor sólo funcionará en tu computadora o habrá servidores creados por otras personas?
No-IP funciona perfecto, eso lo que hace es hacer estática tu IP, primero probá así y si no funciona es porque necesitas hacer Port Forwarding
No el servidor solo seria yo, la idea era que cuando cualquier cliente que hiciera algo los datos me llegasen a mi (servidor) y luego el servidor los enviara a todos los demás clientes.
Padre Nuestro del Programador de C           
C Nuestro que estas en la Memoria,
Compilado sea tu código,
venga a nosotros tu software,
carguense tus punteros.
así en la RAM como en el Disco Duro,
Danos hoy nuestro Array de cada día,
Perdona nuestros Warnings,
así como nosotros también los eliminamos,
no nos dejes caer en Bucles,
y libranos del Windows, Enter.

Bueno, entonces perfecto.
Solo hace falta que le pidas a un amigo que se conecte con tu IP que aparece acá
  -  Si funciona deberías hacerte un No-IP, porque esa IP que usaste antes para conectarte suele cambiar.
  -  Si no funciona conectarte con una IP deberías intentar Port Forwarding, si queres avisa y te ayudo
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Cita de: Mgbu en Mayo 01, 2013, 04:37:06 PM
Bueno, entonces perfecto.
Solo hace falta que le pidas a un amigo que se conecte con tu IP que aparece acá
  -  Si funciona deberías hacerte un No-IP, porque esa IP que usaste antes para conectarte suele cambiar.
  -  Si no funciona conectarte con una IP deberías intentar Port Forwarding, si queres avisa y te ayudo
Hola de nuevo tarde tanto en postear esta respuesta porque queria acabar de hacer el sistema online del juego para probarlo pero aun  tiene unos fallos. Por eso coji un ejemplo de chat engine de gmc.community, pero antes de hacer el que me dijiste Mgbu de que hiciera la prueba con alguien lo intente conmigo mismo i no conecta(pongo la ip publica al conectar no la dinamica pero si pongo la ip dinamica si que funciona) crees que deberia hacer eso que dijiste de Port Forwating o igualmente deberia probar con alguien?

PD: Dejo el ejemplo que utilize
Padre Nuestro del Programador de C           
C Nuestro que estas en la Memoria,
Compilado sea tu código,
venga a nosotros tu software,
carguense tus punteros.
así en la RAM como en el Disco Duro,
Danos hoy nuestro Array de cada día,
Perdona nuestros Warnings,
así como nosotros también los eliminamos,
no nos dejes caer en Bucles,
y libranos del Windows, Enter.

No vi el ejemplo, pero no entiendo a que te referia a IP Pública e IP Dinámica
A IP Dinámica creo que te referís a la que aparece en Cual es mi IP, que es la que cambia con el tiempo. Pero no se a que te referís a IP Pública, para mí es lo mismo, quizás te referís como IP Pública a la que hiciste con No-IP, pero no se.

Las buenas noticias es que si te conectaste con la IP que aparece en Cual es mi IP (Segun entiendo yo le llamas dinamica) no hace falta hacer Port Forwarding. Nos podemos olvidar de eso.
Pero no entiendo cuál es tu IP que no funciona, si es la de No-IP asegurate que tengas el programa (Según recuerdo se llamaba No-IP DUC)



Aclaro según entiendo yo (es probable que me equivoque) solo existen dos IP para cada PC. Una es la IP Local y otra la Global
- Global: Es la que cambia, es algo así como la IP de tu módem, porque es igual para todas las PC de la casa (todas las PC conectadas a ese modem, se entiende). Esa la podés obtener desde Cual es mi IP
- Local: Es la que identifica las PC conectadas a tu modem, es realmente la IP de tu computadora. La computadora de tu amigo o de tu vecino no se podrá conectar a tu PC con la IP local porque es solo para la red local. Esa IP se obtiene escribiendo ipconfig desde el Símbolo del Sistema
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Cita de: Mgbu en Mayo 07, 2013, 02:14:01 AM
No vi el ejemplo, pero no entiendo a que te referia a IP Pública e IP Dinámica
A IP Dinámica creo que te referís a la que aparece en Cual es mi IP, que es la que cambia con el tiempo. Pero no se a que te referís a IP Pública, para mí es lo mismo, quizás te referís como IP Pública a la que hiciste con No-IP, pero no se.

Las buenas noticias es que si te conectaste con la IP que aparece en Cual es mi IP (Segun entiendo yo le llamas dinamica) no hace falta hacer Port Forwarding. Nos podemos olvidar de eso.
Pero no entiendo cuál es tu IP que no funciona, si es la de No-IP asegurate que tengas el programa (Según recuerdo se llamaba No-IP DUC)



Aclaro según entiendo yo (es probable que me equivoque) solo existen dos IP para cada PC. Una es la IP Local y otra la Global
- Global: Es la que cambia, es algo así como la IP de tu módem, porque es igual para todas las PC de la casa (todas las PC conectadas a ese modem, se entiende). Esa la podés obtener desde Cual es mi IP
- Local: Es la que identifica las PC conectadas a tu modem, es realmente la IP de tu computadora. La computadora de tu amigo o de tu vecino no se podrá conectar a tu PC con la IP local porque es solo para la red local. Esa IP se obtiene escribiendo ipconfig desde el Símbolo del Sistema
Bueno Mgbu te pido disculpas porque eso de dinamica i publica me lie algo i di una respuesta errónea.
Bueno haber voy a definir: Local por ejemplo 192.168.0.194
Global: La que se cambia al reiniciar el ordenador por ejemplo 182.167.182.17

Yo con el ejemplo ahora si que lo he subido (perdón por antes porque lo había subido mal o algo) con la ip local si puedo conectarme pero al intentar con la ip dinamica me da error.
Padre Nuestro del Programador de C           
C Nuestro que estas en la Memoria,
Compilado sea tu código,
venga a nosotros tu software,
carguense tus punteros.
así en la RAM como en el Disco Duro,
Danos hoy nuestro Array de cada día,
Perdona nuestros Warnings,
así como nosotros también los eliminamos,
no nos dejes caer en Bucles,
y libranos del Windows, Enter.

Te aclaro rapidito cómo es el tema.
Cada equipo conectado a la red WAN (es decir, conectado a internet) tiene una IP que lo identifica. Esta IP es la que llaman "global" o "pública", y es la que aparece en http://www.cualesmiip.com/ y demás páginas similares.
Para conectarse a internet se necesita un módem. En tu casa seguramente tenés uno. El problema es que un módem solo puede conectar un dispositivo a la vez. Para conectar varios, por lo general se utiliza un router. Seguramente tenés uno en tu casa también. El router lo que hace es conectarse a internet a través del módem, y así otros dispositivos se pueden conectar al router para acceder a internet. El router toma las peticiones de los dispositivos, se las pasa al modem, y devuelve a cada dispositivo la respuesta adecuada. Para esto el router identifica a cada dispositivo con una IP, que es distinta (y no está relacionada) a la IP global o pública que usa el módem. Esta es la IP "local" o "privada".

Si usás tu IP local, deberías ser capaz de conectarte desde cualquier computadora o dispositivo que esté conectado con tu router. Si eso es lo único que querés, perfecto, no hay nada más que tengas que hacer. (Pero tené en cuenta que la IP local cambia seguido; si te es un problema podés evitarlo simplemente cambiando la configuración de tu PC).
Si querés que cualquier persona se pueda conectar desde cualquier parte del mundo, es un poco más difícil. Aquellos que se quieran conectar tendrán que usar tu IP pública (que también cambia a menudo; si querés evitar ese problema tenés que usar un servico de DNS dinámico, como el proveído por no-ip). El problema es que la IP pública no es la IP de tu computadora, sino de tu router. Los datos llegan a tu router, y tu router no sabe qué hacer con ellos, porque ningún dispositivo los pidió. Para arreglar este problema tenés que realizar el famoso port forwarding. Lo que hacés es básicamente decirle a tu router "todos los datos que lleguen por este puerto, quiero que los envies a este dispositivo". El proceso por lo general involucra configurar una IP privada estática para el dispositivo, y entrar a http://192.168.1.1/ que suele ser la página de configuración del tu router (aunque en tu caso parece que es http://192.168.0.1/).

En fin, básicamente lo que estuvo explicando Mgbu, y algunas otras cosas.
Vim.

Mira yo he tenido varios servidores, tengo mucha experiencia en juegos online. y con referencia no-ip.info es lo mejor que podas usar, ya que al "cliente" el cual es el que dejas descargar, le colocas la ip de no-ip.info y claro instalas el programa en tu pc, asi no-ip.info lo que hace es redireccionar la ip de tu pc a la que creaste en no-ip.info ejemplo en uno de mis servidores la ip era: muek.no-ip.info  cuando mi ip es otra ejemplo: "190.255.255.  pero lo mejor es que nuestra ip osea esta  de ejemplo: 190.255.255. se mantenga protegida, ya que si los hacker se enteran de cual es la ip real, empiezan a editarse, cambiar un object, las estadísticas, osea se hacen invencibles y arruinan tu servidor, peor aun los hacker, que se ponen a hacerte caer la conexión. Por eso usa no-ip.info que es mejor y mas seguro, ademas si tu ip es dinámica, evitas el problema de estar actualizando la ip  en el servidor, y tener que darla a los usuarios para actualizar los clientes.

Que bueno que hayan llegado a dar luz al problema :P. Soy bastante malo para explicar algunas cosas ;D

Cita de: Mr.Dudas en Mayo 07, 2013, 02:54:59 AM
Bueno Mgbu te pido disculpas porque eso de dinamica i publica me lie algo i di una respuesta errónea.
Bueno haber voy a definir: Local por ejemplo 192.168.0.194
Global: La que se cambia al reiniciar el ordenador por ejemplo 182.167.182.17

Yo con el ejemplo ahora si que lo he subido (perdón por antes porque lo había subido mal o algo) con la ip local si puedo conectarme pero al intentar con la ip dinamica me da error.
Bueno, entonces me parece que el problema está en que hace falta hacer Port Forwarding porque el modem no sabe a que computadora de la red queres conectarte, como dijo Wadk
El problema es que en cada modem es distinto, se debe entrar en la configuracion del modem escribiendo en el navegador tu dirección IP. Luego ahí deberías decirle al modem que el puerto de tu programa este direccionado a tu IP Local. Para eso hay tutoriales en internet, porque todos los modems son distintos
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


#12 Mayo 07, 2013, 10:22:35 PM Ultima modificación: Mayo 07, 2013, 10:59:39 PM por Mr.Dudas
Gracias a todos por ayudar a aclararme la cosas ahora ya lo tengo MUY claro. Bueno Mgbu como me dijiste que el problema se solucionaría haciendo Port Forwarting antes de buscar por si acaso hice 5 tests:
Abrir 2 veces el editable en el mismo ordenador(IP local)=FUNCIONO
Abrir un editable en un ordenador i el otro editable a otro ordenador del mismo router(IP Local)= FUNCIONO
Abrir un editable en mi ordenador i decir a un amigo que abriese el editable en otro router(No-Ip)= NO FUNCIONO (me dijo que aparecía el mensaje de que no se puede conectar. Ese mensaje que pones tu en el editable para que aparezca si no se pudo conectar a la ip que pusiste en este caso No-Ip. El mensaje esta mas abajo).
Abrir 2 veces el editable en el mismo ordenador(No-Ip)=NO FUNCIONO(me dio el mensaje de error que esta mas abajo)
Abrir un editable en un ordenador i el otro editable a otro ordenador del mismo router(No-Ip)NO FUNCIONO(me dio el mensaje de error que esta abajo)

n = mplay_session_find();
  ses = 0;
  if (n==0)
  {
    show_message('No session available to join.');
    mplay_end();
    exit;
  }


Respecto eso de intentar hacer Port Forwarding:
Busque por Internet y vi que sus routers tenian una categoria para hacer Port Forward(A continuación os pongo un ejemplo de uno de los tutoriales que encontre):


Yo en cambio en mi router no tengo la categoria de Port Forward pero encotré algo parecido:




Es esto donde poner los datos para hacer Port Forwarding?
Padre Nuestro del Programador de C           
C Nuestro que estas en la Memoria,
Compilado sea tu código,
venga a nosotros tu software,
carguense tus punteros.
así en la RAM como en el Disco Duro,
Danos hoy nuestro Array de cada día,
Perdona nuestros Warnings,
así como nosotros también los eliminamos,
no nos dejes caer en Bucles,
y libranos del Windows, Enter.

Exacto. Tiene otro nombre simplemente porque tu router está en español :P.
Otra cosa importante: aparentemente estás usando las funciones mplay de Game Maker. Están desactualizadas y no funcionan correctamente (excepto con versiones muy viejas de Windows), deberías usar una dll. Podrías probar con la 39dll, que es bastante popular.
Vim.

Cita de: Wadk en Mayo 07, 2013, 11:07:00 PM
Exacto. Tiene otro nombre simplemente porque tu router está en español :P.
Otra cosa importante: aparentemente estás usando las funciones mplay de Game Maker. Están desactualizadas y no funcionan correctamente (excepto con versiones muy viejas de Windows), deberías usar una dll. Podrías probar con la 39dll, que es bastante popular.
Bueno pues ahora buscare la 39dll.dll i buscaré un tutorial sobre como funciona. Pero antes tengo unas dudas sobre el Port Forwarding:
A) Que puerto es mejor para el juego?
B) Si pongo un puerto y luego me descargo una aplicación que utiliza el mismo puerto que pasara?
C) En game maker también tengo que poner el puerto que ponga en Port Forwarding? (Yo no he visto que mplay te pregunte por el puerto pero alo mejor la dll 39dll.dll que me ha recomendado Wadk  que voy a utilizar ahora puede que si)
D)En donde pone ponga ip(imagen) tengo que poner la ip local del ordenador y si hago eso luego tengo que ir a la configuración del pc para que siempre tenga la misma ip local? Y si es así el juego solo funcionara si el server esta en ese pc del que haya indicado la ip local?
E)En caso de que los jugadores quieran crear su propio server también tendran que hacer Port Forwarting y poner su No-Ip?
Padre Nuestro del Programador de C           
C Nuestro que estas en la Memoria,
Compilado sea tu código,
venga a nosotros tu software,
carguense tus punteros.
así en la RAM como en el Disco Duro,
Danos hoy nuestro Array de cada día,
Perdona nuestros Warnings,
así como nosotros también los eliminamos,
no nos dejes caer en Bucles,
y libranos del Windows, Enter.