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:
strorNone- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|