Hola a tod@s, inauguro este blog con kaillera, no,
kaillera no es el nombre de una tia buena o una actriz porno. Kaillera
es una arquitectura cliente servidor soportada por varios emuladores
como mame. Es una excelente aplicacion que permite que podamos jugar
online con mas gente, sin tener que compartir el mismo teclado y estar
ahi rozandose las manos.
Antes de nada, todo el mini tutorial ha
sido probado y funcional al 100%, por lo que no voy a hacerte perder el
tiempo. Lo que leas aqui, si segis bien los pasos te va a funcionar.
Se da por echo que si has llegado hasta
aqui, es por que ya has montado el servidor, y los jugadores que
intentan conectarse se les queda el cliente como esperando un login, o
logearse y no entran en la pantalla de chat.
Hay en internet varias soluciones, como
usar kaillera p2p o hamachi. No hace falta. Es mucho mas facil. A
continuacion voy a explicar los pasos a seguir para asegurarnos que
funcione.
Las conexiones de kaillera
Estas conexiones funcionan en udp, un protocolo no orientado a conexion, pero mas rapido que tcp.
Cliente kaillera
La
parte del cliente es la mas sencilla. Para verificar si el problema
esta en el cliente, probamos a conectar a un servidor oficial de
kaillera. Si no nos deja conectar, es evidente que en el cliente hay
alguna aplicacion bloqueando seguramente sus conexiones salientes hacia
los puertos altos. Seguramente un antivirus o un cortafuegos.
Evidentemente, no podremos conectar al servidor de nuestro amig@ si no
podemos conectar a un servidor oficial de kaillera. Para pasar al
siguiente paso, es fundamental resolver este paso.
Servidor kaillera
El puerto por defecto de kaillera es 27888 udp. Por lo tanto mapeamos/abrimos/nat/ de ese puerto en nuestro router.
No
basta con eso, kaillera usa ese puerto para negociar una segunda
conexion, Por cada conexion, nuestro servidor de kaillera abrira un
nuevo puerto udp. Si tenemos 55 jugadores, tendremos 55 puertos udp
abiertos (mas el 27888 XDD) y de manera aleatoria. Por estos puertos se
sincronizaran los jugadores. Jamas por el puerto 27888.
Por
lo tanto kaillera negocia con el cliente a travez del puerto 27888 el
nuevo puerto que le ha asignado kaillera, el cliente intenta conectarse y
como en el router no tenemos mapeado el nuevo puerto, al servidor de
kaillera no le llegan los mensajes "saludo" del cliente para verificar
si el cliente esta conectado en el servidor, y el servidor, cierra esa
conexion.
Solucion: mapear del puerto 20000
udp al puerto 65000 udp. Es mas o menos el rango aleatorio que puede
usar el cliente. Cuando se haga la negociacion, el cliente conectara al
puerto que el servidor le indico y ahora si, le llegan los mensajes al
servidor, ahora si tenemos establecida una conexion entre el cliente y
servidor y ya podemos jugar online.
Espero que os haya valido la ayuda. Ale al vicio xDD
Acontecimientos que suceden en el mundo que nos rodea
31/5/13
ERROR 1025 :Error on rename of
ALTER TABLE [tabla] CHANGE [atributo] [atributo] [tipo de dato]
Ejemplo
comentarios blob
ALTER TABLE clientes CHANGE comentarios comentarios varchar(100);
ERROR 1025 <HY000>:Error on rename of
Este error se produce cuando intentamos cambiar un atributo o borrar un atributo de una tabla la cual tiene algun error, o alguna clave foranea o indice mal creado, por el diseñador o por el mismo motor de mysql, disculpenme por no haber profundizado mas en este error.
Solucion en este ejemplo:
Destro del promt de mysql escribimos:
show engine innodb status; //muestra mucha informacion, entre ellas posibles errores.
show create table clientes; //muestra el codigo del create table, de la tabla clientes.
Nos fijamos en los dos comandos, y veremos que en la tabla clientes (en este ejemplo) hay un error en una clave foranea(nuevamente pido disculpar por que no puedo mostrar los resultados para aclarar la informacion que obtendriamos con los dos comandos y compararla).
alter table clientes drop foreign key nombredelaclave; //borramos la clave foranea que encontramos en el error obtenido por el show engine innodb status; donde pone nombredelaclave lo sustituiriamos por el nombre de la clave foranea que sacamos con los dos primeros comandos. Realmente solo necesitariamos usar el primer comando. Pero el segundo va mas directo al grano.
Ahora podemos escribir: ALTER TABLE clientes CHANGE comentarios comentarios varchar(100); satisfactoriamente.
Ejemplo
comentarios blob
ALTER TABLE clientes CHANGE comentarios comentarios varchar(100);
ERROR 1025 <HY000>:Error on rename of
Este error se produce cuando intentamos cambiar un atributo o borrar un atributo de una tabla la cual tiene algun error, o alguna clave foranea o indice mal creado, por el diseñador o por el mismo motor de mysql, disculpenme por no haber profundizado mas en este error.
Solucion en este ejemplo:
Destro del promt de mysql escribimos:
show engine innodb status; //muestra mucha informacion, entre ellas posibles errores.
show create table clientes; //muestra el codigo del create table, de la tabla clientes.
Nos fijamos en los dos comandos, y veremos que en la tabla clientes (en este ejemplo) hay un error en una clave foranea(nuevamente pido disculpar por que no puedo mostrar los resultados para aclarar la informacion que obtendriamos con los dos comandos y compararla).
alter table clientes drop foreign key nombredelaclave; //borramos la clave foranea que encontramos en el error obtenido por el show engine innodb status; donde pone nombredelaclave lo sustituiriamos por el nombre de la clave foranea que sacamos con los dos primeros comandos. Realmente solo necesitariamos usar el primer comando. Pero el segundo va mas directo al grano.
Ahora podemos escribir: ALTER TABLE clientes CHANGE comentarios comentarios varchar(100); satisfactoriamente.
Suscribirse a:
Entradas (Atom)