Ford
(Ford Fokus)
21 Październik 2006 15:24
#1
Witam, mam problem, czy mógłby mi ktoś napisać takowy skrypt w php? Na php nie znam się w ogóle,chodzi o skrypt który w momencie gdy port 27015 jest zajęty (serv on) by wyświetlał Online, a gdy wolny (serv off) Offline. Wiem, że nie jest z tym dużo roboty, ale nie znalazłem podobnego skryptu na żadnej www, więc nie mam na czym się nawet wzorować, a od zera sam nie napiszę Dzięki.
Ewentualnie link do jakiegoś hack’a do IPB (2.1.7) który wyświetłał by to. Mają takie coś np. na http://www.gamecenter.pl
system
(system)
21 Październik 2006 17:16
#2
Ford
(Ford Fokus)
21 Październik 2006 17:26
#3
Dzięki ale jak to teraz zrobić, żeby działało? Bo…
Nook
(Skr3czu)
21 Październik 2006 17:31
#4
ale przeczytaj ten cały temat to bedziesz wiedział o co chodzi:
http://forum.php.pl/index.php?showtopic=23051
system
(system)
21 Październik 2006 17:34
#5
Przykładowy kod:
<?php
// tu zaczyna się określanie funkcji itepe
function RetriveInfo ( $strServerIP = '127.0.0.1', $intServerPort = 27015 )
{
$connection = fsockopen( "udp://" . $strServerIP, $intServerPort );
fwrite( $connection, sprintf( '%c%c%c%c%s%c', 0xFF, 0xFF, 0xFF, 0xFF, "infostring", 0x00 ) );
fread( $connection, 24 );
$status = socket_get_status( $connection );
if ( $status["unread_bytes"] != 0 )
{
$return = "";
while ( $status["unread_bytes"] != 0 )
{
$return .= fread( $connection, 1 );
$status = socket_get_status( $connection );
}
$return = explode( '\\', $return );
$arr = array();
$arr['ip'] = $intServerIP;
$arr['port'] = $intServerPort;
$arr['hostname'] = $return[19];
$arr['game'] = $return[17];
$arr['players'] = $return[5];
$arr['maxplayers'] = $return[11];
$arr['system'] = ( $return[25] == "w" ) ? "Windows" : "Linux";
$arr['game_dir'] = $return[15];
$arr['map'] = $return[21];
$arr['password'] = ( $return[25] == "0" ) ? false : true;
$arr['secure'] = $return[29];
return $arr;
}
else
{
// blad?
return $arr;
}
}
//a poniżej kod wyświetlający
print_r( RetriveInfo( 'xxx', yyy ) );
?>
Na samym końcu kodu zmień xxx na IP serwera, a yyy - na port.
Ford
(Ford Fokus)
21 Październik 2006 17:41
#6
Warning: fsockopen() has been disabled for security reasons in /var/www/virtual/ford.byethost6.com/htdocs/stan.php on line 12
system
(system)
21 Październik 2006 17:46
#7
Wygląda na to, że Twój serwer nie obsługuje tej komendy, tzn. została zablokowana przez administratora.
Nook
(Skr3czu)
21 Październik 2006 17:47
#8
Musisz dać na inny serwer
Ford
(Ford Fokus)
21 Październik 2006 18:20
#9
Nie dział no trudno… Ale może zna ktoś link do tego hacka pod IPB?