protected function processStatus(Buffer $buffer)
    {

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

        // Always dedicated
        $result->add('dedicated', 1);

        // Pull out the server information
        $result->add('password', $buffer->readInt8());
        $result->add('num_players', $buffer->readInt16());
        $result->add('max_players', $buffer->readInt16());

        // These are read differently for these last 3
        $result->add('servername', utf8_encode($buffer->read($buffer->readInt32())));
        $result->add('gametype', $buffer->read($buffer->readInt32()));
        $result->add('language', $buffer->read($buffer->readInt32()));

        unset($buffer);

        return $result->fetch();
    }