Développement, réseaux, sysadmin et futilités
Document technique sur les protocoles HL1/Source terminé
Suite à mon précédent document sur les protocoles d’Half-Life 1, il m’a semblé nécéssaire d’écrire un nouveau document pour décrire le protocole de Source d’une part, et le nouveau protocole d’Half-Life 1 (basé sur Source) d’autre part.
C’est désormais chose faite : document sur les protocoles d’Half-Life et Source
Je copie colle ma présentation :
Ce document est purement théorique. Il décrit les échanges entre un client et un serveur durant les opérations suivantes :
- Interrogation du serveur MASTER : lorsque vous cherchez des parties en utilisant le navigateur intégré à Steam, c’est ce serveur qui fournit la liste des serveurs de jeu en activité. En étudiant le protocole utilisé lors de cette opération, vous pouvez récupérer vous-même des listes et les utiliser à toutes fins utiles.
- Interrogation d’un serveur Half-Life 1 ou Source : le master ne renvoie que des listes d’adresses IP. Le protocole d’interrogation (query) des serveurs vous permet d’interroger un serveur de jeu en particulier et d’obtenir de lui 3 types de données : informations générales (nom, map en cours, mod, etc.), liste des joueurs sur le serveur, et CVARs publiques (règles).
- RCON : cette fonctionnalité bien connue des administrateurs de serveurs de jeu permet d’accéder à la console d’un serveur à distance afin d’y effectuer des opérations d’administration (changements de map, banissement, manipulation de CVARs…). Ce document décrit le protocole dans lequel sont encapsulées les commandes envoyées à la console ainsi que les réponses du serveur.
- Log distant : ce mécanisme proche du RCON consiste à envoyer les logs (journaux) depuis le serveur vers une machine distante, et ceci en temps réel. Extrêmemement puissante, cette fonctionnalité permet, en fonction du niveau de détail des logs, d’être notifié des fins de round aux changements de CVARs en passant par le chat, voire même des dommages infligés entre joueurs !
Bonne lecture.
| Imprimer l'article | Cette entrée a été posté par e-t172 le 04/08/2005 à 18:40, et placée dans Général. Vous pouvez suivre les réponses à cette entrée via RSS 2.0. Les commentaires et les pings sont fermés pour l'instant |
Les commentaires sont fermés.
about 4 years ago
Excellente doc
Merci.
En passant, les fortunes de NoFrag, un peu plus bas, sont terribles ^^
Bonne continuation.
about 4 years ago
Très beau document, il est très clair, complèt et bien détaillé.
Je vous remercie, je vais pouvoir m’attaquer à ce truc bizard qu’on appel fsockopen()
about 4 years ago
Ultiny, je te conseille plutôt l’extension sockets : fr2.php.net/sockets
Un peu plus compliqué de prime abord, mais tellement plus propre et plus contrôlable.
about 2 years ago
Salut;
Merci pour cette doc tres bien faites.
Je me permet de faire un ptit ajout aprés mettre cassé la tête dessus :
Lorsque l’on veut faire la requete PLAYERS sur un serveur source (pas tester sur hl1) le code a envoyer n’est pas toujours le même c’est pour cela qu’une etape est a faire precedement pour recuperer ce code, la requete est :
0xff 0xff 0xff 0xff 0×55 0xff 0xff 0xff 0xff
et l’on recoit :
0xff 0xff 0xff 0xff 0×41 //LE CODE SUR 4 Bytes//
Si ca peut servir a qqun.
@++
about 2 years ago
Ah oui oui. Le challenge varie au cours des sessions. Il ne reste valable qu’un temps limité. Il faut redemander un challenge avant d’envoyer une nouvelle série de requêtes. Ce n’était probablement pas très clair dans la section sur le Challenge.
about 2 years ago
Bonjour,
Bonjour, je serais aussi très intéressé par ces documents, malheureusement, les liens sont morts, alors qu’on début de l’année, il marchaient encore. Serai t-ils possibles de poster les nouveaux liens si ils existent ?
Merci
about 2 years ago
http://www.e-t172.net/blog/articles
Je vais modifier le billet.