42

Out of idle curiosity I'm interested to know what files the Steam Cloud contains for my games.

Is there anyway of seeing this information, either via a Valve website or an application that maybe uses Steam API's to interrogate the cloud?

4
  • This depends on which game you are talking about.
    – Ramhound
    Dec 17, 2013 at 16:13
  • 4
    I'm not asking in the context of a specific game, I'm curious to know what data is in the steam cloud for me in it's entirety.
    – Rob
    Dec 17, 2013 at 16:19
  • what data is stored depends on the game. You asking which games you have stored? Thats something Valve can answer.
    – Ramhound
    Dec 17, 2013 at 16:38
  • 1
    I think he's looking for a method to find out which games store which data.
    – Zibbobz
    Dec 17, 2013 at 20:31

5 Answers 5

28

There is a simple way to do this. All it requires is that you download the games through Steam.

After a game is downloaded, Steam will by default sync data from the Steam cloud to your computer. It also maintains an index file over the files being synced. It is easy to understand by opening it in a text editor.

Finding the Steam cloud index files

<Steam install folder>\userdata\<Steam ID>\<Application ID>\remotecache.vdf

Steam install folder: Defaults to "C:\Program Files\Steam" on Windows. You might have placed it elsewhere when you installed Steam.

Steam ID: If you only ever logged into one Steam account, you will only have one folder in the userdata folder which corresponds to your Steam ID. If not, you can find it in various ways. One way is using http://steamidfinder.com/.

Application ID: You can find this by looking at the URL of the game's page on the Steam store, or use a service like http://steamdb.info/apps/ (you could also do reverse lookups by searching for the appid there).

Understanding the Steam Cloud index files

Here is an example of the save file sync settings for my Torchlight game:

"41500"
{
    "saves.cmp"
    {
        "root"      "0"
        "size"      "41558"
        "localtime"     "1327594410"
        "time"      "1327594409"
        "remotetime"        "1327594409"
        "sha"       "eae12f0e95dc5d5c65c18cd2991eb04d54714f30"
        "syncstate"     "1"
        "persiststate"      "0"
        "platformstosync2"      "-1"
    }
}

As you can see, the file in question is named "saves.cmp". It will be located in a folder specified by the "root" setting. I haven't researched on all possible locations, but "0" indicates that the file is located in a folder named "remote" in the same folder as the index file, "1" indicates the game's install folder (which you can get to with the "browse local files" option from steam), and "2" indicates your documents folder in Windows.

All you then need to do is go find the files specified by the index files :). This method is all manual, but I believe it answers your question.

4
  • 2
    While tedious, this definately answers the problem.
    – Yablargo
    Jan 10, 2014 at 0:06
  • Not directly relevant to the answer but may be of interest - this looks like JSON
    – Alex
    Aug 20, 2015 at 9:30
  • 1
    @Alex Similar, yeah, but not JSON: Note the missing colons and commas, for example. In many programming languages and data formats, strings are commonly surrounded by quotes, and curly brackets often used to indicate scope, so I think this is just an improvised format.
    – Zero3
    Aug 20, 2015 at 12:30
  • 1
    @Zero3 yeah, you're right. Glad I said "this looks like JSON" rather than "I'm so smart, look at me, this is definitely JSON" :)
    – Alex
    Aug 20, 2015 at 17:23
6

Yes. Someone had the same thought as you and created Steam Cloud File Manager Lite

3

The steam cloud stores a few things

  • Any save or configuration file(s) for games (depends on the game)
  • Screenshots
  • Workshop items that you created

Other then screenshots and workshop items, there is no other way to obtain this data.

1
  • 3
    This answer is inaccurate in several ways: 1) The Steam cloud can store many different things besides those you list. For example, it is common for games to sync profile data and config files too. 2) AFAIK the Steam Cloud doesn't store the workshop items you created, only the workshop items you subscribed. 3) There is a way, see my answer.
    – Zero3
    Jan 10, 2014 at 17:30
2

In addition to @Zero3, some "root" values currently represent:

" 0" - "{remoteCache}\remote";
" 1" - app's installation root;
" 2" - "%userprofile%\documents\";
" 3" - "%appdata%";
" 4" - "%localappdata%";
"12" - "%userprofile%\appdata\locallow".

Values showed at Steam account's remote storage web page are mentioned in the documentation.

1
  • 1
    the remote storage page (and documentation) no longer refer to integer indexes directly, now they use categories like: "WinSavedGames" -> "%USERPROFILE%\Saved Games\". Its unclear if the order matches the old index structure.
    – Kevin
    Apr 30 at 21:31
1

I suppose that if you really wanted to know what data is being stored, you could expose the Steam API's yourself, programmatically, and write a service that listens for when the API is invoked. I am not certain those API's are available publicly though. But, boiled down, all they really are is a collection of web services.

How is your C#/C++/Java? :)

7
  • 1
    Probably about the same as your Swahili...;)
    – Rob
    Dec 18, 2013 at 20:56
  • 3
    I am a master at saying one thing in Swahili, 'Kuwa na Krismasi njema'.
    – Brian
    Dec 18, 2013 at 21:00
  • 1
    I suppose I should respond with "na furaha ya mwaka mpya"
    – Rob
    Dec 19, 2013 at 9:20
  • 1
    "But, boiled down, all they really are is a collection of web services" - Do you have evidence of this? While plausible, is also seems likely plausible that they are part of a proprietary API/protocol which depends on a valid Steam client session. This means you would have to reverse engineer the complete communications process between the Steam client and the Steam servers(!).
    – Zero3
    Jan 10, 2014 at 17:33
  • 2
    @Brian: Sorry, perhaps I was a little unclear in my comment. What I intended to say is: You seem to give the impression that the data probably is readily available through a (non-)public "web service". My point is that it might as well be that the "service" is part of a larger proprietary Steam protocol whose third-party usage would require significant reverse-engineering and probably impersonation of a Steam client. If this is the case, I'd say that we are moving quite far away from the common definition of the term "web service".
    – Zero3
    Jan 10, 2014 at 20:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .