BOT IRC + SCAN DE PARTIES COUNTER-STRIKE EN UDP

Toadstool Messages postés 16 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 31 mars 2007 - 9 nov. 2004 à 22:57
Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007 - 28 mars 2007 à 15:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27001-bot-irc-scan-de-parties-counter-strike-en-udp

Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007
28 mars 2007 à 15:09
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).
rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012
13 déc. 2004 à 06:48
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
rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012
9 déc. 2004 à 20:55
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
Toadstool Messages postés 16 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 31 mars 2007
9 déc. 2004 à 20:23
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)
rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012
9 déc. 2004 à 20:14
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 ?
Toadstool Messages postés 16 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 31 mars 2007
9 déc. 2004 à 17:42
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 ++
rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012
9 déc. 2004 à 17:16
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)
Toadstool Messages postés 16 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 31 mars 2007
9 déc. 2004 à 12:35
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...
Toadstool Messages postés 16 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 31 mars 2007
9 déc. 2004 à 12:32
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...
rclsilver02 Messages postés 130 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 10 février 2012
9 déc. 2004 à 07:10
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
Toadstool Messages postés 16 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 31 mars 2007
18 nov. 2004 à 01:47
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.
Toadstool Messages postés 16 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 31 mars 2007
9 nov. 2004 à 22:57
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 :)
Rejoignez-nous