7

For each Steam game, you can change your update settings (right click game > properties) to one of three options: automatically update (default), automatically update (high priority), and only update when you launch your game.

picture of setting in steam

My internet download limit is very low, and hence I do not want my games to update unless absolutely necessary (I usually leave updates till I'm using free WiFi). This is why I have all my games set to the second option (Only update this game when I launch it).

However, every time the Steam client updates, it resets all my settings to the first option, automatic updates. If I don't stop them in time, they cost me money in excess download fees.

Is there a way I can stop Steam from resetting my preferences? Alternatively, is there an easy way that I can change all my settings at once?


Note that this is not a dupe of Is there any way to stop Steam downloading updates?. That question is about stopping Steam updating (which I know how to do), whereas my question is about Steam resetting my preferences.

  • 1
    Try deleting the Userdata Folder in the Steam Folder. – Baumi Apr 12 '16 at 8:28
  • @Baumi Wouldn't that reset my user data? I want to keep my user data between updates, not reset it. – angussidney Apr 12 '16 at 8:29
  • Yes i know that but i want to know if other options (Startparameters etc.) also get reseted or just your download options? – Baumi Apr 12 '16 at 8:37
  • @Baumi not that I know of (for instance, my skin stays the same). This seems to be the only thing that changes. – angussidney Apr 12 '16 at 8:43
  • No need to. I will delete the comment. There could be an other Solution for you, instead of setting download options for every game just set the Limit auto-updating shedule. This would be in the general Steam Settings in Downloads -> Download Restrictions, just set the times from 0:00 to 0:00 this would prevent the auto-downloads. This will be a good workaround. I will try finding the problem why your steam resets the settings after update – Baumi Apr 12 '16 at 9:06
3

As others said in comments, this may happen because of corrupted files. You can try deleting everything from Steam directory except steam.exe and steamapps dir. If problem still occurs after another Steam client update, you can use one of these methods. They don't answer your question, but solve your problem.

1. Limit auto-updating shedule

Steam -> Settings -> Downloads -> Download Restrictions

Here you can set Steam to update only at desired time. limit download

  • Pros: built it function
  • Cons: blocks only auto-updates (downloads update when game started), downloads updates for all games when disabled

2. Running Steam in Offline Mode

Steam -> Go Offline.../Go Online...

offline mode

  • Pros: can play games even when there are updates (Steam client doesn't know it yet since it runs offline)
  • Cons: can't use store, community, can't play multiplayer games

I wrote some automation script that helps switching mode with Steam closed.

3. Use some scripting

For this script you will need Python and vdf module. Just save it anywhere and run to set Only update this game when I launch it for each game.

#!/usr/bin/python
import vdf, platform, os, glob, codecs
try:
    import winreg
except ImportError:
    import _winreg as winreg
def find_default_steam_path():
    return {
        "Windows": lambda: winreg.QueryValueEx(
            winreg.CreateKey(winreg.HKEY_CURRENT_USER,r"Software\Valve\Steam"),
            "SteamPath"
        )[0],
        "Linux": lambda: os.path.expanduser("~/.local/share/Steam"),
        "Darwin": lambda: os.path.expanduser("~/Library/Application Support/Steam")
    }[platform.system()]()
def get_libraries(path):
    libraries = [path]
    ignored = ["TimeNextStatsReport", "ContentStatsID"]
    for k, v in vdf.parse(codecs.open(os.path.join(path, "steamapps", "libraryfolders.vdf"), 'r', 'utf8'))["LibraryFolders"].items():
        if k not in ignored:
            libraries.append(os.path.normpath(v))
    return libraries
def get_games_vdfs(libs):
    vdfs = []
    for lib in libs:
        vdfs += glob.glob(os.path.join(lib, "steamapps", "*.acf"))
    return vdfs
steam_path = os.path.normpath(find_default_steam_path())
libraries = get_libraries(steam_path)
games_vdfs = get_games_vdfs(libraries)
for g in games_vdfs:
    game_info = vdf.parse(codecs.open(g, 'r', 'utf8'))
    game_info["AppState"]["AutoUpdateBehavior"] = 1
    vdf.dump(game_info, codecs.open(g, 'w', 'utf8'))

This works similar to method one with two exceptions:

  1. When you use free internet you can manually select which games you want to update like you did before.
  2. You have to run it manually after Steam client update.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.