Skip to main content

Steam Cloud Save Downloader

Project description

steamCloudSaveDownloader

MIT License Check and Build Publish PyPi GitHub Release Docker Hub

Download/Backup Saves on Steam Cloud

:warning: DISCLAIMER

  • This program is not affiliated with Valve or Steam. Steam is a trademark of Valve Corporation.
  • Even though this program is thoroughly tested and theoretically does not violate EULA. This program does not come with warranty and use at your own risk. More of this on Rate Limit Section(#Rate Limit)

Description

For supported games, Steam will automatically upload game saves to the cloud. This is intended for seamless playing across multiple devices but NOT as a form of backup. Assume your game save is corrupted by the game itself or you perform something cannot be undone. Once you close the game Steam will automatically uploads newest(corrupted) game saves to the cloud. That is basically game over if you haven't backup your save or unplug your Internet cord before you close the game. This is when steamCloudSaveDownloader(abbreviated as scsd) come to the rescue.

You can view and download your save files stored on Steam cloud here. This program automatically crawls the webpages and download if the files are outdated. A number of copies are kept locally in case something goes wrong. You can rollback your saves whenever anything goes wrong.

Installation

This program is available on PyPI. All you have to do is install Python and run.

pip install scsd

Linux and Windows executable can also be found on the release page

Usage

Simply run scsd -a <username> to login to Steam. Then run scsd to start downloading saves. The saves for each game will be stored within the data directory with the corresponding AppID. If rotation is specified the old version of the file will have suffix .scsd_<version_num> to the corresponding file name.

For more detail usages please reference Command Arguments and Config File

Authentication

By running scsd -a <username> scsd save a session file with NO password within. This session last approximately about a month if your IP has not been changed. Once expired scsd will notify you if the notification options are given.

Notification

Right now scsd supports the following notification system whenever scsd finishes the download process or encountered error. Please refer to Config File for setting options

  • Discord

Rate Limit

Even though this program does not use Steam API directly. This program still complies to Steam maximum API calls limit (100,000) per day. This program will limit itself to 85% of the usage (which is 85,000). Once exceed the aforementioned limit, the program will stop sending requests to Steam.

In addition to that, the program will wait for a random amount of time (a few seconds) between each request. This will significantly lower chance for the program to be identified as DDoS attack and potentially ban your account. As a trade off, it might took awhile for all your cloud saves to be downloaded.

Docker

Docker image is available at Docker Hub. It has built in scheduler and will run scsd automatically at given time (At minute 39 past every 2nd hour).

Below is the minimal example for running within docker. This will bind mount the data directory and run the authentication process.

mkdir data
docker run -d --name scsd -v ./data:/data -v /etc/localtime:/etc/localtime:ro hhhhojeihsu/scsd:latest
docker exec -it scsd scsd_auth <username>

Volumes

  • /data: Where the save files and program related files are located
  • /config: Where the configuration file is stored.

Environment Variables

Name Purpose Default
PUID Effective UID for scsd to run with 1000
PGID Effective GID for scsd to run with 1000
CRON_VAR Cron syntax for scheduled run 39 */2 * * *
AUTO_UPDATE Set to true to enable scsd auto update false

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

scsd-0.0.53.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

scsd-0.0.53-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file scsd-0.0.53.tar.gz.

File metadata

  • Download URL: scsd-0.0.53.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for scsd-0.0.53.tar.gz
Algorithm Hash digest
SHA256 60c4e67fbc406e021bd999485626db9565770f5f07b78ddb5e82e47b1c062b4e
MD5 5ddf1447d3cbdd3d0be7782fd8a361c0
BLAKE2b-256 aa7210a050938fa6fbbd03f5acb788c13755cd384991a0eadf88e25e2b3ff6b8

See more details on using hashes here.

File details

Details for the file scsd-0.0.53-py3-none-any.whl.

File metadata

  • Download URL: scsd-0.0.53-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for scsd-0.0.53-py3-none-any.whl
Algorithm Hash digest
SHA256 b1fdf8d6b1ab471d960a1b2851280c34fa9b2e227a984c6fd46d8a8daf9d1c58
MD5 93b5e55f80f6adc4a16e7560efa5a107
BLAKE2b-256 c02b05db96ad14b5ecdaf87cf40b0960a522957580ffd9b78941f5b1a37af94d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page