How do I stop Steam changing my update setting to automatic?
Solution 1:
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.
- 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...
- 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:
- When you use free internet you can manually select which games you want to update like you did before.
- You have to run it manually after Steam client update.