GTAOnline.net
Archives => Ancien posts/Poubelle => Posts et catégories archivées => Panel & Scripts Linux => Discussion démarrée par: MrFredo le 18 Septembre 2008, 23:27:28
-
Salut je cherche a recuperer les stats de mon serveur sa-mp pour m'en servir dans une page php
J'ai trouver quelque petit script php mais j'ai un gros probleme quand le serveur est OFF la page ou se situe le script charge indefiniment mais fonctione tres bien quand le serveur est ON
$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);
if (!$fp)
{
echo "Server Offline";
}
else
{
$packet = 'SAMP';
$packet .= chr(strtok($ip, '.'));
$packet .= chr(strtok('.'));
$packet .= chr(strtok('.'));
$packet .= chr(strtok('.'));
$packet .= chr($port & 0xFF);
$packet .= chr($port >> 8 & 0xFF);
fwrite($fp, $packet.'i');
fread($fp, 11);
$is_passworded = ord(fread($fp, 1));
$plr_count = ord(fread($fp, 2));
$max_plrs = ord(fread($fp, 2));
$strlen = ord(fread($fp, 4));
$hostname = fread($fp, $strlen);
$strlen = ord(fread($fp, 4));
$gamemode = fread($fp, $strlen);
$strlen = ord(fread($fp, 4));
$mapname = fread($fp, $strlen);
fwrite($fp, $packet.'c');
fread($fp, 11);
$plr_count = ord(fread($fp, 2));
fclose($fp);
}
vla le script que j'ai trouver
J'espere que vous pourer m'aider pck se script j'le comprend pas vraiment
-
Faut que toutes tes variables correspondent à quelque chose. Tu doit avoir un msql ou il y a t'es variables.
J'en sais pas plus moi je te parle pour les sites en Générale :)
-
Il y en avait un sur le forum SA:MP mais malheureusement je le retrouve plus :/
Il était fait par Peter.
-
Le code tel quel marche tres bien quand le serveur est on (il m'afiche corectement le nb de connecté ect) le probleme vient quand le serveur est off fsockopen ne retourne pas false alor qu'il le devrai normalement ... (fin je croit XD)
-
Met "error_reporting(0);" avant ton script, ceci l'empêchera de retourner des erreurs (assure toi qu'il n'y en a pas avant).
Et remplace "$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);" par "$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr, 2);"
2 étant le nombre secondes maximal de secondes pendant lequel le script attendra la réponse du serveur.
-
Marche tjr pas :s
-
C'est bon j'ai reussi ^^