Skrypt na pokazywanie statusu serwera CS

Witam, mam problem, czy mógłby mi ktoś napisać takowy skrypt w php? :slight_smile: 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ę :slight_smile: 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

Pierwszy wynik z google:

:arrow: http://forum.php.pl/lofiversion/index.php/t23051.html

:slight_smile:

Dzięki ale jak to teraz zrobić, żeby działało? Bo…

ale przeczytaj ten cały temat to bedziesz wiedział o co chodzi:

http://forum.php.pl/index.php?showtopic=23051

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. :slight_smile:

Warning: fsockopen() has been disabled for security reasons in /var/www/virtual/ford.byethost6.com/htdocs/stan.php on line 12

:frowning:

Wygląda na to, że Twój serwer nie obsługuje tej komendy, tzn. została zablokowana przez administratora.

Musisz dać na inny serwer

Nie dział no trudno… Ale może zna ktoś link do tego hacka pod IPB?