Query Source and GoldSource servers for name, map, players and more.
Project description
Python A2S
Library to query Source and GoldSource servers. Rewrite of the python-valve module.
Official demo application: Sourcequery
Requirements
Python >=3.6, no external dependencies
Install
pip3 install python-a2s
or python3 setup.py install
API
Functions
a2s.info(address, timeout=DEFAULT_TIMEOUT, encoding=DEFAULT_ENCODING)
a2s.players(address, timeout=DEFAULT_TIMEOUT, encoding=DEFAULT_ENCODING)
a2s.rules(address, timeout=DEFAULT_TIMEOUT, encoding=DEFAULT_ENCODING)
Parameters
- address:
Tuple[str, int]
- Address of the server. - timeout:
float
- Timeout in seconds. Default: 3.0 - encoding:
str
orNone
- String encoding, None disables string decoding. Default: utf-8
Return Values
- info: SourceInfo or GoldSrcInfo. They are documented in the source file.
- players: List of Player items. Also documented in the corresponding source file
- rules: Dictionary of key - value pairs.
Exceptions
a2s.BrokenMessageError(Exception)
- General decoding errora2s.BufferExhaustedError(BrokenMessageError)
- Response too shortsocket.timeout
- No responsesocket.gaierror
- Address resolution error
Examples
Example output shown may be shortened.
>>> import a2s
>>> address = ("stomping.kinofnemu.net", 27015)
>>> a2s.info(address)
SourceInfo(protocol=17, server_name=" 24/7 Dustbowl :: Nemu's Stomping Ground", map_name='cp_dustbowl',
folder='tf', game='Team Fortress', app_id=440, player_count=31, max_players=33, bot_count=21,
server_type='d', platform='l', password_protected=True, vac_enabled=True, version='5579073',
edf=177, port=27015, steam_id=85568392920040090, stv_port=None, stv_name=None,
keywords='brutus,celt,couch,cp,dustbowl,increased_maxplayers,nemu,nocrits,nodmgspread,pony,replays,vanilla',
game_id=440, ping=0.253798684978392)
>>> a2s.players(address)
[Player(index=0, name='Brutus', score=34, duration=836.4749145507812),
Player(index=0, name='RageQuit', score=6, duration=1080.8099365234375),
Player(index=0, name="Screamin' Eagles", score=1, duration=439.8598327636719)]
>>> a2s.rules(address)
{'coop': '0', 'deathmatch': '1', 'decalfrequency': '10', 'metamod_version': '1.10.7-devV',
'mp_allowNPCs': '1', 'mp_autocrosshair': '1', 'mp_autoteambalance': '0', 'mp_disable_respawn_times': '0',
'mp_fadetoblack': '0'}
Tested Games
Half-Life 2, Half-Life, Team Fortress 2, Counter-Strike: Global Offensive, Counter-Strike 1.6, ARK: Survival Evolved, Rust
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
python-a2s-1.1.4.tar.gz
(7.6 kB
view details)
Built Distribution
File details
Details for the file python-a2s-1.1.4.tar.gz
.
File metadata
- Download URL: python-a2s-1.1.4.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e57b086b665cacb3447d15681087c4f0ca23e0725cc4fa5d2ef829e2c191e31f |
|
MD5 | 663d943fe769343d72472f5ad5fc995a |
|
BLAKE2b-256 | 100d392f7dc638892acb96137001f5f29021d601953d475d0d85df10f69775a5 |
File details
Details for the file python_a2s-1.1.4-py3-none-any.whl
.
File metadata
- Download URL: python_a2s-1.1.4-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3121a1e7977bca9f2e51b88465cbaa5c29755526ba2b5a8541e1b1d64c9428f3 |
|
MD5 | e771c1e5c68a6c6de359025778414f9d |
|
BLAKE2b-256 | 90555e695302bccb5319c7069b7577dfbf7e32fcca3a7f358b0b8523b51a3bfa |