Autor Tema: SAMP Server STAT  (Leído 1055 veces)

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
SAMP Server STAT
« en: 03 de Septiembre de 2008, 16:06:37 pm »
Script creado parcialmente por mi  :)
Este script muestra las estadisticas de tu servidor (mapa, gamemode,numero de jugadores, si esta protegido con contraseña, etc...)
Modo de empleo:
Editar en el archivo "samp.php" la ip y el puerto de tu servidor, luego pon este codigo html en tu web:
Código: [Seleccionar]
<img src='samp.php'>

Archivos del script:
pass.gif -
Descargar
on.gif -
Descargar
off.gif
Descargar
images/1.png - Descargar

samp.php
Código: [Seleccionar]
<?
header("Content-type: image/png");
$ip = "85.17.6.58";
$port = "7777";
$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr,3) or $this->erro($errstr,__LINE__,__FILE__,$errno);
                                       $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);
/////////////
$set = 'test';
$set = file_get_contents('settings/' . $set . '.ini');
$ipcat1 = explode('[IP]', $set);
$ipcat2 = explode('[/IP]', $ipcat1[1]);
$ipcat = $ipcat2[0];
$ipx1 = explode('x=', $ipcat);
$ipx2 = explode(';', $ipx1[1]);
$ipx = $ipx2[0];
$ipy1 = explode('y=', $ipcat);
$ipy2 = explode(';', $ipy1[1]);
$ipy = $ipy2[0];
//
$hostcat1 = explode('[HOSTNAME]', $set);
$hostcat2 = explode('[/HOSTNAME]', $hostcat1[1]);
$hostcat = $hostcat2[0];
$hostx1 = explode('x=', $hostcat);
$hostx2 = explode(';', $hostx1[1]);
$hostx = $hostx2[0];
$hosty1 = explode('y=', $hostcat);
$hosty2 = explode(';', $hosty1[1]);
$hosty = $hosty2[0];
//
$gm1 = explode('[GAMEMODE]', $set);
$gm2 = explode('[/GAMEMODE]', $gm1[1]);
$gm = $gm2[0];
$gmx1 = explode('x=', $gm);
$gmx2 = explode(';', $gmx1[1]);
$gmx = $gmx2[0];
$gmy1 = explode('y=', $gm);
$gmy2 = explode(';', $gmy1[1]);
$gmy = $gmy2[0];
//
$mp1 = explode('[MAPNAME]', $set);
$mp2 = explode('[/MAPNAME]', $mp1[1]);
$mp = $mp2[0];
$mpx1 = explode('x=', $mp);
$mpx2 = explode(';', $mpx1[1]);
$mpx = $mpx2[0];
$mpy1 = explode('y=', $mp);
$mpy2 = explode(';', $mpy1[1]);
$mpy = $mpy2[0];
//
$pl1 = explode('[PLS]', $set);
$pl2 = explode('[/PLS]', $pl1[1]);
$pl = $pl2[0];
$plx1 = explode('x=', $pl);
$plx2 = explode(';', $plx1[1]);
$plx = $plx2[0];
$ply1 = explode('y=', $pl);
$ply2 = explode(';', $ply1[1]);
$ply = $ply2[0];
//
$color1 = explode('COLOR=', $set);
$color2 = explode(';', $color1[1]);
$color = $color2[0];
//
$img1 = explode('IMG=', $set);
$img2 = explode(';', $img1[1]);
$img = $img2[0];
//
$passcat1 = explode('[PASS]', $set);
$passcat2 = explode('[/PASS]', $passcat1[1]);
$passcat = $passcat2[0];
$passx1 = explode('x=', $passcat);
$passx2 = explode(';', $passx1[1]);
$passx = $passx2[0];
$passy1 = explode('y=', $passcat);
$passy2 = explode(';', $passy1[1]);
$passy = $passy2[0];
////////////
$passimgcat1 = explode('[PASSIMG]', $set);
$passimgcat2 = explode('[/PASSIMG]', $passimgcat1[1]);
$passimgcat = $passimgcat2[0];
$passimgx1 = explode('x=', $passimgcat);
$passimgx2 = explode(';', $passimgx1[1]);
$passimgx = $passimgx2[0];
$passimgy1 = explode('y=', $passimgcat);
$passimgy2 = explode(';', $passimgy1[1]);
$passimgy = $passimgy2[0];
///
$statimgcat1 = explode('[STATIMG]', $set);
$statimgcat2 = explode('[/STATIMG]', $statimgcat1[1]);
$statimgcat = $statimgcat2[0];
$statimgx1 = explode('x=', $statimgcat);
$statimgx2 = explode(';', $statimgx1[1]);
$statimgx = $statimgx2[0];
$statimgy1 = explode('y=', $statimgcat);
$statimgy2 = explode(';', $statimgy1[1]);
$statimgy = $statimgy2[0];
///


$im = imagecreatefrompng($img);
$pass = imagecreatefromgif('pass.gif');
$color = sscanf($color, '#%2x%2x%2x');
$blanco = imagecolorallocate($im, $color[0], $color[1], $color[2]);
imagettftext($im, 12, 0, $ipx, $ipy, $blanco, 'font.ttf', 'IP/PORT:  ' . $ip . ':' . $port);
imagettftext($im, 8, 0, $hostx, $hosty, $blanco, 'font.ttf', $hostname);
imagettftext($im, 8, 0, $gmx, $gmy, $blanco, 'font.ttf', $gamemode);
imagettftext($im, 8, 0, $mpx, $mpy, $blanco, 'font.ttf', $mapname);
imagettftext($im, 8, 0, $plx, $ply, $blanco, 'font.ttf', $plr_count . '/' . $max_plrs);
if ($plr_count == "$max_plrs" OR $plr_count>$max_plrs) {
$stat = 'off';
} else {
$stat = 'on';
}
$stat = imagecreatefromgif($stat . '.gif');
imagecopymerge($im, $stat, $statimgx, $statimgy, 0, 0, 12, 12, 100);
if ($is_passworded == '1') {
imagettftext($im, 8, 0, $passx, $passy, $blanco, 'font.ttf', 'Passworded');
imagecopymerge($im, $pass, $passimgx, $passimgy, 0, 0, 16, 16, 100);
}
imagepng($im);
imagedestroy($im);
?>
font.ttf Descargar
settings/test.ini
Código: [Seleccionar]
[IP]
x=150;
y=112;
[/IP]
[HOSTNAME]
x=86;
y=38;
[/HOSTNAME]
[GAMEMODE]
x=79;
y=62;
[/GAMEMODE]
[MAPNAME]
x=47;
y=84;
[/MAPNAME]
[PLS]
x=60;
y=108;
[/PLS]
[PASS]
x=4;
y=17;
[/PASS]
[PASSIMG]
x=63;
x=3;
[/PASSIMG]
[STATIMG]
x=100;
y=98;
[/STATIMG]
COLOR=#000000;
IMG=images/1.png;

Para que no surgan problemas, aqui les el codigo original que modifique:
http://www.phpclasses.org/browse/file/19274.html

Saludos!
« Última modificación: 03 de Septiembre de 2008, 16:30:57 pm por kekoman »


Este usuario ya no lo uso, mi nuevo usuario es marco811

Comunidad PHPeros

SAMP Server STAT
« en: 03 de Septiembre de 2008, 16:06:37 pm »