Package: scsd
steamCloudSaveDownloaderDownload/Backup Saves on Steam Cloud:warning: DISCLAIMERThis 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 onRate Limit SectionDescriptionFor 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 cloudhere. 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.:warning: LimitationIf the game does not support Steam Cloud then the file cannot be backuped. You should look for alternatives likeGameSave ManagerFile will be uploaded to Steam Cloudafteryou close the game. If the game save modification happens between a long game session without closing the game. Your last save point would be the last save uploaded to Steam Cloud and downloaded by scsd.You might want to increase the frequency of scsd run if you have multiple short gaming session. Please be aware ofRate Limitand set an acceptable frequency in this case.InstallationThis program is available onPyPI. All you have to do is installPythonand run.pipinstallscsdLinux and Windows executable can also be found on therelease pageUsageSimply runscsd -a <username>tologin to Steam. Then runscsdto start downloading saves. The saves for each game will be stored within thedatadirectory with the correspondingAppID. If rotation is specified the old version of the file will have suffix.scsd_<version_num>to the corresponding file name.Please refer toScheduled Runif you want to run scsd automatically at given time.For more detail usages please referenceCommand ArgumentsandConfig FileAuthenticationBy runningscsd -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.NotificationRight now scsd supports the following notification system whenever scsd finishes the download process or encountered error. Please refer toConfig Filefor setting optionsDiscordScriptScheduled RunThe saves will be download and saved locally only if you execute scsd. scsd relies on external scheduler to run automatically.For Windows users you can run it withTask SchedulerFor Linux/Mac users you can run it withcronRate LimitEven 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.DockerDocker image is available atDocker 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 thedatadirectory and run the authentication process.mkdirdata
dockerrun-d--namescsd-v./data:/data-v/etc/localtime:/etc/localtime:rohhhhojeihsu/scsd:latest
dockerexec-itscsdscsd_auth<username>Volumes/data: Where the save files and program related files are located/config: Where the configuration file is stored.Environment VariablesNamePurposeDefaultPUIDEffective UID for scsd to run with1000PGIDEffective GID for scsd to run with1000CRON_VARCron syntax for scheduled run39 */2 * * *AUTO_UPDATESet totrueto enable scsd auto updatefalseSpecial Thanksmaer for beta test