Télécharger le zip
En fait grâce a ethereal j ai trouvé que ce sont les clients half-life qui broadcastent un paquet "\037\037\037\037infostring\0" (adresse ip 255.255.255.255) sur la plage de ports UDP 27015 - 27024.Ainsi pour éviter d envoyer un ping a chaque ip possible du réseau, il suffit de faire de même et de récupérer grâce à une librairie comme pcap les paquets UDP renvoyés...Je suis en train de voir comment faire :)
J ai abandonné l idée d intégrer le scanner de parties dans le bot. Celui-ci sera finalement un processus indépendant qui écrit les infos dans un fichier xml accessible à plusieurs autre applications comme le bot irc ou un serveur apache par exemple.
salut, pour le clan dont je fais partie je souhaiterai aussi faire un bot irc avec scan des serveurs.. mais avec steam je sais pas trop comment faire :o tu as des nouvelles infos ? peut etre un site? tu veux dire quoi par "En fait grâce a ethereal j ai trouvé que ce sont les clients half-life qui broadcastent un paquet "\037\037\037\037infostring\0" (adresse ip 255.255.255.255) sur la plage de ports UDP 27015 - 27024." ? je comprends pas trop :) si tu as qq minutes tu voudrais bien m'expliquer stp ? Merci d'avance ... Rclsilver
Alors vu que tu parles de steam je suppose que ton bot c'est pour CS:Source que tu veux le faire ? Si c'est le cas je peux pas trop te renseigner : j'ai pas encore récupéré le SDK pour HL2 (steam c'est mal :D ).Sinon, pour ce qui est de ljhistoire du broadcast en fait les clients half-life (ie le jeu quand tu veux te connecter à un serveur) demandent lorsque tu es sur la page Parties Reseau Local à tous les serveurs de renvoyer des infos :Pour cela, comme au départ il connait pas l'ip des serveurs allumés, le client envoit la demande d'info "\037\037\037\037infostring\0" à l'adresse 255.255.255.255 qui, pour simplifier, permet en fait d'envoyer à tout le monde (broadcast).Les serveurs CS fonctionnent sur les ports UDP 27015 à 27024 donc on broadcaste pour chaque port de façon à ne rater aucun serveur.Ca évite d'envoyer à chaque ip sur chaque port la requête d'info et ainsi de ne pas surcharger le réseau...Heu j'espère que j'ai été clair (c'est pas gagné...). Si t'as d'autres questions n'hésite pas...
Ah oui si t'es motivé tu peux essayer de lire l'implémentation de ce que je raconte. C'est dans l'autre source que j'ai posté "Scan de parties Counter-Strike" ou quelquechose comme ça...
alors, pour moi c'est bien CS 1.6 pas CS source... pour le brodcast, je pense avoir saisi ce que tu voulais dire... mais quand j'essaie de ping 255.255.255.255 ça reponds pas c'est normal ? sinon tu n'aurais pas une doc du protocole (rfc sdk ou autre ? ) merci d'avance, sinon ben pour la motivation c'est surtout pour occuper le temps :o et pis bon pour motiver des gens a venir sur irc pck bon :o+++ :o)
Alors l'ip 255.255.255.255 ne correspond pas à une machine donc c'est normal que le ping ne marche pas. C'est juste une adresse permettant d'envoyer des données à toutes les machines d'un coup si tu veux.Sinon pour le protocole y a tout ce qui faut dans la source c'est exactement ce qu'il y a dans le sdk d'hl à propos des dialogues avec le serveur.Voila ++
ah d'accord, mais quand tu dis toutes les machines, c'est toutes les machines qui ont un serveur hl ? ou toutes les machines connectées au net ?
toutes toutes toutes c'est du super broadcast ça sinon si c'était que sur un reseau local ce serait une adresse du style 172.16.0.255 avec laquelle tu broadcaste que sur les machines en 172.16.*.* (c'est des ips privées)
oki, donc j'ai fait mes testes avec VB... j'envoie Chr(255) & Chr(255) & Chr(255) & Chr(255) & "infostring" & Chr(0) sur 255.255.255.255 sur le port 27019 par exemple, et je reçois rien c'est normal ? je suis en UDP pourtant :o
apparement, le broadcast c'est only LAN... donc en fait, d'apres qq potes, le scaner de steam se connecterait à un master server, et c'est lui qui donnerait la liste des serveurs avec qq infos... donc je vais essayer de voir dans cette direction :o) je tiens au courrant
Je confirme que pour les serveurs Internet tout se fait depuis un serveur maître. Les connaisseurs Valve sous Linux pourront vous le confirmer (logs information sur les requêtes vers le serveur maître).
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 971 membres 231 nouveaux aujourd'hui 15 441 membres club