Skip to main content

An async Quake 3 RCON implementation with a CLI

Project description

aio-q3-rcon PYPI Version CI

An async Quake 3 RCON implementation for Python

Installation

pip install aio-q3-rcon

or with the cli extra

pip install aio-q3-rcon[cli]

CLI Usage

Usage: q3rcon [OPTIONS] ADDRESS PASSWORD

Options:
  -p, --port INTEGER RANGE        [1<=x<=65535]
  --timeout FLOAT RANGE           [x>=0.01]
  --fragment-read-timeout, --fr-timeout FLOAT RANGE
                                  [x>=0.01]
  --retries INTEGER RANGE         [x>=1]
  --debug
  --help                          Show this message and exit.

API Reference

Examples Folder

class Client(host: str, port: int, timeout: float, fragment_read_timeout: float, retries: int, logger: Logger | None)

  • Parameters:
    • host: str - the host / IP / domain of the server to connect to
    • port: port - the port of the server to connect to
      • default value is 27960
    • timeout: float - the timeout for network operations
      • default value is 2.0
      • for network operations with retries, the timeout applies to the rewrite attempts as a whole, rather than being per retry
    • fragment_read_timeout: float - the timeout for waiting on potentially fragmented responses
      • default value is .25
      • the Quake 3 server can sometimes send fragmented responses, since there is no consistent way to tell if a response is fragmented or not, the best solution is to wait for fragmented responses from the server whether they exist or not. This value is the timeout for waiting for those responses.
    • retries: int - the amount of retries per network operation
      • default value is 2
      • all network operations except for reads are wrapped in retry logic
    • logger: Logger | None - the logger instance
      • default value is None
      • if there is no logger specified, a logger that has disabled set to True will be used instead
      • currently only some debug information is logged
  • Methods:
    • connect(verify: bool = True) -> None
      • connects to the server
      • if verify is True, then the heartbeat RCON command is sent and the password is checked as well
      • if Client is being used as a context manager, this will be called automatically upon enter
    • close() -> None
      • closes the connection to the server
      • if Client is being used as a context manager, this will be called automatically upon exit

exception RCONError

  • Base exception all aio-q3-rcon errors derive from

exception IncorrectPasswordError

  • Raised when the provided password is incorrect

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

aio_q3_rcon-1.0.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aio_q3_rcon-1.0.1-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file aio_q3_rcon-1.0.1.tar.gz.

File metadata

  • Download URL: aio_q3_rcon-1.0.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.7 Darwin/25.3.0

File hashes

Hashes for aio_q3_rcon-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c6f9fcfa1c2504f0b2fb83454eeab2cca7b9102772e68a0482ad7ef5d613cc37
MD5 acddbb4ba753063ef8c612ce81788c8b
BLAKE2b-256 59968c3b1e62973770ded642404b1091bce4e04afa366d7b78d3ac2bd6f2881b

See more details on using hashes here.

File details

Details for the file aio_q3_rcon-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: aio_q3_rcon-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.7 Darwin/25.3.0

File hashes

Hashes for aio_q3_rcon-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d7fdfb0f3cdb437a692b121c7c21cdc7cdda74df3dcc1e2b58e6d46b0a13d8ae
MD5 8b15e9602b961e2b0c0706916a8e37ee
BLAKE2b-256 c22c7c94efe13160ea820b88dd437c51cf192e4b3eac97e87100fa862d47535d

See more details on using hashes here.

Supported by

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