Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
classes:teeworldssrv [2009/04/03 15:50] – Corrections tabulations samray1024classes:teeworldssrv [2024/10/03 07:26] (Version actuelle) – modification externe 127.0.0.1
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>