Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
classes:teeworldssrv [2009/04/03 15:35] samray1024 |
classes:teeworldssrv [2017/05/17 23:09] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Classe TeeworldsSrv ====== | ||
+ | Cette classe fournit les méthodes nécessaires pour lire les informations d'un serveur [[http://teeworlds.com|Teeworlds]]. | ||
+ | |||
+ | Le code de cette classe est une adaptation d'un [[http://teeworlds.com/trac/teeworlds/browser/trunk/scripts/tw_api.py |script Python]] écrit par l'équipe de développement de [[http://teeworlds.com|Teeworlds]]. | ||
+ | |||
+ | ===== Code exemple ===== | ||
+ | |||
+ | Ci-après la mise en oeuvre de la classe : | ||
+ | |||
+ | <code php> | ||
+ | $oTwSrv = new TeeworldsSrv( 'ip du serveur', 8303 ); | ||
+ | $sError = $oTwSrv->readSrvInfos(); | ||
+ | |||
+ | if( empty($sError) ) { | ||
+ | |||
+ | echo '<pre>'; | ||
+ | echo 'Nom : '.$oTwSrv->getName(),"\n"; | ||
+ | echo 'Version : '.$oTwSrv->getVersion(),"\n"; | ||
+ | echo 'Type : '.$oTwSrv->getGameType(),"\n"; | ||
+ | echo 'Map : '.$oTwSrv->getMap(),"\n"; | ||
+ | echo 'Flags : '.$oTwSrv->getFlags(),"\n"; | ||
+ | echo 'Progression : '.$oTwSrv->getProgression(),"\n"; | ||
+ | echo 'Joueurs : '.$oTwSrv->getNumPlayers(),'/',$oTwSrv->getMaxPlayers(),"\n"; | ||
+ | echo 'Liste des joueurs :'."\n"; | ||
+ | print_r($oTwSrv->getPlayers()); | ||
+ | echo '</pre>'; | ||
+ | } | ||
+ | else echo '<p>'.$sError.'</p>'; | ||
+ | </code> | ||
+ | |||
+ | ===== Attributs ===== | ||
+ | |||
+ | ==== $sSrvHost ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : string | ||
+ | |||
+ | Adresse du serveur (DNS ou IP). | ||
+ | |||
+ | ==== $iSrvPort ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : integer | ||
+ | |||
+ | Port du serveur. | ||
+ | |||
+ | ==== $sInfoVersion ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : string | ||
+ | |||
+ | Version de Teeworlds exécutée. | ||
+ | |||
+ | ==== $sInfoName ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : string | ||
+ | |||
+ | Nom du serveur. | ||
+ | |||
+ | ==== $sInfoMap ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : string | ||
+ | |||
+ | Carte en cours. | ||
+ | |||
+ | ==== $sInfoGameType ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : string | ||
+ | * Valeurs possibles : 'DM', 'TDM', 'CTF' | ||
+ | |||
+ | Type de partie. | ||
+ | |||
+ | ==== $iInfosFlags ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : integer | ||
+ | |||
+ | :?: //Je n'ai pas encore bien compris la signification de cet attribut.// | ||
+ | |||
+ | ==== $iInfoProgression ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : integer | ||
+ | |||
+ | :?: //Je n'ai pas encore bien compris la signification de cet attribut.// | ||
+ | |||
+ | ==== $iInfoNumPlayers ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : integer | ||
+ | |||
+ | Nombre de joueurs connectés. | ||
+ | |||
+ | ==== $iInfoMaxPlayers ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : integer | ||
+ | |||
+ | Nombre de joueurs maximal. | ||
+ | |||
+ | ==== $aPlayers ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : array | ||
+ | |||
+ | Tableau des joueurs connectés. | ||
+ | |||
+ | ==== $iSockErrNo ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : integer | ||
+ | |||
+ | Numéro de l'erreur si l'ouverture de la socket échoue. | ||
+ | |||
+ | ==== $sSockErrStr ==== | ||
+ | |||
+ | * Accès : privé | ||
+ | * Type : string | ||
+ | |||
+ | Message d'erreur si l'ouverture de la socket échoue. | ||
+ | |||
+ | ===== Méthodes ===== | ||
+ | |||
+ | ==== __construct ==== | ||
+ | |||
+ | <code php>public function __construct( $sServerAddress, $iServerPort = 8303 )</code> | ||
+ | |||
+ | * Accès : public | ||
+ | * Paramètre : //string// **$sServerAddress** : Adresse du serveur (DNS ou IP) | ||
+ | * Paramètre : //integer// **$iServerPort** : Port du serveur (8303 par défaut) | ||
+ | |||
+ | ==== readSrvInfos ==== | ||
+ | |||
+ | <code php>public function readSrvInfos()</code> | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //string//, Message d'erreur ou chaîne vide. | ||
+ | |||
+ | Lire l'état du serveur. La méthode effectue la connexion au serveur et enregistre les informations lues dans les différents attributs de la classe. | ||
+ | |||
+ | En cas d'erreur, la chaîne retour de la méthode n'est pas vide et contient le message d'erreur. | ||
+ | |||
+ | La méthode peut échouer et ne pas renvoyer de message d'erreur. Dans ce cas, il convient d'analyser le contenu des attributs **$iSockErrNo** et **$sSockErrStr**. | ||
+ | |||
+ | ==== getVersion ==== | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //string// | ||
+ | |||
+ | Lire le numéro de version du serveur. | ||
+ | |||
+ | ==== getName ==== | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //string// | ||
+ | |||
+ | Lire le nom du serveur. | ||
+ | |||
+ | ==== getMap ==== | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //string// | ||
+ | |||
+ | Lire le nom de la carte en cours. | ||
+ | |||
+ | ==== getGameType ==== | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //string// | ||
+ | |||
+ | Lire le type de partie. | ||
+ | |||
+ | ==== getFlags ==== | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //integer// | ||
+ | |||
+ | Lire les drapeaux. | ||
+ | |||
+ | ==== getProgression ==== | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //integer// | ||
+ | |||
+ | Lire la progression. | ||
+ | |||
+ | ==== getNumPlayers ==== | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //integer// | ||
+ | |||
+ | Lire le nombre de joueurs connectés. | ||
+ | |||
+ | ==== getMaxPlayers ==== | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //integer// | ||
+ | |||
+ | Lire le nombre de joueurs autorisés. | ||
+ | |||
+ | ==== getPlayers ==== | ||
+ | |||
+ | * Accès : public | ||
+ | * Retour : //array// | ||
+ | |||
+ | Lire le tableau des utilisateurs. | ||
+ | |||
+ | Exemple : récupérer les infos du 4e utilisateur | ||
+ | |||
+ | <code php> | ||
+ | $aPlayers = $oSrv->getPlayers(); | ||
+ | echo $aPlayers[3]['name']; | ||
+ | echo $aPlayers[3]['score']; | ||
+ | </code> |