Python utilities for working with Stormgate replays
Project description
shroudstone
Shroudstone is principally a tool to automatically rename replays of your Stormgate ladder games.
Say goodbye to
CL44420-2024.02.03-08.28.SGReplay
and say hello to
2024-02-03 08.28 L 03m03s Pox IvI Veni Vidi Vici - Broken Crown.SGReplay
Shroudstone also acts as a general Python/CLI toolkit for working with Stormgate replays - right now it's probably not useful for much else, but hopefully it will grow over time :)
Made possible by the great work of the Stormgate World team!
Installation & Usage
On Windows: .exe download
Simply download the latest standalone executable and double-click it to launch the user interface. (The first time you do, you'll probably get a Windows Defender SmartScreen popup - you did just download some random program from the internet, after all! If you trust me, click "More Info" and then "Run Anyway".)
Assuming you have a normal Stormgate install with a single account, everything should be autodetected and you'll be faced with the main user interface:
Just click "Rename My Replays Now" to run the renaming process on your existing replays.
If you enable the checkbox "Automatically rename new replays" and leave Shroudstone open in the background while you play, then the process will run every 30 seconds, renaming new replays as they are created.
On Windows: Using pip
- Install Python 3.11 using the Microsoft Store or the official installer. If using the official installer, make sure to check the "add python.exe to PATH" option.
- Open Command Prompt and type
pip install shroudstone
to install shroudstone. - You can now invoke
python -m shroudstone gui
from the command line to launch the user interface, orpython -m shroudstone --help
for usage instructions for the command-line interface.
If you're already a WSL user, you should also be able to pip install shroudstone
inside your WSL session and have at least the CLI work.
On Linux: using pip
If you're running Stormgate on Linux+Steam+Proton, this should also work for you!
- Ensure python 3.8+ and pip are installed using your system package manager.
(e.g. on Ubuntu, run
sudo apt install python3-pip
.) - Run
pip install shroudstone
in a terminal. - Launch the GUI with
shroudstone gui
, or check outshroudstone --help
if you want to use the CLI.
Updating
Regardless of your operating system, if you installed using pip install shroudstone
originally, you can update to the newest version with a simple
pip install --upgrade shroudstone
.
If you downloaded the .exe, just download a new one to replace it!
Notes
- Shroudstone can currently only rename 1v1 ladder games - this is because it relies on the Stormgate World API to fetch most of its information.
- Stormgate names your replays using your local time. After renaming, the times will be in the UTC timezone, as on the Stormgate World leaderboard.
- Your settings are saved in %LOCALAPPDATA%/shroudstone/config.json on Windows
or ~/.local/share/shroudstone/config.json on Linux/WSL. Note that if you're
using Python from the Microsoft Store, this %LOCALAPPDATA% might not be
what you expect - use
python -m shroudstone config-path
to find out exactly where it is. - If using the CLI, Your player ID, replay directory path and replay format
string can be configured by passing command-line options to
python -m shroudstone rename-replays
; but you probably want to use the config file instead so you don't have to provide them every time. Usepython -m shroudstone edit-config
to edit the configuration file.
Customizing replay names
You can customize the filenames of your renamed replays by editing the format
string in your config file. (Use python -m shroudstone edit-config
to open
the config file in a text editor, or click the "Edit Config File" button in the
GUI.)
The default format string is
{time:%Y-%m-%d %H.%M} {result:.1} {duration} {us} {r1:.1}v{r2:.1} {them} - {map_name}.SGReplay
which results in e.g.
2024-02-03 08.28 L 03m03s Pox IvI Veni Vidi Vici - Broken Crown.SGReplay
Note the usage of :.1
to take just the first letter of the race and result strings.
Format strings can use the following values:
us
(str): Your nickname (as it appeared in the replay)them
(str): Opponent nickname (as it appeared in the replay)r1
(str): Race/faction you played (Vanguard or Infernals)r2
(str): Race/faction opponent playedtime
(datetime): Creation time of matchduration
(str): Game duration (e.g. "15m10s")result
(str): Your game result (Win, Loss, Undecided)map_name
(str): Name of the map on which the game was played (extracted from replay file)build_number
(int): Build number of Stormgate version on which the game was played (extracted from replay file)
Contributing
Contributions are welcome - feel free to open a PR, or message Pox on the Stormgate Discord if you want to discuss with me first.
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
Hashes for shroudstone-0.1.0a30-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62dbd9fe0544d949d9461f3e8fb463fe83d641ed492c9dcc56f1ca501cd84747 |
|
MD5 | fe627aeafaebb2425b137befc597c6ef |
|
BLAKE2b-256 | 2cf1b05acd44e95f214cbb454c21a8fe8f0a82c1b01f501e88493b070d38c7e0 |