CLI + TUI game server manager for Minecraft
Project description
spawner
CLI + TUI game server manager. Currently supports Minecraft Java Edition (Vanilla, Paper, Fabric, Forge).
Install
Requires Python 3.10+ and Java 17+.
pipx install spawner-mc
Or install with pip:
pip install spawner-mc
For development:
git clone https://github.com/peroxide-dev/spawner.git && cd spawner
pip install -e .
Quickstart
spawner start
This launches an interactive setup wizard that walks you through:
- Server name
- Server type (Vanilla / Paper / Fabric / Forge)
- Minecraft version (fetched from official APIs)
- Jar source (auto-download or provide path)
- RAM allocation (with 50% hard cap)
- CPU cores
- Port configuration
- UPnP port forwarding (automatic)
- Server directory
- Review and confirm
After confirmation, spawner creates the server directory, downloads the jar, and opens a full-screen TUI with live console, player list, resource monitoring, and a file browser.
Commands
| Command | Description |
|---|---|
spawner start |
Run setup wizard, create server, open TUI |
spawner start <name> |
Relaunch a saved profile directly into TUI |
spawner list |
Show all saved profiles with status |
spawner delete <name> |
Delete a profile (with confirmation) |
spawner stop <name> |
Gracefully stop a running server |
spawner restart <name> |
Stop and relaunch a server |
TUI Controls
Keybinds
| Key | Action |
|---|---|
s |
Stop server |
r |
Restart server |
c |
Toggle command input bar |
f |
Open file browser |
q |
Quit (stops server, cleans up UPnP) |
Escape |
Close overlays |
Panels
- Console — live scrolling server log output
- Player List — click a player name for Op / Kick / Ban actions
- Resources — CPU and RAM bars (server process + system), refreshes every 2s
File Browser
Press f to open a full-screen file browser. Click files to edit, Ctrl+S to save.
Profiles
Server configurations are saved to ~/.spawner/profiles.json and can be relaunched with spawner start <name>.
Downloaded jars are cached at ~/.spawner/jars/.
Supported Server Types
- Vanilla → Official Mojang server
- Paper → High-performance Spigot fork
- Fabric → Lightweight modding platform
- Forge → Full modding framework
Dependencies
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spawner_mc-0.1.0.tar.gz.
File metadata
- Download URL: spawner_mc-0.1.0.tar.gz
- Upload date:
- Size: 22.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8914af550f451e6c19148dc8f54db88246a1431390dab6f1d3c44e027b2b6b7
|
|
| MD5 |
c2adf686b86e7236f35309b8325e8b26
|
|
| BLAKE2b-256 |
6b3633e46d59987a82e5570e1d9235e7537e47c7bf62607afcf141f7b7bbeee4
|
Provenance
The following attestation bundles were made for spawner_mc-0.1.0.tar.gz:
Publisher:
publish.yml on peroxide-dev/spawner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spawner_mc-0.1.0.tar.gz -
Subject digest:
a8914af550f451e6c19148dc8f54db88246a1431390dab6f1d3c44e027b2b6b7 - Sigstore transparency entry: 1191442283
- Sigstore integration time:
-
Permalink:
peroxide-dev/spawner@b6514b864c19ddfa5ce24657d028d8aaa5ef838e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/peroxide-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b6514b864c19ddfa5ce24657d028d8aaa5ef838e -
Trigger Event:
release
-
Statement type:
File details
Details for the file spawner_mc-0.1.0-py3-none-any.whl.
File metadata
- Download URL: spawner_mc-0.1.0-py3-none-any.whl
- Upload date:
- Size: 28.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc90a99ae0e07fb37f031a04e4ccc8745271ee615f1f28e097b1fe2a52ed97f2
|
|
| MD5 |
a0126313c2b65bfc054e928749f9758b
|
|
| BLAKE2b-256 |
1e68935c50a7e05c8e5140da8f3cdeff0f8edfa1d427cc3c82af1a61cb01e162
|
Provenance
The following attestation bundles were made for spawner_mc-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on peroxide-dev/spawner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spawner_mc-0.1.0-py3-none-any.whl -
Subject digest:
dc90a99ae0e07fb37f031a04e4ccc8745271ee615f1f28e097b1fe2a52ed97f2 - Sigstore transparency entry: 1191442287
- Sigstore integration time:
-
Permalink:
peroxide-dev/spawner@b6514b864c19ddfa5ce24657d028d8aaa5ef838e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/peroxide-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b6514b864c19ddfa5ce24657d028d8aaa5ef838e -
Trigger Event:
release
-
Statement type: