Skip to main content

Tool for provisioning private game servers on demand

Project description

smpsave - Dynamic Provisioner for Private Game Servers

PyPI - Version PyPI - Python Version PyPI Deploy

Save money hosting private game servers on demand.

  • Start and stop your game server on demand through Discord, let your friends do the same.
  • Back up server files between restarts.
  • Automatically shut off the server to save on costs.

See documentation for more info.

image

image

Installing

Install as a standalone tool with uv:

uv tool install smpsave

This puts smpsave-cli on your PATH in its own isolated environment. You can also run it without installing:

uvx --from smpsave smpsave-cli --help

Or install via pip:

pip install smpsave

To install from a checkout of this repository:

uv tool install .

Developing

Create the virtualenv and install all dependencies (including dev and docs tools):

uv sync

Run the CLI from the checkout:

uv run smpsave-cli --help

Build the docs:

uv run sphinx-build docs docs/_build

Building

Build the sdist and wheel into dist/:

uv build

Releasing

  1. Bump the version:
    uv version --bump patch   # or minor, major
    
  2. Commit pyproject.toml and uv.lock, then push.
  3. Publish a GitHub release with the tag v<version> (e.g. v0.2.3). This triggers the PyPI deploy workflow.

Elevator pitch

Want a dedicated server powerful enough for your favorite game, but don't want to pay a cloud host nearly $50 per month? Use smpsave to only pay for what you need.

Let's say you play on your private game server 10 hours a week.

Billing before using smpsave:

  • Linode 8GB shared CPU, running 24/7 for all ~720 hours in a month: $48
  • With only ~40 hours of actual play, ~94% of that cost is wasted money.

Billing after using smpsave:

  • Linode 8GB shared CPU, running 10 hours a week or ~40 hours a month: $2.88

While this could be achieved by having someone manually provision the server as needed, that individual becomes a single point of failure for keeping the game running. By exposing the server controls through Discord, anyone in the group can spin up the server when they want to play.

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

smpsave-0.2.2.tar.gz (53.0 kB view details)

Uploaded Source

Built Distribution

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

smpsave-0.2.2-py3-none-any.whl (44.6 kB view details)

Uploaded Python 3

File details

Details for the file smpsave-0.2.2.tar.gz.

File metadata

  • Download URL: smpsave-0.2.2.tar.gz
  • Upload date:
  • Size: 53.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for smpsave-0.2.2.tar.gz
Algorithm Hash digest
SHA256 4d8a27c377326a63b2abfefd52adfc277b6d485d8fa606ccf6dac745f4e5daee
MD5 8a16c1be0347c65ca48319b63a64515b
BLAKE2b-256 9b6b6239234086f2f8eea1e9a668b4e22163fc0ef373ce08b9ad8b97a431d373

See more details on using hashes here.

Provenance

The following attestation bundles were made for smpsave-0.2.2.tar.gz:

Publisher: python-publish.yml on tbeeck/smpsave

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file smpsave-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: smpsave-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 44.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for smpsave-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2af47c9ce8371dc992177c51a19157c9e8abf5c003c7a48edba475bdc79a40c3
MD5 47da16fbb5259f17f66359b47423abfb
BLAKE2b-256 0be82ad45cbff3974e450462c824872543697287aea68498b869d8268cd97392

See more details on using hashes here.

Provenance

The following attestation bundles were made for smpsave-0.2.2-py3-none-any.whl:

Publisher: python-publish.yml on tbeeck/smpsave

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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