It's coming. Y2K24 will be on us before we know it. Will it be the end of the civilisation or a new beginning? There are only a few things you need to do to be fully prepared for the worst!
Preface
Unless you want to back up existing packages, no action is required until December (or in the case of macOS 10.11 and 10.12, August)!
However, you may read on to be ready for what is to happen ahead of time and get to know your tools at your pace.
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.
Preparation Phase 1: Prevention
If your Internet availability is shoddy, it may be best that you save this page for offline use within your browser, although it will be worth coming back to it online as there may be major edits to it, especially following year 2024.
No? Worry not, this procedure is not so urgent, and if you miss it, you will be able to roll back to the latest working version once it gets archived, as detailed in Post-Y2K24: For the Unprepared. However, it is worth reading on just to have an idea of what the process is like at the time of writing, and hopefully it won't change by the time it becomes important.
Is it 30th of December? 31st?!

...again, while it is time to act now, if you forget to do this, you can always roll back. Still, doing it ahead of time is a much quicker process, so I encourage that you read on.
By the way, pssst—the red banner is only cosmetic, it's the update which bricks the client, not the client itself.
Preventing client updates
Check your calendar. Is it December?No? Worry not, this procedure is not so urgent, and if you miss it, you will be able to roll back to the latest working version once it gets archived, as detailed in Post-Y2K24: For the Unprepared. However, it is worth reading on just to have an idea of what the process is like at the time of writing, and hopefully it won't change by the time it becomes important.
Is it 30th of December? 31st?!

...again, while it is time to act now, if you forget to do this, you can always roll back. Still, doing it ahead of time is a much quicker process, so I encourage that you read on.
By the way, pssst—the red banner is only cosmetic, it's the update which bricks the client, not the client itself.
Editing steam.cfg
Using steam.cfg, client updates can be prevented permanently. Edit it before the client-bricking update lands, preferably as late into 2023 as possible, in order to receive the latest working update.- Navigate to the Steam directory:
- Windows 32-bit:
C:\Program Files\Steam - Windows 64-bit:
C:\Program Files (x86)\Steam
- Linux:
~/.local/share/Steam - MacOS:
~/Library/Application Support/Steam
- Windows 32-bit:
- Create a new file, steam.cfg, unless it is already present
- Paste this in:
BootStrapperInhibitAll=enableIf you want, you could do this ahead of time, just make sure to prepend it with a # so that it is commented out (ignored) until needed.
Preparation Phase 2: SteamCMD
Hurray, the apocalypse wasn't so bad after all!
...is what I would have said if reality wasn't a thing. As has been the case with Steam retiring the old library and Windows XP, simply using an old client version won't suffice forever. Launching games is possible only using Offline Mode, and downloads/updates haven't worked for years, due to the download algorithm changing over time.
If downloading/updating games still works, don't panic and keep using the client as usual for now.
However, there is a likely hero in this battle for survival for when things go rogue, and that is SteamCMD!
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.
In any case, to be affected as little as possible, NOW is the time to learn SteamCMD!
For convenience, use whichever you prefer:
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:
Close SteamCMD, remove its steamapps directory, then run this command:
If you want to use the command line, in order to download/update games, use the command:
Additional arguments:
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:
SteamCMD, by default, uses the location it's stored in. If a Steam client installation is present, it will use it as well, inheriting its custom library folders.
In order to switch to a location not managed by Steam client, use this command:
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:
...is what I would have said if reality wasn't a thing. As has been the case with Steam retiring the old library and Windows XP, simply using an old client version won't suffice forever. Launching games is possible only using Offline Mode, and downloads/updates haven't worked for years, due to the download algorithm changing over time.
If downloading/updating games still works, don't panic and keep using the client as usual for now.
However, there is a likely hero in this battle for survival for when things go rogue, and that is SteamCMD!
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.
In any case, to be affected as little as possible, NOW is the time to learn SteamCMD!
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 a Steam client installation is present, it will use it as well, inheriting its custom library folders.
In order to switch to a location not managed by Steam client, 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!
Preparation Phase 3: Backups
What's safer than making 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
Post-2024: For the Prepared
Time is ticking, and Y2K24 is just a few days/hours/seconds away. If you edited steam.cfg as per Preparation Phase 1: Prevention and Steam starts up just fine, you are done!
As of now, downloads in the main client and SteamCMD are both still operational on the last supported versions, so sit back and enjoy gaming without any disruptions or care in the world. For now.
When that changes, refer to Preparation Phase 2: SteamCMD if you forget how SteamCMD works. Considering all software changes, it may be worth returning to this guide online to check if the usage of SteamCMD changed in the meantime.
As of now, downloads in the main client and SteamCMD are both still operational on the last supported versions, so sit back and enjoy gaming without any disruptions or care in the world. For now.
When that changes, refer to Preparation Phase 2: SteamCMD if you forget how SteamCMD works. Considering all software changes, it may be worth returning to this guide online to check if the usage of SteamCMD changed in the meantime.
Post-2024: For the Unprepared
Oh no, the apocalypse is here!
Fear not, Steam isn't totally toast. You may follow this procedure to downgrade to the last working version.
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.
Protip: In order to use the VGUI-based UI (used before the 2023 revision), try using 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.
However (TODO), Chat/Friends Network is problematic, this is being tested.
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/.
Fear not, Steam isn't totally toast. You may follow this procedure to downgrade to the last working version.
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.- If you previously enrolled to Steam Client Beta, launch Steam with -clearbeta and dismiss the "Steam needs to be online to update" error
- Exit Steam
- 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
- Steam should downgrade itself and exit
- 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
- Before launching Steam another time, create steam.cfg as per Preparation Phase 1: Prevention
Protip: In order to use the VGUI-based UI (used before the 2023 revision), try using 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.
However (TODO), Chat/Friends Network is problematic, this is being tested.
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
- Download package files (WIP, add URL)
- Navigate to the Steam directory, as outlined before
- Remove the contents of package folder
- Extract files from the downloaded archive into package
- Launch Steam, let it update, and on the Extracting package... step, press Cancel
- Remove package > tmp
- From the downloaded archive, copy steam_client_* files to package, confirm overwriting
- Launch Steam again
- Before launching Steam another time, create steam.cfg as per Preparation Phase 1: Prevention
- Done!
New Temporary Method of Downgrading
After seeing 2 reports of incomplete downgrades, I realised there has to be a backup plan.
The method I am presenting is definitely not one I prefer as the trust solely lies on me, instead of Save Page Now making sure that the archival was done directly by Internet Archive. I am presenting a way of making use of an old-fashioned reupload.
Note: Doing this yourself requires that you run or use someone else's web server and that all files are kept separately, not compressed to a single file.
The method I am presenting is definitely not one I prefer as the trust solely lies on me, instead of Save Page Now making sure that the archival was done directly by Internet Archive. I am presenting a way of making use of an old-fashioned reupload.
Note: Doing this yourself requires that you run or use someone else's web server and that all files are kept separately, not compressed to a single file.
The other other method
Instead of the URL you got originally, use this one:- Navigate to this page[archive.org]
- Use The Downgrade Table and find the manifest version you need
- 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
- Copy the URL for step 3 of The quick, online way
Restoring the client in case of an incomplete downgrade
If you give up, it is sufficient to do this and not lose any of your data:- Delete steam.cfg if it was previously created
- Launch Steam with these arguments:
-forcesteamupdate -forcepackagedownload -exitsteam - The client will exit; the next time you start it, it should be back to normal
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
steam_client_win32 - Windows
steam_client_ubuntu12 - Linux (regardless of distribution)
steam_client_osx - macOS
Wayback Machine date
Manifest version
Notes
1674790765
Fixes, last update before the removal of -no-browser and -noreactlogin
1682573004
1685488080
Preload banner hotfix, last update before new desktop UI and -oldbigpicture removal
1686779606
Initial new desktop UI version, -oldbigpicture removed
1689034492
Generic notification sounds, fixes, last update before -vgui removal
1690583737
xdg-desktop-portal no longer necessary on Linux, fixes, -vgui removed
1694466342
Indonesian language, fixes, removal of steam://restartinuimode/vgui
The Downgrade Table (SteamCMD)
steam_cmd_win32 - SteamCMD Windows
steam_cmd_linux - SteamCMD Linux
steam_cmd_osx - SteamCMD macOS
steam_cmd_linux - SteamCMD Linux
steam_cmd_osx - SteamCMD macOS
Wayback Machine date
Manifest version
Notes
Troubleshooting
In case downgrading causes additional issues, they will be addressed here.
In the case of Firefox, PWAsForFirefox[addons.mozilla.org] can be used to more closely replicate the original experience without having to fix the client itself.
Friends list no longer works
While a direct workaround hasn't been found yet, it is possible to use Steam Chat in Big Picture Mode, or alternatively in a browser here. Note that some functionality like in-game status and game invites won't work in the browser.In the case of Firefox, PWAsForFirefox[addons.mozilla.org] can be used to more closely replicate the original experience without having to fix the client itself.
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 Steamworks features won't be available!- Navigate to the Steam directory, as outlined before
- Enter config directory
- Edit loginusers.vdf
- Under the desired user's SteamID64, add these lines:"WantsOfflineMode" "1" "SkipOfflineModeWarning" "1"
Removing the countdown banner
- VGUI banner
https://steamcommunity.com/discussions/forum/10/3821910251180977217/#c3821910883998216202
- Desktop UI (modern) banner
WIP, hide .OSEndOfLifeAlertsButton presumably? (discovered by kojiro hyuga)
To remove countdown banner in new desktop UI:
1. Go to Steam\steamui\chunk~2dcc5aaf7.js
2. Find and delete following:
("#Steam_EOLAlert",t.daysUntilOSEndOfLife,t.strOSName)
().OSEndOfLifeAlertsButton
Attribution
Material:
Testing/help:
Archivists:
Testing/help:
Archivists:
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.