Que pasos debería seguir para poder conectar con un servidor de juegos.

Iniciado por Charlie BoT, 28 Mayo 2018, 16:00 PM

0 Miembros y 1 Visitante están viendo este tema.

Charlie BoT

Bueno, espero que no me critique por la pregunta, pero me ha comenzado a llamar la atención el echo de como conectar una aplicación a un servidor de juegos, mas precisamente uno de "Kaillera", que sabemos que es algo viejo y no ahí mucha información al respecto... He echo un hook al cliente y he podido obtener el chat y muchas cosas mas, pero ahora quisiera poder desarrollar algo como un cliente, pero no se bien por donde comenzar, ya que no entiendo bien como seria la conexión a ese tipo de servidores.

Bueno espero haber sido claro y aclaro que no estoy pidiendo que me den el código echo sino que me expliquen como podría lograr la conexión a la ip del servidor para poder recorrer los usuarios online, chat, etc...

Desde ya muchas gracias y espero que alguién me ilumine el camino!

engel lex

primero tendrás que usar un sniffer de conexión como wireshark, para dar cual es el protocolo usado y puerto, luego ver si la conexión es cifrada y de ser así, tendrás que revisar en el cliente que cifrado usa y como lo implemente, luego tendrás que revisar que codificación usan y como se establece... probablemente tambien te toque desde cliente, luego de tener estos detalles claros podrías empezar a armar un servidor y conectarte usando sockets

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Charlie BoT

#2
Bueno muchas gracias por responder, he estado haciendo la tarea y he encontrado los datos requeridos...

IP:           Varias
Protocolo: UDP
Puerto:     27888
Saludo:     HELLO0.83
Cifrado:    No parece tener.

Bueno hice algunas pruebas, pero el Socket no parece tirar error aunque no se que pasos seguir para recorrer los datos del servidor.

Necesitaría alguna sugerencia!

engel lex

tienes que leer paquetes del servidor y empezar a ver como pasan, no se que es "HELLO0.83" pero si son datos en claro, tienes que entonces poco a poco que capturar paquetes e ir viendo que significan
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Charlie BoT

Bueno, buscando y buscando he encontrado un protocolo, aunque no es oficial pero es lo mejor que vi en la web..

De todos modos se me hace un tanto confuso, osea no se bien como atacar el tema, igual dejo una url con el protocolo por si alguien lo entiende.

http://apuntadorbeta.eshost.com.ar/KailleraProtocool.html

Desde ya muchas gracias por la buena onda!

engel lex

como era esperado es un protocolo estructurado en binario





esto en binario se vería algo así (pondré X donde pueda ser 1 o 0)

supongamos que es el primer paquete (conteo 1) y la primera instrucción tendrá 10 (creo que el len es en bytes) bytes de largo y serial 2000 y la segunda serial 100 y len de 3

00000001 00000111 11010000 00001010
00000000 XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX 00000000
01100100 00000011 XXXXXXXX XXXXXXXX
XXXXXXXX


así que tendrás que parsear eso en binario

los codigos allí están en C y los parsean en struct listos para usar
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Charlie BoT

Que pena, no he sido notificado sobre el ultimo comentario, la verdad no entiendo bien porque sucede esto!

En fin, Engel Lex muchas gracias por tantas molestias, he estado buscando y buscando y he encontrado algo escrito en C# donde se ha creado algo similar para poder chatear, yo creo que se podría adaptar, aunque no se bien por donde comenzar, aunque veo que usa una librería para hacer el trabajo sucio llamada log4net.

Acá dejo el link, por si estoy en lo cierto!

https://github.com/eisenbe7/KailleraNet/blob/master/KailleraManager.cs