dont even need a plugin
|
Originally Posted by [dp
Janson ]
but php works with sockets...sockets=>timeouts(sometimes) and i can't stand them xD And i can't find any GetServerRule in the search here there is just a setserverrule in YSF.... |
|
Originally Posted by [dp
Janson ]
okay...can you give me the code? would help me... |
function GetGTAServerStatus($image,$hostname=game_server_host,$port=game_server_port)
{
$realtimeout = ini_get("default_socket_timeout");
ini_set("default_socket_timeout","1");
if(!isset($image)) $image = 1;
if(!isset($hostname)) $fp = fsockopen("udp://".game_server_host, game_server_port, $errno, $errstr);
else if(isset($hostname) && !isset($port)) $fp = fsockopen("udp://".$hostname, 7777, $errno, $errstr);
else if(isset($hostname) && isset($port)) $fp = fsockopen("udp://".$hostname, $port, $errno, $errstr);
ini_set("default_socket_timeout",$realtimeout);
if($fp)
{
$packet = 'SAMP';
$packet .= chr(strtok($hostname, '.')).chr(strtok('.')).chr(strtok('.')).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);
fclose($fp);
if(strlen($hostname) > 0)
{
if($image) echo("<center><a href=\"status.php\"><img src=\"./images/serverup.png\" alt=\"The Game Server Is Up!\" border=\"0\"></a></center>");
return 1;
}
if(strlen($hostname) == 0)
{
if($image) echo("<center><img src=\"./images/serverdown.png\" alt=\"The Game Server Is Down!\"></center>");
return 0;
}
}
if($image) echo("<center><img src=\"./images/serverdown.png\" alt=\"The Game Server Is Down!\"></center>");
return 0;
}
define("game_server_host","Host");
define("game_server_port","Port");