====== 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 : $oTwSrv = new TeeworldsSrv( 'ip du serveur', 8303 ); $sError = $oTwSrv->readSrvInfos(); if( empty($sError) ) { echo '
';
	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 '
'; } else echo '

'.$sError.'

';
===== 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 ==== public function __construct( $sServerAddress, $iServerPort = 8303 ) * 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 ==== public function readSrvInfos() * 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 $aPlayers = $oSrv->getPlayers(); echo $aPlayers[3]['name']; echo $aPlayers[3]['score'];