View Single Post
4ever16
Veteran Member
Join Date: Apr 2015
Old 02-14-2020 , 07:29   Re: Get players and steam id with php rcon
Reply With Quote #9

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 
'';
?>
4ever16 is offline