mesta | Bonjour,
Après avoir cherché sur google, je n'ai rien trouvé concernant mon problème ..
Je viens d'installer la dernière version d'Easyphp pour tester un script query server :
Code :
- <?php
- // Constant
- define('PACKET_SIZE', '1400');
- define('SERVERQUERY_INFO', "\xFF\xFF\xFF\xFFTSource Engine Query" );
- define ('REPLY_INFO', "\x49" );
- // Ip address and port
- $_ip = '77.111.198.235';
- $_port = '27015';
- // Open connection with server
- $socket = stream_socket_client('udp://'.$_ip.':'.$_port, $errno, $errstr, 30);
- // Send command to server
- $cmd = SERVERQUERY_INFO;
- $length = strlen($cmd);
- fwrite($socket, $cmd, $length);
- // Get response from server
- $response = fread($socket, PACKET_SIZE);
- // Clean response
- $pattern = "#\xFF\xFF\xFF\xFF".REPLY_INFO."#";
- $response = preg_replace($pattern, '', $response);
- //echo $response;
- //Version - byte (Network version. 0x07 is the current Steam version.)
- $server['version'] = getbyte($response);
- // Ip and port
- $server['ip'] = $_ip;
- $server['port'] = $_port;
- //Server Name - string (The Source server's name, eg: "Recoil NZ CS Server #1" )
- $server['name'] = trim(getString($response));
- //Map - string (The current map being played, eg: "de_dust" )
- $server['map'] = getString($response);
- //Game Directory - string (The name of the folder containing the game files, eg: "cstrike" )
- $server['gamedir'] = getString($response);
- //Game Description- string (A friendly string name for the game type, eg: "Counter-Strike: Source" )
- $server['gamedesc'] = getString($response);
- //AppID - short (Steam Application ID)
- $server['appid'] = getShortSigned($response);
- //Number of players - byte (The number of players currently on the server)
- $server['numplayers'] = getByte($response);
- //Maximum players - byte (Maximum allowed players for the server)
- $server['maxplayers'] = getByte($response);
- //Number of bots - byte (Number of bot players currently on the server)
- $server['bot'] = getByte($response);
- //Dedicated - byte ('l' for listen, 'd' for dedicated, 'p' for SourceTV)
- $data = chr(getByte($response));
- $server['dedicated'] = 0;
- $server['sourcetv'] = 0;
- $server['listen'] = 0;
- if ($data == 'd') $server['dedicated'] = 1;
- if ($data == 'p') $server['sourcetv'] = 1;
- if ($data == 'l') $server['listen'] = 1;
- //OS - byte (Host operating system. 'l' for Linux, 'w' for Windows)
- $data = chr(getByte($response));
- $server['os'] = 'undefined';
- if ($data == 'l')
- {
- $server['os'] = 'linux';
- }
- elseif ($data == 'w')
- {
- $server['os'] = 'windows';
- }
- //Password - byte (If set to 0x01, a password is required to join this server)
- $data = getByte($response);
- $server['password'] = 0;
- if ($data == 1)
- {
- $server['password'] = 1;
- }
- //Secure - byte (if set to 0x01, this server is VAC secured)
- $data = getByte($response);
- $server['secure'] = 1;
- if ($data == 1)
- {
- $server['secure'] = 1;
- }
- //Game Version - string (The version of the game, eg: "1.0.0.22" )
- $server['gameversion'] = getString($response);
- ?>
|
Seulement j'obtiens cette erreur :
Code :
- Fatal error: Call to undefined function getbyte() in C:\Program Files\EasyPHP 3.0\www\index2.php on line 32
|
Apparement les fonctions getString, getShortSigned ne fonctionnent pas non plus.
Auriez quelques infos a me fournir concernant mon problème ?!
Merci d'avance. |