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
- 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 rename-replays
from the command line to rename your replays. To avoid having to do this every time,python -m shroudstone create-rename-replays-shortcut
will create an icon on your desktop so it's just a double-click away :)
You should also be able to get it working using a non-UWP python install, or
using WSL - just pip install shroudstone
and you should be good to go.
On Linux
If you're running Stormgate on Linux+Steam+Proton, hopefully this should also
work for you - just pip install shroudstone
and give it a shot.
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
.
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. - 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.)
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 nicknamethem
(str): Opponent nicknamer1
(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.0a13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f4837a331c3d06feb072072df08ca1200303c3895e1453746ffbe78f0312dec |
|
MD5 | 866b995dcb0afdb555bc5bbee4c0ec7c |
|
BLAKE2b-256 | c332331212603b560ed3145ca0925c1f664c9daf3825d57d4e0968df375377a6 |