Python-valve запрашивая пар для неофициальных серверов

Я установил немного кода, используя библиотеку python-valve, чтобы найти серверы ark и их данные в Steam.

У меня вопрос, как я могу найти неофициальные серверы?

Текущий код, который я использую, чтобы найти все серверы в Европе, выглядит следующим образом:

import logging

from gevent.pool import Pool
from valve.source.master_server import MasterServerQuerier
from valve.source.a2s import ServerQuerier, NoResponseError
from valve.source.messages import BrokenMessageError

MASTER_HOST = 'hl2master.steampowered.com'
MASTER_TIMEOUT = 60
SERVER_TIMEOUT = 5


pool = Pool(size=50)


def get_server_stats(address):
    server = ServerQuerier(address, timeout=SERVER_TIMEOUT)
    try:
        info = server.info()

        logging.info(u'Updated {0}:{1} █ {player_count}/{max_players} █  {server_name} █ {map} █ {server_type}'.format(
            address[0], address[1], **info)
        )
        return True
    except (NotImplementedError, NoResponseError, BrokenMessageError):
        pass


def find_servers():
    count = 0
    greenlets = []
    master = MasterServerQuerier(
        address=(MASTER_HOST, 27011), timeout=MASTER_TIMEOUT
    )
    try:
        for address in master.find(region='eu',
                                gamedir=u"ark_survival_evolved"):
            greenlets.append(pool.spawn(get_server_stats, address))
            count += 1
    except NoResponseError as e:
        # Protocol is UDP so there's no "end"
        if u'Timed out' not in e.message:
            logging.warning('Error querying master server: {0}'.format(e))
    finally:
        logging.info('Found {0} addresses'.format(count))
        return greenlets


if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO)

    results = find_servers()

    logging.info('Counting results...')
    results = [result.get() for result in results]

    logging.info('Collected {0}'.format(len(results)))

1 ответ

Видимо, изменение региона на rest делает работу

for address in master.find(region='rest',
                                gamedir=u"ark_survival_evolved"):
Другие вопросы по тегам