protected function processDetails(Buffer $buffer)
    {

        // Decode into items
        $items = $this->decode($buffer);

        // Set the result to a new result instance
        $result = new Result();

        // Server is always dedicated
        $result->add('dedicated', 1);

        // These are the same no matter what mode the server is in
        $result->add('hostname', $items[1]);
        $result->add('num_players', (int)$items[2]);
        $result->add('max_players', (int)$items[3]);
        $result->add('gametype', $items[4]);
        $result->add('map', $items[5]);
        $result->add('roundsplayed', (int)$items[6]);
        $result->add('roundstotal', (int)$items[7]);
        $result->add('num_teams', (int)$items[8]);

        // Set the current index
        $index_current = 9;

        // Pull the team count
        $teamCount = $result->get('num_teams');

        // Loop for the number of teams found, increment along the way
        for ($id = 1; $id <= $teamCount; $id++, $index_current++) {
            // Shows the tickets
            $result->addTeam('tickets', $items[$index_current]);
            // We add an id so we know which team this is
            $result->addTeam('id', $id);
        }

        // Get and set the rest of the data points.
        $result->add('targetscore', (int)$items[$index_current]);
        $result->add('online', 1); // Forced true, it seems $words[$index_current + 1] is always empty
        $result->add('ranked', (int)$items[$index_current + 2]);
        $result->add('punkbuster', (int)$items[$index_current + 3]);
        $result->add('password', (int)$items[$index_current + 4]);
        $result->add('uptime', (int)$items[$index_current + 5]);
        $result->add('roundtime', (int)$items[$index_current + 6]);
        // Added in R9
        $result->add('ip_port', $items[$index_current + 7]);
        $result->add('punkbuster_version', $items[$index_current + 8]);
        $result->add('join_queue', (int)$items[$index_current + 9]);
        $result->add('region', $items[$index_current + 10]);
        $result->add('pingsite', $items[$index_current + 11]);
        $result->add('country', $items[$index_current + 12]);
        // Added in R29, No docs as of yet
        $result->add('quickmatch', (int)$items[$index_current + 13]); // Guessed from research

        unset($items, $index_current, $teamCount, $buffer);

        return $result->fetch();
    }
protected function processDetails(Buffer $buffer)
    {

        // Decode into items
        $items = $this->decode($buffer);

        // Set the result to a new result instance
        $result = new Result();

        // Server is always dedicated
        $result->add('dedicated', 1);

        // These are the same no matter what mode the server is in
        $result->add('hostname', $items[1]);
        $result->add('num_players', (int)$items[2]);
        $result->add('max_players', (int)$items[3]);
        $result->add('gametype', $items[4]);
        $result->add('map', $items[5]);
        $result->add('roundsplayed', (int)$items[6]);
        $result->add('roundstotal', (int)$items[7]);
        $result->add('num_teams', (int)$items[8]);

        // Set the current index
        $index_current = 9;

        // Pull the team count
        $teamCount = $result->get('num_teams');

        // Loop for the number of teams found, increment along the way
        for ($id = 1; $id <= $teamCount; $id++, $index_current++) {
            // Shows the tickets
            $result->addTeam('tickets', $items[$index_current]);
            // We add an id so we know which team this is
            $result->addTeam('id', $id);
        }

        // Get and set the rest of the data points.
        $result->add('targetscore', (int)$items[$index_current]);
        $result->add('online', 1); // Forced true, it seems $words[$index_current + 1] is always empty
        $result->add('ranked', (int)$items[$index_current + 2]);
        $result->add('punkbuster', (int)$items[$index_current + 3]);
        $result->add('password', (int)$items[$index_current + 4]);
        $result->add('uptime', (int)$items[$index_current + 5]);
        $result->add('roundtime', (int)$items[$index_current + 6]);
        // Added in R9
        $result->add('ip_port', $items[$index_current + 7]);
        $result->add('punkbuster_version', $items[$index_current + 8]);
        $result->add('join_queue', (int)$items[$index_current + 9]);
        $result->add('region', $items[$index_current + 10]);
        $result->add('pingsite', $items[$index_current + 11]);
        $result->add('country', $items[$index_current + 12]);
        // Added in R29, No docs as of yet
        $result->add('quickmatch', (int)$items[$index_current + 13]); // Guessed from research

        unset($items, $index_current, $teamCount, $buffer);

        return $result->fetch();
    }
protected function processDetails ( Buffer $ buffer ) { // Decode into items $ items = $ this -> decode ( $ buffer ) ; // Set the result to a new result instance $ result = new Result ( ) ; // Server is always dedicated $ result -> add ( 'dedicated' , 1 ) ; // These are the same no matter what mode the server is in $ result -> add ( 'hostname' , $ items [ 1 ] ) ; $ result -> add ( 'num_players' , ( int ) $ items [ 2 ] ) ; $ result -> add ( 'max_players' , ( int ) $ items [ 3 ] ) ; $ result -> add ( 'gametype' , $ items [ 4 ] ) ; $ result -> add ( 'map' , $ items [ 5 ] ) ; $ result -> add ( 'roundsplayed' , ( int ) $ items [ 6 ] ) ; $ result -> add ( 'roundstotal' , ( int ) $ items [ 7 ] ) ; $ result -> add ( 'num_teams' , ( int ) $ items [ 8 ] ) ; // Set the current index $ index_current = 9 ; // Pull the team count $ teamCount = $ result -> get ( 'num_teams' ) ; // Loop for the number of teams found, increment along the way for ( $ id = 1 ; $ id <= $ teamCount ; $ id ++ , $ index_current ++ ) { // Shows the tickets $ result -> addTeam ( 'tickets' , $ items [ $ index_current ] ) ; // We add an id so we know which team this is $ result -> addTeam ( 'id' , $ id ) ; } // Get and set the rest of the data points. $ result -> add ( 'targetscore' , ( int ) $ items [ $ index_current ] ) ; $ result -> add ( 'online' , 1 ) ; // Forced true, it seems $words[$index_current + 1] is always empty $ result -> add ( 'ranked' , ( int ) $ items [ $ index_current + 2 ] ) ; $ result -> add ( 'punkbuster' , ( int ) $ items [ $ index_current + 3 ] ) ; $ result -> add ( 'password' , ( int ) $ items [ $ index_current + 4 ] ) ; $ result -> add ( 'uptime' , ( int ) $ items [ $ index_current + 5 ] ) ; $ result -> add ( 'roundtime' , ( int ) $ items [ $ index_current + 6 ] ) ; // Added in R9 $ result -> add ( 'ip_port' , $ items [ $ index_current + 7 ] ) ; $ result -> add ( 'punkbuster_version' , $ items [ $ index_current + 8 ] ) ; $ result -> add ( 'join_queue' , ( int ) $ items [ $ index_current + 9 ] ) ; $ result -> add ( 'region' , $ items [ $ index_current + 10 ] ) ; $ result -> add ( 'pingsite' , $ items [ $ index_current + 11 ] ) ; $ result -> add ( 'country' , $ items [ $ index_current + 12 ] ) ; // Added in R29, No docs as of yet $ result -> add ( 'quickmatch' , ( int ) $ items [ $ index_current + 13 ] ) ; // Guessed from research unset ( $ items , $ index_current , $ teamCount , $ buffer ) ; return $ result -> fetch ( ) ; }
Process the server details

@param \GameQ\Buffer $buffer

@return array
Process the server details