Skip to main content

A2SQuery is a python implementation of Valve's A2S protocol

Project description

A2SQuery A2SQuery Documentation Status

A2SQuery is a python implementation of Valve's A2S protocol.

Docs

View the full A2SQuery documentation here.

Features

A2SQuery can retrieve various information from any game server that implements the protocol. This includes all Source and GoldSource games. The library will handle connecting, parsing, and even automatically respond to challenge requests.

A2SQuery does not support multi-packet responses as they are impossible parse without knowing information about the server beforehand.

Prerequisites

  • Python >= 3.6

Installation

Install the library via pypi with

pip install a2squery

Getting Started

To start querying servers, we'll need an instance of a2squery.A2SQuery. We can either create one manually, or use a context manager. For this example, we will be using a context manager.

    >>> from a2squery import A2SQuery

    >>> with A2SQuery("127.0.0.1", 27015) as a2s:

Now, with the A2SQuery instance, we can query the game server.

When using a2squery.A2SQuery without a context manager. Remember to call a2squery.A2SQuery.close() when finished.

    >>> from a2squery import A2SQuery

    >>> with A2SQuery("127.0.0.1", 27015) as a2s:
    >>>     print(a2s.info())

    SourceInfo(
        protocol=17, name="Awp Bhop", map="awp_iceworld",
        folder="csgo", game="Counter-Strike: Global Offensive",
        app_id=730, players=43, max_players=64, bots=0,
        server_type=ServerType.Dedicated, environment=Environment.Linux,
        password=False, vac=True, version="1.38.4.4", extra_data_flag=177,
        mode=None, witnesses=None, duration=None,
        port=27015, steam_id=85568392924437989, spectator_port=None,
        spectator_name=None, keywords="awp,bhop,a2squeryiscool", game_id=730
    )

Supported Games

App ID Game Notes
... All Half-Life/Half-Life 2 mods and games
10 Counter-Strike 1.6
440 Team Fortress 2
550 Left For Dead 2
730 Counter-Strike: Global Offensive
1002 Rag Doll Kung Fu
2400 The Ship: Murder Party This game has various unique fields on a2squery.SourceInfo and a2squery.Player.
4000 Garry's Mod
17710 Nuclear Dawn
70000 Dino D-Day
107410 Arma 3 The query port is the server port + 1.
115300 Call of Duty: Modern Warfare 3
211820 Starbound
244850 Space Engineers The query port is the server port + 1.
304930 Unturned The query port is the server port + 1.
251570 7 Days To Die
252490 Rust
282440 Quake Live
346110 ARK: Survival Evolved
108600 Project: Zomboid

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

a2squery-0.0.2.tar.gz (10.5 kB view hashes)

Uploaded Source

Built Distribution

a2squery-0.0.2-py3-none-any.whl (10.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page