Steam – How to stop Steam changing the update setting to automatic

steam

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.

Best Answer

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.