Sync your runs
Drop your Slay the Spire 2 save folder below. Nothing is installed, and your Steam ID is never published — only your nickname.
Where is my save folder?
| Windows | %APPDATA%\SlayTheSpire2\steam\<steam-id> |
| Linux | ~/.local/share/SlayTheSpire2/steam/<steam-id> |
| macOS | ~/Library/Application Support/SlayTheSpire2/steam/<steam-id> |
Upload
Keep it synced automatically
The page above is a one-off: it uploads whatever you drop, and you have to come back and do it again after you play. The watcher is a small command-line program that notices new runs and uploads them on its own.
You do not need it. Dropping your folder here every so often works fine, and it involves downloading nothing. Use the watcher only if you would rather not think about it again.
Checksums: SHA256SUMS · browse all files
Running it
Replace site-nickname with the name you want shown on this site. It finds your save folder on its own.
sts2sync -watch -nickname site-nickname
On macOS the file needs to be marked executable, and Gatekeeper blocks unsigned downloads until you clear the quarantine flag:
chmod +x ~/Downloads/sts2sync-macos-arm64 xattr -d com.apple.quarantine ~/Downloads/sts2sync-macos-arm64 ~/Downloads/sts2sync-macos-arm64 -watch -nickname site-nickname
On Windows, SmartScreen will warn that the publisher is unknown — "More info" then "Run anyway". Leave the window open while you play.
Do I have to leave it running?
No. The game keeps every run on disk and never deletes them, so anything played while the watcher is off is still waiting for it. Run it without -watch whenever you like and it uploads everything new, then exits:
sts2sync -nickname site-nickname
The one thing that does not survive is the machine itself. Steam Cloud only keeps your most recent 100 run files, so older runs exist solely on the computer that played them — sync before you wipe or replace it.
If you would rather it just happen, start it automatically:
macOS. Save this as ~/Library/LaunchAgents/cool.wzrdz.sts2sync.plist. Two different things need replacing, and they are unrelated: mac-username is your macOS account — whatever whoami prints — because launchd does not expand ~ and a wrong path fails silently; site-nickname is the name you want shown on this site.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
<key>Label</key><string>cool.wzrdz.sts2sync</string>
<key>ProgramArguments</key><array>
<string>/Users/mac-username/bin/sts2sync</string>
<string>-watch</string>
<string>-nickname</string><string>site-nickname</string>
</array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
</dict></plist>
launchctl load ~/Library/LaunchAgents/cool.wzrdz.sts2sync.plist launchctl list | grep sts2sync # confirm it took
Undo with launchctl unload on the same file.
Linux. Save as ~/.config/systemd/user/sts2sync.service:
[Unit] Description=Slay the Spire 2 run sync [Service] ExecStart=%h/.local/bin/sts2sync -watch -nickname site-nickname Restart=on-failure RestartSec=60 [Install] WantedBy=default.target
systemctl --user daemon-reload systemctl --user enable --now sts2sync.service loginctl enable-linger $USER # keep it running after you log out
Windows. Simplest is a shortcut to sts2sync.exe -watch -nickname site-nickname in shell:startup (Win+R, paste that, drop the shortcut in).
Is it safe to run?
Be skeptical: an unsigned executable from someone's personal domain is exactly what malware looks like, and you have only my word for what this one does. What it actually does is read .run files from your save folder and POST them to this site. It does not modify your saves, and it touches nothing else.
If that is not good enough — and it is reasonable for it not to be — use the drag-and-drop uploader above instead. It needs no download and does the same job.