SED-P.NET

OGC : Protocole & fonctionnement

jeudi 8 avril 2004, par Bech ()


Principe de fonctionnement / utilisation

Le serveur OGC enregistre une liste de partie de jeu en cours / en attente de joueur sur internet. Il permet aux jeux d’enregistrer des parties ou d’obtenir une liste de partie.

Connexion au serveur

Vous devez donc utiliser un socket UDP pour vous connecter au serveur. Celui-ci est configuré par défaut sur le port 11111. Le numéro de port pour le client doit être le 11100, mais en réalité le serveur retourne ses réponses sur le port utilisé par la connexion.

Un serveur OGC de test est disponible sur : "x.yz.to:111111"

Les échanges avec le serveur se font sous forme d’une chaine de caractères. Cette chaine est au format suivant :

COMMANDE ’ :’ Param1 #9 param2 #9 ...

(La commande est suivie de deux points, les paramètres sont séparés par des tabulations)

Héberger une partie de jeu

Pour indiquer au serveur une partie de jeu disponible sur le net, vous devez lui transmettre les informations à l’aide de la commande GAME. Cette même commande est utilisée pour mettre à jour les informations sur la partie. Vous devez donc renvoyer toutes les informations quand le nombre de joueurs change par exemple.

Une fois la partie engagée, vous pouvez la faire disparaitre de la liste en envoyant la commande QUIT.

Rejoindre une partie

Après une connexion au serveur, vous devez lui demander la liste des partie disponible à l’aide de la commande LISTGAMES. Le serveur vous retourne alors cette liste et continuera de vous envoyer les modifications jusqu’a l’envoi de la commande LISTQUIT.

Exemple :


LISTGAMES:MonJeu
[...]
LISTQUIT:

Liste des commandes

GAME :

ParamètreDescription
GameNom du jeu
VersionVersion du jeu
NetNameNom de la partie
NetTypeType de protocol réseau (TCP4,TCP6,UDP4,UDP6)
CurPlayersNombre de joueurs connectés
MaxPlayersNombre de joueurs max.
StatusEtat de la partie / message

Cette commande permet d’ajouter ou de modifier une partie de jeu sur le serveur. Pour le status, le serveur ne prend en compte que les 6 premiers caractères. Ce champ permet de stocker des informations propre au jeu sur la partie.


QUIT :

Indique au serveur d’enlever la partie de jeu dans la liste.


LISTGAMES :

ParamètreDescription
GameNom du jeu

Permet d’obtenir la liste des parties disponible pour un type de jeu.


LISTALL :

Permet de demander au serveur d’envoyer la liste complète des parties de jeux en cours, sans faire de selection sur un type de jeu.


LISTQUIT :

Indique au serveur que le client ne doit plus recevoir d’information sur les changements dans la liste complète des parties disponible. Permet de quitter le mode de LISTGAMES ou LISTALL.

Réponses du serveur

ENTRY :

ParamètreDescription
IDNumNuméro/id de la partie de jeu
HostAdresse IP de la machine qui héberge la partie
PortNuméro de port du socket sur la machine qui héberge la partie
GameNom du jeu
VersionVersion du jeu
NetTypeType de protocol réseau (TCP4,TCP6,UDP4,UDP6)
NetNameNom de la partie
StatusEtat de la partie / message
CurPlayersNombre de joueurs connectés
MaxPlayersNombre de joueurs max.

Le serveur transmet les nouvelles parties (ou les parties modifiées) par le biais de cette commande.


DELENTRY :

ParamètreDescription
IDNumNuméro/id de la partie de jeu

Indique la suppression d’une partie de jeu de la liste du serveur. Le seul paramètre transmis est l’IDNum de la partie.

Ex : DELENTRY:16

Répondre à cet article

Creative Commons License
Cette création est mise à disposition sous un contrat Creative Commons .

Articles de cette rubrique


Dernières brèves


A visiter