Im getting this output with this this code combined with yours.
PHP Code:
Array ( [hostname] => [version] => [tcp/ip] => [map] => [maxplayers] => [Players] => Array ( ) )
Php code.
PHP Code:
<?php
require 'SourceQuery.class.php';
$Query = new SourceQuery( );
try
{
$Query->Connect( 'SERVER IP', 27015 );
$Query->SetRconPassword( 'rcon password' );
$StatusString = $Query->Rcon( 'status' );
function parse_hlds_status($StatusString)
{
// parse everything up to the player list
$StatusArray = preg_split("/(\r\n|\n|\r)/", $StatusString);
$out['hostname'] = array_shift($StatusArray);
$out['version'] = array_shift($StatusArray);
$out['tcp/ip'] = array_shift($StatusArray);
$out['map'] = array_shift($StatusArray);
$out['maxplayers'] = array_shift($StatusArray);
array_shift($StatusArray); // Get rid of blank line
// Parse player list
$PlayerListString = $StatusArray; // Including header row
array_pop($PlayerListString);
// Parse headers
$header = str_getcsv(array_shift($PlayerListString), $delimiter = " ");
// Parse players
$PlayerList = array_map('parse_player_line', $PlayerListString);
array_walk($PlayerList, '_combine_array', $header);
$out['Players'] = $PlayerList;
return $out;
}
// Define private functions
function _combine_array(&$row, $key, $header)
{
$row = array_combine($header, $row);
}
function parse_player_line($string)
{
$temp = str_getcsv($string, $delimiter = " ");
array_shift($temp);
return $temp;
}
print_r(parse_hlds_status($YourStatusString));
$Query->Disconnect( );
}
catch( SQueryException $e )
{
$Query->Disconnect( );
}
echo '';
?>