Pb De Programmation Php, Récupérer infos/players/rules d'un serveur de jeu CSS avec les s |
30/03/2011 - 19:26:43 |
Post
#1
|
|
Group: Member Posts: 13 Joined: 22/03/2011 |
Bonsoir tout le monde (IMG:http://forum.17buddies.rocks/style_emoticons/default/smile.gif)
Je suis en ce moment en train de concevoir (enfin plutôt paufiner) un gestionnaire de serveurs de jeu/rapports de wars pour ma team. Actuellement, il est stable et marche bien. Cependant, j'aimerais récupérer des informations complémentaires comme par exemple les variables d'un serveur (rules) et le score des joueurs (ainsi que des infos supplémentaires sur le serveur en lui-même comme l'OS ou l'hébergeur). La plupart des infos que je récupère vient de la commande RCon "status". Je teste aussi l'état du serveur (online ou offline) en envoyant une commande par socket avec retour en une seconde (suffisant pour savoir si oui ou non le serveur est en ligne). Je me suis basé sur ceci : http://developer.valvesoftware.com/wiki/Server_queries Ainsi que sur ce cours qui l'a permis de bien comprendre le principe des sockets et de la récupération des données par ce biais : http://a-pellegrini.developpez.com/tutoriels/php/cstrike/ Avec ces deux liens, j'ai réussi à récupérer les informations du serveur et le challenge number. Cependant j'ai quand même un gros doute sur ce dernier, car les deux autres requètes, à savoir les joueurs et les rules (qui demandent d'injecter dans la commande le challenge number) ne marchent pas (en faisant un echo de la réponse en brut, cela me donne une chaine ridiculement courte (6 caractères) concernant les rules). J'ai alors essayé des solutions toutes faites : steam-condenser, GameQ, etc..., rien n'y fait, je retrouve le même problème. Je me suis aussi intéressé au petit Gadget de Windows 7 que Chapo (je crois) a conçu pour 17's Buddies, que j'utilise d'ailleurs. Et surtout aux données JSON récupérées par le Javascript du widget. pour le moment, j'utilise avec honte ces données pour mon gestionnaire, ce qui me rend très dépendant de 17's Buddies. Ma question est donc la suivante : y a-t-il une autre approche pour recueillir les informations que je recherche ? Et si non, qu'est-ce qui fait que cela ne marche pas de mon côté ? |
|
|
31/03/2011 - 12:36:10 |
Post
#2
|
|
Group: Member Posts: 13 Joined: 22/03/2011 |
OK, je crois avoir saisi au moins l'importance du "type". Je dois prendre les quatre premiers bytes pour savoir si c'est splitté ou en un seul morceau, ainsi que le nombre de paquets. Par contre ma connaissance assez moyenne de l'anglais ne fait perdre ma compréhension au niveau de la lecture/assemblage des paquets, avec le request ID.
J'avoue être un peu à la ramasse quand on parle de gestion des sockets. Je ne me suis jamais planché dessus jusqu'à ce que je décide de concevoir ce gestionnaire de serveurs (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_razz.gif) EDIT : Après relecture, je commence à comprendre comment faire. J'avais en fait mal lu la ligne 'Packet Number' ^^ Par contre maintenant, c'est ceci que je ne comprends pas : Citation every packet should be verified by its Request ID and the Packet Number! Pour le packet number, OK, mais le Request ID ? En gros, le Request ID le plus petit est le premier paquet, et le Request ID le plus grand est le dernier paquet ? This post has been edited by Liangel: 31/03/2011 - 12:39:28 |
|
|
Lo-Fi Version |
Skin © Chapo
|