Skip to main content
Project generated with PyScaffold

vrage_api

Space Engineers Dedicated Server Remote API in Python

This module is essentially a python wrapper around the requests module to interact with the Space Engineers Dedicated Server Remote API. This module is (will) also be used in a server management tool which provides insight to your server(s). Currently if you run the GUI tool, you can’t get any insight into players that have logged on and played on the server, performance over a period of time, chat logs, existing planets/asteroids and floating objects for example.

Once you have installed the package, you can view some of the example commands in the [examples](./examples/) folder. The example [commands.py](./examples/commands.py) will load a .env file in the root folder, so you can copy the .env-example as .env and fill out the information as required. All non ‘get’ commands will require the –data argument to pass a variable such as EntityId or SteamID. Ensure that you install argparse if you want to test out the commands using this script pip install argparse.

Function endpoint data

GET

get_players <./examples/get/players.json> - Gathers data about all the players such as: SteamID, Display Name, Faction, Faction Level and Ping

get_asteroids <./examples/get/asteroids.json> - Gathers data about all the asteroids in the current session such as: EntityId, position and display name

get_floating_objects <./examples/get/floating_objects.json> - Gathers data about all the floating objects that exist in the current session such as: EntityId, Kind, Position, Mass and Speed

get_grids <./exmaples/get/grids.json> - Gathers data about all the grids that exist in the current session such as: EntityId, Display Name, Position, Mass, Owner SteamID, total amount of PCU, powered status, etc…

get_planets <./examples/get/planets.json> - Gathers data about all the planets that exist in the current session such as: EntityId, Display Name and Position

get_chat <./examples/get/chat.json> - Gathers data about all the chat messages in the current session such as: SteamID, Display Name, Content (Message) and Timestamp

get_server_info <./examples/get/server_info.json> - Gathers data about the server such as: ServerId, Server Name, Total uptime, CPU load, World Name, Version, total amount of Players, total used PCU etc…

get_server_ping<./examples/get/server_ping.json> - Simple healthcheck for the server that responds “Pong” if successful.

get_banned_players <./examples/get/banned_players.json> - Gathers data about all banned players such as:

get_kicked_players <./examples/get/kicked_players.json>

DELETE / BAN / KICK

All delete endpoints will typically just return a HTTP status code of 200 even if the EntityID doesn’t exist…:

{
    "meta": {
        "apiVersion": "1.0",
        "queryTime": 0.1115
    }
}

So some care is required if you really want to identify for example, if a player has actually been kicked/banned properly based on gathering the data after performing a specific action.

A centralized API for multiple servers (and ensuring things like log history, player history) will be linked here directly once developed.

How to use

from vrage_api.vrage_api import VRageAPI

api = VRageAPI(url=”http://localhost:8080”, token=”my-secret-token”) players = api.get_players()

for player in players[“data”][“Players”]:

print(player[“SteamID”], player[“DisplayName”])

if player[“SteamID”] == 12341234567856780:

api.player_ban(steam_id=12341234567856780)

Note

This project has been set up using PyScaffold 4.2.2. For details and usage information on PyScaffold see https://pyscaffold.org/.

Release files for vrage-api 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vrage-api 1.0.2
File Size Uploaded
vrage_api-1.0.2.tar.gz 28.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vrage-api 1.0.2
File Interpreter ABI Platform
vrage_api-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size:34.7 kB

Release files / vrage_api-1.0.2.tar.gz

Download URL vrage_api-1.0.2.tar.gz
Size 28.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b8a90be2ead7d39a7476a81f99e89f8088fcf4f90c4abe578011098f60b4dc89
BLAKE2b-256 checksum
How to use checksums
a251cca64d09787a69ddc1d45485f3b6dcf1cc86cc05a8fd965d2604f498a396
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.9.0

Release files / vrage_api-1.0.2-py3-none-any.whl

Download URL vrage_api-1.0.2-py3-none-any.whl
Size 6.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d151360322a7955ac1db8ac9dbce0f69af55d20ecfaa6159f0eb332c45ba8d60
BLAKE2b-256 checksum
How to use checksums
18b2eefc882f63990f29c6e3632dc52d67c9e755e06df0a32a083e584cbf68f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.9.0

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page