Skip to main content

An async rcon protocol for video games.

Project description

gamercon-async

gamercon-async is an asynchronous Python rcon client tailored for managing and interacting with game servers such as Minecraft, Ark, and Palworld. This tool provides developers and server administrators with a powerful, non-blocking way to execute commands and handle server communications effectively.

Version

v1.0.7

Protocols

  • GameRCON: This feature offers an asynchronous RCON protocol designed to connect to multiple servers simultaneously, enhancing the ability to manage and interact with game servers efficiently.
  • EvrimaRCON: Specifically tailored for The Isle: Evrima, EvrimaRCON is an asynchronous RCON protocol that provides specialized support for the unique needs of this game, facilitating better server management and player interaction.
  • GameRCONBase64: An advanced version of the GameRCON feature, GameRCONBase64 employs an asynchronous Base64-encoded RCON protocol. This allows for secure and efficient connections to any number of servers, ensuring a robust method for server management and communication.

Supported Games

  • Minecraft
  • Source Engine Games
  • Palworld
  • Path of Titans
  • Ark: Survival Evolved
  • Ark: Survival Ascended
  • The Isle: Evrima
  • Source Engine Games

Mostly any game that supports source rcon will work with this protocol.

Installation

Install gamercon-async using pip:

pip install gamercon-async

Requirements

  • Python 3.11+

Usage

Quick example on how to use source games.

import asyncio
from gamercon_async import GameRCON

async def main():
   client = GameRCON('host', 'port', 'password', timeout=10)
   async with client as pot_client:
       response = await pot_client.send('your_command')
       print(response)

asyncio.run(main())

Replace host, port, and password with your actual credentials and 'your_command' with the command you want to send.

Example with The Isle: Evrima

import asyncio
from gamercon_async import EvrimaRCON

async def main():
   rcon = EvrimaRCON('host', port, 'password')
   await rcon.connect()
   
   save_response = await rcon.send_command(bytes('\x02', 'utf-8') + bytes('\x50', 'utf-8') + bytes('\x00', 'utf-8'))
   print(f"Save Server Response: {save_response}")
   
   announcement = "Hello, world!"
   announce_response = await rcon.send_command(bytes('\x02', 'utf-8') + bytes('\x10', 'utf-8') + announcement.encode() + bytes('\x00', 'utf-8'))
   print(f"Announcement Response: {announce_response}")

asyncio.run(main())

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

gamercon_async-1.0.7.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

gamercon_async-1.0.7-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file gamercon_async-1.0.7.tar.gz.

File metadata

  • Download URL: gamercon_async-1.0.7.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for gamercon_async-1.0.7.tar.gz
Algorithm Hash digest
SHA256 efa6d59dbaec6d5235b073a018dec0f2255fef019d3c0e2dda8a926a3ffb96f5
MD5 274fab75c35b903e327649da249dcc39
BLAKE2b-256 40a5a7cb76a758b7698a79a2bfcca0bff9715aab4582b97ae19478f32fbae6d4

See more details on using hashes here.

File details

Details for the file gamercon_async-1.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for gamercon_async-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a2694f0f4b8310cee3783d8d9b33c6e00a93efa8d563a4d18991cb69391ee15d
MD5 76aca5b46434af2acaad127c4ecd319a
BLAKE2b-256 02d3171d326c33d8800ca23794f6fd994fb90ba06e1f344431c48fc69b0a68ae

See more details on using hashes here.

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