Skip to content

Cheaterman/samp-query

Repository files navigation

samp-query

CI

samp-query logo

samp-query is a Python library for interacting with SA-MP/open.mp servers using the query protocol. It provides functionality to query server information, retrieve player list, show rules, and execute remote console (RCON) commands.

Installation

To install the library, you can use pip:

pip install samp-query

Features

  • Connect to a game server using IP address and port.
  • Retrieve server information including name, player count, maximum players, gamemode, and language.
  • Get a list of players currently on the server with their name and score.
  • Fetch a list of rules and their values set on the server.
  • Execute RCON commands on the server (requires RCON password).

Usage

Here's a basic example of how to use the library:

import trio
from samp_query import Client


async def main():
    client = Client(
        ip='127.0.0.1',
        port=7777,
        rcon_password=None,  # Your rcon password as string
    )

    info = await client.info()
    print(f'Server Name: {info.name}')
    print(f'Player Count: {info.players}/{info.max_players}')

    player_list = await client.players()
    print('Players:')

    for player in player_list.players:
        print(f'- {player.name} (Score: {player.score})')

    rule_list = await client.rules()
    print('Rules:')

    for rule in rule_list.rules:
        print(f'- {rule.name}: {rule.value}')

    if client.rcon_password:
        response = await client.rcon('echo Hello, server!')
        print(f'RCON Response: {response}')


trio.run(main)

Make sure to replace '127.0.0.1' and 7777 with the actual IP address and port of the game server you want to connect to. If the server has RCON enabled, provide a password in the rcon_password attribute of the samp_query.Client instance (otherwise keep it None).

Documentation

For more information, you can read the documentation.

About

A SAMP query/RCON client for Python using trio.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages