Classe TeeworldsSrv
Cette classe fournit les méthodes nécessaires pour lire les informations d'un serveur Teeworlds.
Le code de cette classe est une adaptation d'un script Python écrit par l'équipe de développement de 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 '<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>';
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'];