Obtener IP de partida en curso.

B

Espero que alguien em ayude ya que he preguntado en todos lados y buscado de todo pero no encuentro nada:

Estoi diseñando un programa para monitorizar los juegos del STEAM como CSS o HL2 (Principalmente estos 2) para obtener la IP del servidor en la que se esta jugando actualmente para luego mandarla a un servidor para listar a todos los "amigos" jugando en ese momento via web.

El problema que tengo esque no se ni por donde empezar, ya que no se como conseguir informacion del ejecutable HL2.exe en tiempo real, amos que no se "preguntarle" la IP donde esta jugando.

Ademas tb me interesaria poder mandarle comandos, para hacer que entre ens ervidores automaticamene y cosas asi.

Aver s un alma caritativa me puede ayudar.

Chulla

http://server.counter-strike.net/phprcon/

más o menos, es lo que estás buscando ( además te dan funciones ya definidas, para hacer tu propio panel de control :) )

lo de lanzar el juego, AA lo hace mediante cookies.

aunque se puede hacer mediante consultas a un campo de usuario , por ejmplo usuario_path_cs ( path del ejecutable del cs) , el cual tendrá la ruta del juego en concreto.

luego simplemente lanzas la amplicación ( con una consulta a la db de usuario para saber el path del ejecutable) y ualá

otra forma de lanzar sería utilizando el protocolo que te viene con el HLSW o eye ( hlsw://62.81.63.137:27015 , eye://62.81.63.137:27015 ) pero el cliente necesitará dichos programas instalados.

pero para que coño quieres esto ? :)

RedHat

jajajaaj www.gametiger.com powah! si sabes hacerle un ping y que dicho programita lea esa pagina y te de los datos pues es una manera :)

B

Perdon.. No me di cuenta que ponia Desarollo & Diseño WEB..

Lo que busco es lo que he preguntado pero PARA PROGRAMARLO YO EN UN PROGRAMA FISICO, amos nada web, sino un programa que se quede rulando y vea en que IP conectas y segun detecte que has conectado mande la IP del server a donde has conectado.

Seria facil, el problema esque el HL2 y el CSS usan para las conexiones el protocolo UDP y ni a patadas soy capaz de obtener la IP del servidor remoto..

IS4kO

yo instalaria algun sniffer para monitorizar las conexiones de red y asi ver la ip a la que estas conectado a traves del steam.

B

Eso hago, pero resulta que el protocolo UDP esconde la IP Remota y no hay webos a conseguirla, sino con un siple listado de los procesos lo veo, puedo ver las TCP pero las UDP no se muestran, vueno si, pero no sale la IP remota solo el puerto... Sino prueva a hacer un netstat -a mientras juegas, se meustran las conexiones a los puertos 270XX pero no se muestra el remotehost ni nada.. asique lo unico que me queda es pedir info al ejecutable HL2.exe

Ano ser que exista otra forma.. el Xfire detecta las partidas y algun programa mas.. pero como no son Open Source toy jodido.

Chulla

#4

Despues de leer tu post un par de veces, ya se lo que quieres hacer.

Una especie de msn ( sin chat) de tal forma que tus amigos, sepan en el servidor que estás conectado, no ?

joe como te kieres calentar la cabeza xDD

la idea está muy bien.

como lo estás planteando ? ( java , delphi , c++ )

en delphi pos aqui te dejo un código interesante :

http://www.thedelphimagazine.com/disks/dmag101.zip

donde puedes comprobar como se obtienen las conexiones activas ,de cierta interfaz, tanto de TCP como de UDP.

ahora bien, con eso no tienes nada. Deberías hacer un servidor donde los clientes se van conectando y de ese modo obtener los datos de cada cliente ( si está conectado pues la IP del servidor, etc..)

es esto lo que pretendes hacer ?

B

Pos si es eso lo que quiero hacer, elt ema del servidor no habria problemas le emto ua interface web y el server y el tema me lo curro en PHP-MySQL.

El programa es lo que tengo que hacer, que detecte cuando estes jugando (esto es lo que necesito) y mande tu IP, la IP del server para luego listarla en el servidor y que tus amigos vena que estas y donde estas. Como el Xfire pero solo del CSS y sin mariconadas de colores..

El programa lo haria en VB6 o .NET me gustaria mas VB6 proque chupa menos recursos pero me es indiferente.

De todas formas como te digo el problema esque al ser UDP no hay forma de obtener el remotehost.

Chulla

pues empieza con Winsock

y a buscar info para obtener RemoteHost ( mediante IP o dns)

aunque no se para que quieres calentarte la cabeza.

el steam ya te dice si tu amiguete está conectado y la ip del servidor

saludos

B

Si si, pero esque el sistema de amigos no ruta el 99.9% de las veces.. amos porlomenos ami..

De todas formas con winsock no hago nada, ya que tengo ke trabajar con los shokets directamente, aunque no se porque me huelo a que me saldria mejor enviar un comando al hl2.exe con el API sendMessage e intentar obtener la respuesta.

¿Existe algun comando para el HL2.exe o el STEAM que devuelva la IP donde estas jugando?

Porque aunque consiguiera ver el puerto la pregunta es ¿Como sabe que estoi jugando al CSS, HL2 o DOD sin pedir info al server donde estoy?

Asique me da que el tema va a ser mandar comandos al HL2.exe para saber la IP.

LO que pasa que los de valve no han puesto informacion ni codigos ni NADA, asique no tengo ni puta idea de que comandos mandar.. ni como recivirlos ni nada.

RedHat

www.gametiger.com tiene muchas opciones de buskeda, haciendo un programa q se conecte a la web el solito y obtenga los datos mediante un ping iria de puta madre, puedes buscar : SERVERS,MAPAS,PLAYERS....

Chulla

#11 Red nuestro amigo no quiere eso, quiere una especie de chat, de tal forma que si un amigo se conecta a un server, el programita le diga donde está ( via web, o en el mismo programa)

Benmaster con winsock seguro que lo sacas, pero he pensado otra solucíon :)

si un amigo se conecta mediante algun programa como el eye o hlsw ( la última IP conectada se guarda en el REGISTRO de Windows)

por ejemplo en el hlsw

HKEY_CURRENT_USER\Software\HLSW\Settings\LastServer

pero claro, si no se conecta por ese programa , la IP no se guardará :)

en la 1.5 e inferiores sí que te guardaba en el registro la última IP y demás ( ademas en dicha versión, se crea un ficherito de extensión desconocida en el directorio raiz, con los datos del server donde estas) pero claro eso era antes :)

Pues con eso puedes leer del registro la IP y tal, pero te sigo diciendo para que cojones quieres calentarte tanto la cabeza ( perdon xD)

Ya sabes, intenta ver lo que puedes sacar del registro, cuando te conectas a un servidor.

Saludos y a cuidarse

B

He provado a jugar y con la partida minimizada rastrear el registro y NADA, ni una IP nisiquiera el Puerto, tambien he estado buscando 2 horas en mis 2 Hds de 120Gb en modo binario en todos lados y nada.. ni un fichero en mi HD contiene la IP de la partida en curso..

Usuarios habituales