Posted January 31, 2010
high rated
Greetings fellow GOGers. From the land of fjords and dead blue parrots I hereby present this overly verbose guide.
If you successfully complete the procedure described below, you will be able to:
- Automatically synchronize save games between different computers if you play the same game on more than one (e.g. a desktop and a laptop)
- Automatically back up save games with an online backup service (if your house burns down with your computer inside it, you will at least have preserved your saved games!)
- If a save file has been corrupted (e.g. if the game crashes while saving) you will be able to restore an earlier, working copy of that file.
Required software
- Dropbox
- Link Shell Extension (download links are at the very bottom of the page)
Background
Dropbox requires you to create a user account, the 2 GB subscription option is free. When the application is installed you will get a new folder under My Documents which is called My Dropbox. All files located in this folder will be synchronized automatically as long as the Dropbox application is running in the system tray (it autostarts by default, best not to disable it).
The Link Shell Extension (LSE) application provides for the creation of various types of hard links and soft links, these should be familiar to Linux users. Basically you may create multiple access points to a file or folder, so that it can be accessed from multiple paths. What LSE is used for in this case is to create soft links that allow your game's save files to appear in both the default save folder and the Dropbox folder at the same time, without actually being duplicated on the hard drive. Read the LSE website if you are interested in how this works.
Caveats
- The solution described below works best for games that put their saved games in a separate subfolder. If the game stores saves in the same folder as the game executable or large resource files, then all files will be synchronized and you'll use a large amount of bandwidth and Dropbox storage.
- This solution only works with NTFS-formatted volumes. If the your My Documents folder or the game saves are located on a FAT-formatted drive, it won't work.
Locating the save files
There is no standardized place for games to put their save files. Consequently, different games use different folders. Many older games simply store saves in a subfolder where the game is installed, so check that first. GOG games are installed at C:\Program Files\GOG.com\ by default.
More modern games will typically place their save files somewhere in the user's home directory. The most common locations are listed below.
Windows XP:
C:\Documents and Settings\<user name>\Application Data
C:\Documents and Settings\<user name>\Local Settings\Application Data
C:\Documents and Settings\<user name>\My Documents
C:\Documents and Settings\<user name>\My Documents\My Games
The equivalent folders in Vista and 7:
C:\Users\<user name>\AppData\Roaming
C:\Users\<user name>\AppData\Local
C:\Users\<user name>\Documents
C:\Users\<user name>\Documents\My Games
How to use LSE
LSE can create several types of links. XP users should use the "Junction" type, Vista and 7 users may use "Junction" or "Symbolic Link". The links may be created in two ways:
Option 1: Select a folder, click the right mouse button, choose Pick Link Source from the action menu. Navigate to the destination folder, right click, open the submenu Drop As ... and select Junction or SymbolicLink.
Option 2: Drag and drop the folder to the destination location using the right mouse button. When the right mouse button is released, select the Drop Here ... submenu and then Junction or SymbolicLink.
How to set up synchronization
The basic procedure is as follows. This assumes that the game is installed and has been run at least once, so that the save folder has been created. (It is sometimes not created before you run the game and make your first save)
1. Create a new folder for the save files in your Dropbox folder
2. Move the game's save folder to the newly created folder from step 1
3. Create a Junction or Symbolic Link that points from the save folder's new location to its default location.
On any secondary computers you only do step 3 above. The Dropbox folder will already contain the save folder because of the automatic synchronization.
Real world example
This assumes two computers, number one running Windows XP and number two running Windows 7. I will add synchronization for my Longest Journey saves, and my Windows user name is Tor. The Longest Journey, Dropbox and LSE has already been installed on both computers.
On computer 1:
A: I create the new folder C:\Documents and Settings\Tor\My Documents\My Dropbox\Game saves\The Longest Journey
B: I locate my saves at C:\Documents and Settings\Tor\Application Data\The Longest Journey\Save
C: I move the Save folder from step B to the Dropbox folder, so that its new path is C:\Documents and Settings\Tor\My Documents\My Dropbox\Game saves\The Longest Journey\Save. Dropbox will now upload all my existing saves to my online storage account.
D: I right click the Save folder and select Pick Link Source
E: I right click inside the C:\Documents and Settings\Tor\Application Data\The Longest Journey folder and select Drop As ... > Junction.
If I run TLJ at this point, any new saves I create will appear in both save folders, the one under Application Data and the one under My Dropbox. The saves will be uploaded to the storage service automatically.
On computer 2:
By this point, computer 2 will already contain the save files from computer 1, under C:\Users\Tor\Documents\My Dropbox\Game saves\The Longest Journey\Save
F: I create a new folder called "The Longest Journey" under C:\Users\Tor\AppData\Roaming
G: I right click the C:\Users\Tor\Documents\My Dropbox\Game saves\The Longest Journey\Save folder and select Pick Link Source
H: I right click inside the C:\Users\Tor\AppData\Roaming\The Longest Journey folder and select Drop As ... > SymbolicLink.
That's all. I can now play the game on both computers (not at the same time of course, or there may be conflicting changes to the save folder) and all saves will appear on both computers. The attached screenshots show the end results on computers 1 and 2.
Conclusion
I've been using this solution since early December and it has been working very well. Dropbox also works on Linux, so you can even sync e.g. Dosbox and ScummVM saves between Linux and Windows computers.
I apologize for the long and complicated explanation. The procedure actually is fairly easy once you understand how it works. Suggestions and corrections are welcome. If you want to reply to this message, you obviously shouldn't quote the entire thing...
If you like this idea and want to try it for yourself, please use my Dropbox referral link when you sign up for a Dropbox account. That way I'll get 250 MB of bonus storage in my account, and you will too!
Eat your heart out, Steam Cloud!
Note: It has been suggested in this thread that Microsoft's new sync and file sharing service Live Mesh may make this job easier, by negating the need for making junctions or symbolic links. I haven't tried it myself, but you may want to check it out. Also, people who prefer an offline-based approach should consider using a USB flash drive to store saves and a tool like SyncToy on each computer to synchronize the saves between the hard drive and the flash drive.
If you successfully complete the procedure described below, you will be able to:
- Automatically synchronize save games between different computers if you play the same game on more than one (e.g. a desktop and a laptop)
- Automatically back up save games with an online backup service (if your house burns down with your computer inside it, you will at least have preserved your saved games!)
- If a save file has been corrupted (e.g. if the game crashes while saving) you will be able to restore an earlier, working copy of that file.
Required software
- Dropbox
- Link Shell Extension (download links are at the very bottom of the page)
Background
Dropbox requires you to create a user account, the 2 GB subscription option is free. When the application is installed you will get a new folder under My Documents which is called My Dropbox. All files located in this folder will be synchronized automatically as long as the Dropbox application is running in the system tray (it autostarts by default, best not to disable it).
The Link Shell Extension (LSE) application provides for the creation of various types of hard links and soft links, these should be familiar to Linux users. Basically you may create multiple access points to a file or folder, so that it can be accessed from multiple paths. What LSE is used for in this case is to create soft links that allow your game's save files to appear in both the default save folder and the Dropbox folder at the same time, without actually being duplicated on the hard drive. Read the LSE website if you are interested in how this works.
Caveats
- The solution described below works best for games that put their saved games in a separate subfolder. If the game stores saves in the same folder as the game executable or large resource files, then all files will be synchronized and you'll use a large amount of bandwidth and Dropbox storage.
- This solution only works with NTFS-formatted volumes. If the your My Documents folder or the game saves are located on a FAT-formatted drive, it won't work.
Locating the save files
There is no standardized place for games to put their save files. Consequently, different games use different folders. Many older games simply store saves in a subfolder where the game is installed, so check that first. GOG games are installed at C:\Program Files\GOG.com\ by default.
More modern games will typically place their save files somewhere in the user's home directory. The most common locations are listed below.
Windows XP:
C:\Documents and Settings\<user name>\Application Data
C:\Documents and Settings\<user name>\Local Settings\Application Data
C:\Documents and Settings\<user name>\My Documents
C:\Documents and Settings\<user name>\My Documents\My Games
The equivalent folders in Vista and 7:
C:\Users\<user name>\AppData\Roaming
C:\Users\<user name>\AppData\Local
C:\Users\<user name>\Documents
C:\Users\<user name>\Documents\My Games
How to use LSE
LSE can create several types of links. XP users should use the "Junction" type, Vista and 7 users may use "Junction" or "Symbolic Link". The links may be created in two ways:
Option 1: Select a folder, click the right mouse button, choose Pick Link Source from the action menu. Navigate to the destination folder, right click, open the submenu Drop As ... and select Junction or SymbolicLink.
Option 2: Drag and drop the folder to the destination location using the right mouse button. When the right mouse button is released, select the Drop Here ... submenu and then Junction or SymbolicLink.
How to set up synchronization
The basic procedure is as follows. This assumes that the game is installed and has been run at least once, so that the save folder has been created. (It is sometimes not created before you run the game and make your first save)
1. Create a new folder for the save files in your Dropbox folder
2. Move the game's save folder to the newly created folder from step 1
3. Create a Junction or Symbolic Link that points from the save folder's new location to its default location.
On any secondary computers you only do step 3 above. The Dropbox folder will already contain the save folder because of the automatic synchronization.
Real world example
This assumes two computers, number one running Windows XP and number two running Windows 7. I will add synchronization for my Longest Journey saves, and my Windows user name is Tor. The Longest Journey, Dropbox and LSE has already been installed on both computers.
On computer 1:
A: I create the new folder C:\Documents and Settings\Tor\My Documents\My Dropbox\Game saves\The Longest Journey
B: I locate my saves at C:\Documents and Settings\Tor\Application Data\The Longest Journey\Save
C: I move the Save folder from step B to the Dropbox folder, so that its new path is C:\Documents and Settings\Tor\My Documents\My Dropbox\Game saves\The Longest Journey\Save. Dropbox will now upload all my existing saves to my online storage account.
D: I right click the Save folder and select Pick Link Source
E: I right click inside the C:\Documents and Settings\Tor\Application Data\The Longest Journey folder and select Drop As ... > Junction.
If I run TLJ at this point, any new saves I create will appear in both save folders, the one under Application Data and the one under My Dropbox. The saves will be uploaded to the storage service automatically.
On computer 2:
By this point, computer 2 will already contain the save files from computer 1, under C:\Users\Tor\Documents\My Dropbox\Game saves\The Longest Journey\Save
F: I create a new folder called "The Longest Journey" under C:\Users\Tor\AppData\Roaming
G: I right click the C:\Users\Tor\Documents\My Dropbox\Game saves\The Longest Journey\Save folder and select Pick Link Source
H: I right click inside the C:\Users\Tor\AppData\Roaming\The Longest Journey folder and select Drop As ... > SymbolicLink.
That's all. I can now play the game on both computers (not at the same time of course, or there may be conflicting changes to the save folder) and all saves will appear on both computers. The attached screenshots show the end results on computers 1 and 2.
Conclusion
I've been using this solution since early December and it has been working very well. Dropbox also works on Linux, so you can even sync e.g. Dosbox and ScummVM saves between Linux and Windows computers.
I apologize for the long and complicated explanation. The procedure actually is fairly easy once you understand how it works. Suggestions and corrections are welcome. If you want to reply to this message, you obviously shouldn't quote the entire thing...
If you like this idea and want to try it for yourself, please use my Dropbox referral link when you sign up for a Dropbox account. That way I'll get 250 MB of bonus storage in my account, and you will too!
Eat your heart out, Steam Cloud!
Note: It has been suggested in this thread that Microsoft's new sync and file sharing service Live Mesh may make this job easier, by negating the need for making junctions or symbolic links. I haven't tried it myself, but you may want to check it out. Also, people who prefer an offline-based approach should consider using a USB flash drive to store saves and a tool like SyncToy on each computer to synchronize the saves between the hard drive and the flash drive.
Post edited February 25, 2010 by tor