Steam

Steam

383 ratings
Steam Client Downgrades & Survival Kit
By lightwo
Whether the latest update broke something, or your OS is no longer supported, there are only a few things you need to do to be fully prepared for the worst!
22
10
6
18
8
4
3
3
5
4
4
5
5
5
5
5
4
2
3
3
3
3
2
   
Award
Favorite
Favorited
Unfavorite
Guide Moved!
This guide has been moved here[blog.lightwo.net]

Read more
Preface
Valve changed their mind and decided against making the client inoperable for old OSes!

Old wording:
After [January 1st 2024], the Steam Client will no longer run on those versions of Windows.
New wording:
After [January 1st 2024], existing Steam Client installations on these operating systems will no longer receive updates of any kind including security updates.

In other words, if you use Windows 7/8/8.1 or macOS 10.13/10.14, downgrading is unnecessary if you want to keep playing your games in 2024 and beyond.

However, regardless, support will end January 1st, 2024 and February 15th, 2024 respectively, meaning that eventually, the client will stop working, and from then on, you will need to use SteamCMD as per section Using SteamCMD After Client Starts Breaking to download/update games.

Sadly, if you're a macOS 10.11/10.12 user, you will have to downgrade Steam, given that support already ended and the client was updated with a "bricking" update (please confirm!).

Relevant support articles

Guide archive[web.archive.org]



I am a Linux user. The only instances of Windows 7 I have at home are installed on another computer not used for gaming and a virtual machine without 3D acceleration. While some things will be tested, I cannot guarantee instant or reliable support in case you get stuck in the process.

Please understand this, and don't hesitate to ask elsewhere and link to other resources that could complement this guide, especially if things drastically change at some point.

Also, do it at your own risk! Steam is, after all, software that is always connected to the Internet, and it may be a bad idea to keep that running in the background if you can't be sure if it's secure.
Downgrading
There are a couple of methods to downgrade the client. All of them require the Steam client executable to be present.

Obtaining Steam executable
Note: Skip this part if you already have a working Steam installation.

It is possible to use Steam's updater with nothing more than the main Steam executable. If you don't already have a working Steam installation (or the bricked update made the main executable useless), here's how you can get it.

The executable version doesn't matter. These files have been archived using Wayback Machine. Obtain an archived version for:

Then, during or after download, remove the SHA1 file hash from the name (everything after .zip), unzip to the location you wish Steam to be installed in (or has been), and proceed with the instructions below.

The quick, online way
Using copies of Steam packages and manifests that have been archived online, it is possible to have the client downgrade itself.

Internet Archive Wayback Machine archives pages and files directly, which ensures that they have not been tampered with, and that is the source this method uses.

The procedure:
  1. If you previously enrolled to Steam Client Beta, launch Steam with -clearbeta and dismiss the "Steam needs to be online to update" error
  2. Exit Steam
  3. Launch Steam with:
    -forcesteamupdate -forcepackagedownload -overridepackageurl http://web.archive.org/web/<date>if_/media.steampowered.com/client -exitsteam
    — replacing <date> according to The Downgrade Table section under Wayback Machine date

    Note: If this doesn't work, also append -textmode
  4. Steam should downgrade itself and exit
  5. Done! Start the client, and it should work
    Note: On Windows, if you get a dialogue about the Steam registry path not being writable, click Repair
  6. Before launching Steam another time, create steam.cfg as per section Preventing Client Updates

If step 3 fails (less secure, relies on manual backups rather than Wayback Machine):
  1. Navigate to this page[archive.org]
  2. Use The Downgrade Table and find the manifest version you need
  3. Navigate to the directory of the OS you are using (steam_client_<your_OS>), and under it, navigate to the directory of the version you want to use
  4. Copy the URL for step 3 of The quick, online way

Note: For this to work, ALL packages and the package manifest must be archived as per the client manifest to a file server or a digital archive service such as Wayback Machine. Each "file" entry corresponds to a path under http://media.steampowered.com/client/.

The long, offline way
If you made a backup of Steam packages, or took someone else's at your own risk, this is how you can restore the update.

The procedure:
  1. Navigate to the Steam directory
  2. Remove the contents of package folder
  3. Copy backed-up packages to package
  4. Launch Steam, let it update, and on the Extracting package... step, press Cancel
  5. Remove package > tmp
  6. Launch Steam again
  7. Before launching Steam another time, create steam.cfg as per section Preventing Client Updates
  8. Done!

Restoring the client in case of a faulty downgrade
If you give up, it is sufficient to do this and not lose any of your data:
  1. Delete steam.cfg if it was previously created
  2. Launch Steam with these arguments:
    -forcesteamupdate -forcepackagedownload -exitsteam
  3. The client will exit; the next time you start it, it should be back to normal
Preventing Client Updates
If you need to downgrade your client, it is only natural that you don't want it to self-update right away.

Editing steam.cfg
Using steam.cfg, client updates can be prevented permanently.
  1. Navigate to the Steam directory:
    • Windows 32-bit:
      C:\Program Files\Steam
    • Windows 64-bit:
      C:\Program Files (x86)\Steam
    ...and our special guests, since the procedure works the same way:
    • Linux:
      ~/.local/share/Steam
    • MacOS:
      ~/Library/Application Support/Steam
  2. Create a new file, steam.cfg, unless it is already present
  3. Paste this in:
    BootStrapperInhibitAll=enable
    This can be disabled by prepending the line with a # so that it is commented out (ignored) until needed.
The Downgrade Table
Note: Manifest version corresponds to the Unix time the build was finalised, which can be used to determine the date.

steam_client_win32 - Windows
steam_client_ubuntu12 - Linux (regardless of distribution)
steam_client_osx - macOS

Wayback Machine date
Manifest version
Notes
Windows Copy URL [archive.org]
Linux Bins only [web.archive.org]
macOS Not archived
1674790765
Fixes, last update before the removal of -no-browser and -noreactlogin
Windows 20230428150517
Linux 20230428151547
macOS 20230428151718
1682573004
Windows 20230429120402
Linux 20230429111303
macOS 20230429111700
1682708537
Windows 20230531113527
Linux 20230531115543
macOS 20230531120503
1685488080
Preload banner hotfix, last update before new desktop UI and -oldbigpicture removal
Windows 20230615094110
Linux 20230615100150
macOS 20230615100909
1686779606
Initial new desktop UI version, -oldbigpicture removed
Windows 20230616094017
Linux 20230616100000
macOS 20230616100708
1686880776
Windows 20230622105532
Linux 20230622111310
macOS 20230622112008
1687386907
Windows 20230711162631
Linux 20230711164652
macOS 20230711165536
1689034492
Generic notification sounds, fixes, last update before -vgui removal
Windows 20230801221717
Linux 20230801223706
macOS 20230801224603
1690583737
Windows 20230912101259
Linux 20230912103102
macOS 20230912103901
1694466342
Indonesian language, fixes, removal of steam://restartinuimode/vgui
Windows 20230930002005
Linux 20230930004105
macOS 20230930004705
1696019606
Windows 20231026162438
Linux 20231026163204
macOS 20231026163533
1698260427
Windows 20231031200154
Linux 20231031200905
macOS 20231031201223
1698777785
Back button fix, other fixes
Windows 20231116205033
Linux 20231116205605
macOS 20231116210143
1700160213
Visual tweaks, more info in game pages, other fixes and additions
Windows 20231130095245
Linux 20231130095906
macOS 20231130100536
1701289036
Windows 20231212190321
Linux 20231212191138
macOS 20231212191717
1702079146
The Downgrade Table (SteamCMD)
steam_cmd_win32 - SteamCMD Windows
steam_cmd_linux - SteamCMD Linux
steam_cmd_osx - SteamCMD macOS

Wayback Machine date
Manifest version
Notes
Windows 20230429132649
Linux 20230429132800
macOS 20230429132904
1682708339
Windows 20230531121408
Linux 20230531121804
macOS 20230531122030
1685487853
Windows 20230615102027
Linux 20230615102308
macOS 20230615102600
1686781763
Windows 20230616101802
Linux 20230616102105
macOS 20230616102432
1686881296
Windows 20230622113010
Linux 20230622113308
macOS 20230622113612
1687387651
Windows 20230711170621
Linux 20230711170811
macOS 20230711171116
1689034828
Windows 20230801225604
Linux 20230801230052
macOS 20230801230100
1690585855
Windows 20230816111604
Linux 20230816112003
macOS 20230816112207
1691628584
Windows 20230912104902
Linux 20230912105204
macOS 20230912105405
1694466999
Windows 20230930005804
Linux 20230930010206
macOS 20230930010404
1696019544
Windows 20231026163910
Linux 20231026164101
macOS 20231026164123
1698262904
Windows 20231031201610
Linux 20231031201724
macOS 20231031201830
1698778122
Windows 20231116210856
Linux 20231116211115
macOS 20231116211111
1700160359
Windows 20231130101403
Linux 20231130101357
macOS 20231130101423
1701290101
Windows 20231212192413
Linux 20231212192543
macOS 20231212192652
1702079268
Stay Logged In Past End-of-Life
Considering that the Steam backend is updated alongside the client, the version you choose to use may not be able to authenticate in the future. Since nobody knows how this will break in the future, there are two possible scenarios (or three, if you lose your current login entirely). However, there is nothing you need to do in advance, as reverting possible issues is easy to do.

Client automatically enters offline mode
This is the ideal outcome in case Valve accounted for the situation. The client will simply launch in offline mode and all installed games and applications are ready to be used. However, it may take a while longer for the client to load, as it is trying to connect and authenticate.

Improvement: In order for Steam to load more quickly, simply follow the procedure under section Extras, Keeping the client offline forever.

Client logs you out
The login window shows up, containing the login prompt or account switcher. Since the client cannot authenticate, it may seem like it's a dead end, but it's actually very easy to overcome this issue.

Solution: Simply follow the procedure under section Extras, Keeping the client offline forever. Whether the account is currently logged in or not, as long as it has been logged in to once, editing loginusers.vdf is sufficient to log in offline.

Steam install deleted/corrupted
Note: For the helper device, if Steam is already being used, make a backup of Steam and wipe it, then restore afterwards.

If the latest version of Steam cannot be run on your preferred device, running Steam on a device using a supported OS ("helper") can be used to authenticate to Steam instead, transferring all necessary files for the client to log in offline.

The procedure:
  1. On the unsupported device, perform the client downgrade to the latest Steam version it supports if it is not present/operable
  2. On a supported ("helper") device, install Steam and log in to your account
  3. Exit the client
  4. From the Steam install directory, copy appcache, config, steamapps (optional), userdata and local.vdf
  5. Transfer these files to the unsupported device, into the Steam install directory
  6. Follow the procedure under section Extras, Keeping the client offline forever
  7. Making sure that Steam works on the unsupported device, uninstall Steam from the supported device to remove leftovers, if needed

Additional steps for specific versions:
Using SteamCMD After Client Starts Breaking
Given that Steam is constantly tweaked and upgraded over time, outdated versions eventually stop being usable. Downloads/updates, and especially the ability to log in may stop working, rendering the online components of the client unusable.

However, it is likely that SteamCMD will continue working way past the "expiration date", so this is how you can use it to download/update games going forward.

Keeping downloads operational for the long term
While the client (service) will forever and ever stay a requirement for launching Steamworks API-powered games, or, rather, those that refuse to work without it, or additional DRM on top of it, downloading games should still be possible using SteamCMD. Considering it is an actively updated command line utility, there is no good reason to remove compatibility for older OSes, unless, perhaps, the web transitions to a new version of SSL that won't be supported on older OSes, or Valve compiles it against libraries that were never added to older OSes.

Moreover, with the industry transitioning away from older OSes... I guess you can imagine Steam might not exactly keep blooming with new game releases that can be played on them.

SteamCMD summarised for players
First of all, while it involves the command line and it is mainly used by developers and game server administrators, please don't be scared away. Yes, accomplishing things with it isn't a one click operation (until someone makes a batch script or software I may include here), but it is worth getting a hang of.

Installing
From the SteamCMD wiki page, under Downloading SteamCMD, download the zip archive and extract it to the desired location. For other OSes, follow the instructions on the page.

Launching and logging in
Anytime before launching SteamCMD, make sure to close any running instance of Steam in order to prevent it from interfering with the Steam installation.

For convenience, use whichever you prefer:
  • Desktop shortcut
    After creating the shortcut, in the Target field, append:
    +login <username>
    — replacing <username> with your Steam username.
  • Batch/shell script
    Going for this option most likely means you understand how it's done, and since this guide addresses multiple OSes, I will leave you to it. For now.

Launch SteamCMD as prepared earlier. If this is the first time you are launching it or any updates arrived since the last time you used it, it will self-update, so wait for that to finish.

You will be prompted to log in using your Steam credentials. Once you successfully log in, you will be presented with a Steam> prompt.

In order to learn the usage of commands yourself, use this command:
find <query>
— replacing <query> with a search query or full command/convar name.

Linking steamapps
In order to prepare SteamCMD to be used for managing an existing game library, its steamapps directory needs to be linked into the SteamCMD installation.

Close SteamCMD, remove its steamapps directory, then run this command:
  • Windows (may require running as administrator):
    mklink -d "C:\path\to\SteamCMD\steamapps" "C:\path\to\Steam\steamapps"
  • Linux/macOS:
    ln -s /path/to/Steam/steamapps /path/to/SteamCMD/steamapps

Downloading and updating games
The simplest way to download/update games is to use your Games page while SteamCMD is running. Picking download location and moving across library folders is unimplemented, but the Steam client can be used to accomplish that.

If you want to use the command line, in order to download/update games, use the command:
app_update <appid>
— replacing <appid> with the App ID of the game to download/update, shown in the Properties dialogue of each game under Updates, or in the URL of the Steam Community hub of the game (linked to in your Games page).

Additional arguments:
-validate (recommended): validate Steam application after download -language <lang>: download with desired language -beta <betaname> -betapassword <pwd>: download beta, and specify password if it is required

Downloading and updating Workshop content
The simplest method is to press Subscribe on the mod you want, and the next time you use app_update, the Workshop item will be downloaded.

Otherwise, in order to manually download/update Workshop content, obtain the App ID of the game to download content for, and obtain the Published File ID from the end of the URL of a Workshop listing page.

Use the command:
workshop_download_item <appid> <PublishedFileID>

Uploading Workshop content
Refer to Steam Workshop Implementation Guide > SteamCmd Integration.

Using custom library folders (usually unneeded)
Bug: force_install_dir removes all custom library folders, each folder will have to be re-added when Steam client starts (library_folder_add isn't even present in SteamCMD). This is presumably since SteamCMD always uses the main install directory first, edits the library folder configuration there, and only then switches to the forced location.

SteamCMD, by default, uses the location it's stored in. If steamapps directory is linked to an existing Steam installation's steamapps directory, it will use it as well, inheriting its custom library folders.

In order to switch to a different location, use this command:
force_install_dir <library_folder>
— replacing <library_folder> with the path to the library folder to switch to. Enclose it in quotes ("D:\Some Path\Steam") if it contains spaces.

For additional convenience, for each library folder you have, you may create a copy of the shortcut you made, each with this argument appended to Target field:
+force_install_dir <library_folder>
Just don't run multiple SteamCMD instances at once!
Making Backups
What's safer than making client backups, especially if they are available to all? Here's how you can feel even safer and contribute, everyone wins!

Manual backup
If you want to create a backup of the last working Steam version, simply make a copy of the package folder, as well as the Steam executable.

Automated backup
This script was developed for use in a Linux terminal, and makes a local backup as well as requests remote archival (ex. to Wayback Machine), including SteamCMD.

#!/bin/bash package_url="http://media.steampowered.com/client" lists=$(echo steam_client_{win32,ubuntu12,osx}.txt steam_cmd_{win32,linux,osx}.txt) backup_prefix="/mnt/hdd/Archive/steam_client_archive" # Change to directory to store manifests and lists in mkdir -p "$backup_prefix/tmp" cd "$backup_prefix/tmp" for manifest_name in steam_client_{win32,ubuntu12,osx} steam_cmd_{win32,linux,osx}; do # Retrieving all URLs to archive echo "Getting manifest and filenames" manifest_url="$package_url/$manifest_name" echo "$manifest_url" > $manifest_name.txt curl -sO "$manifest_url" grep -e \"file\" -e \"zipvz\" $manifest_name | cut -d\" -f4 | sed "s|^|$package_url/|" | awk '!x[$0]++' >> $manifest_name.txt # Making a local backup version=$(grep \"version\" $manifest_name | cut -d\" -f4) backup_path="$backup_prefix/$manifest_name/$version" if [[ -d "$backup_path" ]]; then echo "Backing up $manifest_name $version" mkdir -p "$backup_path" mv $manifest_name "$backup_path/$manifest_name.manifest" xargs -n1 curl -O --output-dir "$backup_path" < $manifest_name.txt else # Skip if already present echo "Skipping backup of $manifest_name $version, backup already present" fi done # Archiving URLs remotely # Example usage: Wayback Machine - Save Page Now script by overcast07 # Obtain from https://github.com/overcast07/wayback-machine-spn-scripts # Substitute `spn` with path to spn.sh unless installed via AUR cat $lists > url_list.txt spn url_list.txt # Cleaning up rm $lists steam_client_{win32,ubuntu12,osx} steam_cmd_{win32,linux,osx} url_list.txt
Extras
Here are some extra procedures, for convenience.

Keeping the client offline forever
Note: Don't do this unless the client stops being able to connect to begin with, otherwise downloads/updates, multiplayer and other online features won't be available!
Note: This only works for the currently logged in account ("MostRecent" = "1")! Switching is not possible offline.

This makes the client launch faster and make no connection to Steam (please confirm), which is beneficial if it cannot connect.

The procedure:
  1. Navigate to the Steam directory, as outlined before
  2. Enter config directory
  3. Edit loginusers.vdf
  4. Under the desired user's SteamID64 (identifiable by "AccountName"), make sure these options are set to "1", adding any missing options if needed:
    "RememberPassword" "1" "WantsOfflineMode" "1" "SkipOfflineModeWarning" "1" "AllowAutoLogin" "1"
  5. Make the file read-only to prevent accidentally switching off "WantsOfflineMode" while using the client (ex. by using Steam > Go Online...)
  6. If you haven't already, edit steam.cfg as per section Preventing Client Updates

Removing the countdown banner
  • Universal
    Use this launch argument, read full explanation:
    -pretendeol-w10
  • VGUI banner
    WIP, try this procedure
  • Desktop UI (modern) banner
    WIP, hide .titlebarcontrols_OSEndOfLifeAlertsButton_1AcQ7 using the "Make webkit.css work again" procedure

    Another method (discovered by kojiro hyuga):
    Originally posted by kojiro hyuga:
    To remove countdown banner in new desktop UI:

    1. Go to Steamsteamuichunk~2dcc5aaf7.js
    2. Find and delete following:

    ("#Steam_EOLAlert",t.daysUntilOSEndOfLife,t.strOSName)

    ().OSEndOfLifeAlertsButton

VGUI (old UI) mode
In order to use the VGUI-based UI (used before the 2023 revision), downgrade to version 1690583737 and launch Steam with steam://restartinuimode/vgui. It supposedly works on Windows, but seems to be unreliable on Linux.

Otherwise, downgrade to version 1689034492 and launch Steam with -vgui.
Troubleshooting
In case downgrading causes additional issues, they will be addressed here.

Friends list no longer works in VGUI mode
In order to keep using browser-based Friends, follow this guide:
https://steamproxy.net/sharedfiles/filedetails/?id=3045036713

Direct URL to project page if the guide is down:
https://github.com/TiberiumFusion/FixedSteamFriendsUI

Additionally, it is accessible with a standalone browser here. Note that some functionality like in-game status and game invites won't work when using it outside of the client.

In the case of Firefox, PWAsForFirefox[addons.mozilla.org] can be used to more closely replicate the original experience.

Alternatively, old Friends List does still work to an extent. Activate it by using another switch, -nofriendsui, and in addition, move/remove the package directory (though moving/removing the manifest file is enough). This way, chat is mostly functional.

Steam features disabled on purpose
Some features, such as purchasing games, are disabled in some cases if the client version is too old. This check can be worked around by spoofing the version.
  1. Navigate to Steam > package
  2. Edit steam_client_<OS_type>.manifest
  3. Replace the version number in "version" field, or remove it as such:
    "version" ""
Get Assistance/Provide Feedback
While the comment section is open for everyone, due to the high volume of comments, it is advised to use the public forum instead. That way, it is easier to find previous cases so that the same questions don't need to be answered in full again.


502 Comments
lightwo  [author] 3 Jun @ 9:00am 
https://github.com/TiberiumFusion/FixedSteamFriendsUI/issues/11

Have you updated it though? Apparently the 3.0 update fixes the issue you're having.
Neozoon 3 Jun @ 8:11am 
yea
lightwo  [author] 3 Jun @ 8:02am 
Neozoon, are you using TiberiumFusion's chat fix?
[DSD]DukeNukem 2 Jun @ 6:44pm 
Interesting. When I look at the history of my comments on my activy, every one of them about this topic has vanished from my history. Curious. I'm making one again to see if it that works.
Neozoon 2 Jun @ 3:17pm 
I sometimes accidentically click on "Watch game" which makes the chat window bugged for this player, I get this Error:
Something went wrong while displaying this content. Refresh
Error Reference: Chat_8200419_c5074ac10d570e32
Cannot read property 'call' of undefined
lightwo  [author] 2 Jun @ 8:26am 
You don't really need to, I don't know if this ever happened to any Valve-owned domain before. I suspect the only reason it took hours was that it was night time in Bellevue, but you can probably imagine that a company of this scale would resolve the issue as soon as they could.

If it does happen again and you still want some way of accessing Steam during a presumed DNS mishap, you could note down the last IP for their domains that is resolved via DNS, the current one being 23.54.13.92.

With knowledge of the IPv4 (and optionally v6) address used by Steam (which is not the same for all Steam domains), you could append an entry like this to your hosts file:

23.54.13.92 steamproxy.net
Neozoon 2 Jun @ 8:15am 
Ok, I was worried that the old Steam Ui was somehow getting locked out again.
I case this happens again, how can I set up a local DNS cache?
lightwo  [author] 2 Jun @ 8:10am 
There were DNS issues because the domain was put into "clientHold" status, meaning that Valve presumably forgot to pay the registrar. This made it so that their DNS entries were temporarily wiped, leaving only users with DNS cache or manual "hosts" entries being able to access.
Neozoon 2 Jun @ 6:59am 
Ok, it was some weird behaviour, I could access the store still, and it also worked from my phone on Steamchat, but not from my PC.
burger boy 2 Jun @ 6:56am 
@neozoon the steam servers were down for awhile, although they are back online now.
-- you can seen the outage on the down detector.