I've found some interesting stuff about the offline mode bug, that might be useful. I was going to make a thread about it but this one popped up.
A lot of people think that to use Steam in offline mode, you have to switch to it first while online, meaning you can't use it if you don't already have an internet connection. While this is not true, it seems that for many people cannot start Steam when their
connection is down. If this applies to you, you will find that trying to go to offline mode gives a 'Cannot connect to Steam network' error.
I have been investigating the problem, and it seems that this only happens if Steam did not shut down cleanly the last time it was online. So if you exited Steam and disconnected from the internet to test offline mode, you would find that it worked fine. But if you left Steam running at shutdown, the process is terminated early and results in you not being able to go into offline when you next turn on your PC.
Here is an extract from my steam.log file when failing to start in offline mode:
Code:
CsComm Session Feb-20-2012 11:32:34.391 [5176] ReconnectThread (5176) Starting
Cache Error Feb-20-2012 11:32:42.923 [7104] Previous cache(7) was not shut down properly. Checking cache
state...
Cache Error Feb-20-2012 11:32:42.923 [7104] Failed to create cache(7) from existing file: Cannot perform
this operation while offline
CsComm Session Feb-20-2012 11:32:45.861 [5176] ReconnectThread (5176) Told to exit
Directly afterwards, starting Steam after reconnecting to the internet:
Code:
CsComm Session Feb-20-2012 11:37:01.335 [6980] ReconnectThread (6980) Starting
Cache Error Feb-20-2012 11:37:06.647 [4948] Previous cache(7) was not shut down properly. Checking cache
state...
Cache Status Feb-20-2012 11:37:06.649 [4948] Serializing(7)
Cache Status Feb-20-2012 11:37:06.650 [4948] Cache(7) recovery complete
Cache Status Feb-20-2012 11:37:06.650 [4948] Successfully created cache(7) from existing cache file
Cache Error Feb-20-2012 11:37:06.662 [1544] Previous cache(202) was not shut down properly. Checking cache
state...
Cache Status Feb-20-2012 11:37:06.662 [1544] Serializing(202)
Cache Status Feb-20-2012 11:37:06.662 [1544] Cache(202) recovery complete
Cache Status Feb-20-2012 11:37:06.662 [1544] Successfully created cache(202) from existing cache file
Cache Status Feb-20-2012 11:37:50.521 [4948] Cache(7) is shutting down
Cache Status Feb-20-2012 11:37:50.524 [4948] Serializing(7)
Cache Status Feb-20-2012 11:37:50.525 [4948] Cache(202) is shutting down
Cache Status Feb-20-2012 11:37:50.528 [4948] Serializing(202)
CsComm Session Feb-20-2012 11:37:50.528 [6980] ReconnectThread (6980) Told to exit
Using Process Monitor, I found that the problem cache is steamapps\winui.gcf, a file which is used mainly to store Steam interface resource files. After taking md5 hashes of the file at various points I found that the file is modified when Steam starts in online mode, and changes back when it exits. However, if Steam is not shutdown cleanly then the online version of the file is left there and this one prevents you from getting into offline mode. As well as this, I found that the online and offline versions of the file only differ in the very first line and the rest of the 35 MB file is exactly the same.
There are two things that I have found will let you reliably start Steam in offline mode:
1. Always exit Steam manually before shutting down your PC
Instead of leaving Steam to be terminated automatically by the operating system, right click on the Steam icon in the taskbar or notification area and select Exit Steam before shutting down or logging off.
2. Back up your winui.gcf file
Exit Steam or switch it to offline mode via the Steam menu. Then open Windows Explorer and navigate to %yoursteamdirectory%/steamapps and copy and paste winui.gcf. Give the copy a name like winui_backup.gcf, and then if you ever need to use offline mode, you can replace the broken file with your backup. Note that you may need to create a new backup every time there is a Steam update.