It does work forever. Sure, there is no absolute guarantee that the client doesn't have a builtin expiration date of several years, but it seems very unlikely.
I've just tested an old steam client backup with some game backups of the same date from November 2019 (nearly 2 years ago
) on another offline non-steam pc. To make the situation more diffcult, the backup is from a windows 7 machine while the test pc has windows 10. Result: It works perfectly
I've also tested a recent client backup with old game backups and they work perfectly too. So the client obviously doesn't check the game's "age". Though I would definitely advise to backup the client often, since you never know if Valve will change sth. in the future. Btw. here are some important tips, that are not covered in the initial post
-to disable the client's check for updates on start and force the offline mode, create a "steam.cfg" in the Steam folder and add the following lines
-to skip the annoying offline mode warning, add/change the following lines in your "config/loginusers.vdf"
"WantsOfflineMode" = "1"
"SkipOfflineModeWarning" = "1"
-the client backup should not only include the Steam folder but also the registry entries steam creates:
-> those contain login information and info about the redistributables (directx etc) needed for some games
-> restoring these allows the automatic login into offline mode and skips the redistributables installation (off course make sure that everything is installed beforehand)
-if you (accidently) change the activation of a dlc or the game language for a game in the client, it wants to update the game online. You can revert this if you restore the game's appmanifest*.acf from backup and/or make sure that "StateFlags" is set to "4" in the appmanifest file. This tells the client that the game is fully downloaded and doesn't need to be updated.
PS: If there is interest I will also post my client blackup and start scripts that automates these things.