It was at the end of last year that I posted this. It really took me away from gaming on the ps3 for a while. Earlier this year, I searched for a ps3 app that would sync a user’s game-saves to the cloud. I didn’t care which service was it, as long as it was free and easy to use. Unfortunately, apart from Sony’s PS Plus service, there was no application/home-brew that accomplished this task. But I did find this. A user named “gingerbread” on the ps3hax forums had this idea about a “Dropbox” app that could work like a game-save synchronization application for the PS3.

I decided to take a shot at it and although the development went slow for several reasons, I eventually finished the first set of features I planned for. The application is called “Playstation 3 – Cloud Drive”. You can install this application on a ps3 running a custom firmware. This app is programmed using “PSL1GHT” open source SDK and it was a pretty good experience working on the ps3 overall. Anyhow, here’s more information about the app itself:
Current Features:

The application works with Google Drive. You will need a Google account to use it.
Google Drive comes with 15GB of free space compared to PS Plus’s 1GB.
Remote Authorization through “OAuth 2 for Devices” does not need you to give application any of your personal information.
Bi-Directional Sync is possible. The application will sync your saves to the cloud and will download them to your hard drive.
Resume support is present and you can quit the application any time you want. The app will pick up from where it left off.
Resumable uploads and partial responses are supported.
Save Revision and pinning/sticky support.
Save Difference and update will only sync data that has changed to cut bandwidth usage.
gzip compression for faster transfers. This is to save bandwidth on those ridiculously big “replays” and saves from some games.
PSX/PS2 card slot sync. There were a lot of requests for this feature and version 1.1.7+ includes support for both ps1 and ps2 memory card slots.

Planned Features for next releases:

Selective Sync. Users can select the game-saves they want to sync to the cloud. This also requires a GUI for the user to select which saves he needs transferred. Most likely a Dual panel layout.
Multiple Playstation 3 units support per account. A user may sign into a PS3-Cloud-Drive account and download saves from another ps3. This feature is highly dependent on selective sync.
Save Resigning. Oh yeah, I know this’ll have to be done some day to make this app super awesome on all levels. But it’s prolly way down the road.

How to use: Authentication

Authentication is a one time process and you do not need to repeat it unless you delete the app or wipe your ps3s hard drive.
Download the “PlayStation 3 Cloud Drive“ at the bottom of this post.
Install it on your PS3. This app has been tested on various firmwares up to 4.41 CFW including (DEX/REX).
Run the app and it will generate a code for you. It will also prompt you to visit http://www.google.com/device
Visit the above url on your computer/smart phone and enter the code given by the application. You must be signed into a Google account for verification.
Click “Allow Access” to register your account with the app.
The PS3 will automatically detect the authentication as soon as you finish registration.
Once the authentication completes, the application will start building data and syncing game-saves to the cloud

How to use: General Usage

Every time you run the application, it will detect and sync changes to the cloud automatically.
You can press the “X” button to cancel the sync at any time. But let the application finish the current transfer. If you force quit it, there’s a chance of corrupting data.

Frequently Asked Questions:

Q: Does this app harvest or store any of my “personal” information?
A: No. the application uses Remote Authorization or OAuth 2 for authentication. It does not require any of your personal information. None of your personal data from the ps3 running the app, apart from game-saves, is transferred to the cloud. You may use a proxy application to sniff the data.

Q: Can’t you make this app work like a service? Such that it automatically runs in the ps3′s background?
A: I honestly do not know how to do that yet. If you know how, please get in touch.

Q: Do saves from the currently logged in user get uploaded or all users on my ps3?
A: The app syncs saves for all user profiles present on the internal HDD.

Q: Does the app sync PS1/PS2 cards?
A: Yes, version 1.1.7+ include support for PSX and PS2 save sync.

Q: Can I give custom paths to the app to sync?
A: Not right now because I do not plan to make it anything else apart from a gamesave sync utility. I might add a custom path feature later.

Q: Does this app update/modify/delete any of my saves?
A: Not at all. The application is designed to let the user decide what gets synced. It will never “ever” delete or modify any of your saves. See next question for more details.

Q: So how does it “download” saves back to my PS3 or any ps3?
A: The application will only download a save back to your hard drive, if you “delete” the save “yourself“. It will detect the missing save and automatically download it again.

Q: I formatted my ps3′s hard drive, how do I get all those saves back on the hard drive?
A: Install the app again on your PS3. Once authentication is done, it will start downloading all the saves to your hard drive.

Q: What about resigning? Does this app resign saves?
A: Not right now. But I understand this feature might come handy for this app “a lot”. It’s later down in my timeline. Besides resigning saves is a touchy matter. Once I’m sure the application can handle resigning properly, I’ll put it in. For now you can use “Aldos’s PS3 Tools“, which are actually a front end for flatz‘s awesome save tools.

Q: Can I use “one” account on two ps3s to sync saves?
A: In short, yes. You can use the same Google drive account to sync two ps3s. However, you must understand that the application has no way to differentiate the two Playstation units apart from the Gmail address used to register the application. So here’s what happens: If you sync your saves on PS3-A and then run the app on PS3-B with the same Google account. The application will download the saves from PS3-A which are “not” present on PS3-B. It will “not” replace or update saves that are already there. It “will” upload/update all the saves on PS3-B to the google drive account that were not present in PS3-A. Hence it might not be feasible for people that own two Playstation units and want separate save locations to use “one” google account to run the application. However, if you have one PS3 in the living room and another in the lounge with the same saves/games; You can use the same account. Once the application has “selective sync” feature implemented, it will be a lot easier to use this feature because the application will let the user decide what to upload/download on every sync.

Q: So why can’t you just program selective sync right away?
A: This is dependent on so many things but mostly because the PS3 dev community hasn’t been all that helpful. I’m figuring things out about the ps3 and psl1ght sdk over time. Currently, I’m trying to figure out selective list import/export functions on psl1ght. If any dev can help me with this, I’ll appreciate it.

Q: A corrupt save got uploaded/synced. And if I delete the corrupt save, the application keeps downloading the corrupt save.
A: By default the app thinks of the last save revision as the one that gets synced. However, if this scenario happens, you can go to Google Drive yourself and delete the last revision and pin the revision that is not corrupt. You may then download the save yourself or run the application again to download the correct revision. This is also a planned feature, where a user can select which revision he wants to download. See question for more details.

Q: My revisions got purged on Google Drive?
A: Google Drive has a default policy of purging older revisions after 30 days. This is enough time for you to recover any data. Read the linked article on how to recover a revision or mark it as pinned, such that it never gets purged.

Q: So why can’t you pin every revision by default?
A: This may be a future feature in the options but for now because every revision takes the same amount of space the original file does, this is not enabled. I understand that Google Drive has so much space for playstation3′s saves that it shouldn’t be a problem.

Q: The application data got corrupted due to a malfunction or the PS3 shutdown abnormally (power failure etc). How do I recover application data?
A: The app keeps a backup of your configuration and sync data with “.backup” extensions. You can delete the corrupted data and restore the backup. The backup might not be recent but it should still save you a lot of hassle.

Q: Is this app going to be open source?
A: I might make it open source if I don’t find time to fix bugs or update it.

Q: Can I cancel my PS Plus subscription now? I’ve got cloud save sync!
A: Oh no, PS Plus is so on another level. This is just one of its features. I don’t think Sony would like you to use their PS Plus subscription “and” have a CFW running. You’ve been warned.

Q: Can you make this app stealth like multiman?
A: I currently do not know how to do that. But may be down the road. If you know how to, drop me a message.

Q: Are you associated with Sony, Google or the PlayStation brand?
A: Nope, nada.

UPDATE: It has been brought to my attention by a user named “nuno” that the XMB does not “show” a game-save when downloaded from the cloud. This is only a visual glitch and your save is perfectly fine. The PS3 keeps a database of everything and the app currently cannot update that database directly as it resides in the flash. I’m working on a way to fix this. However, as a temporary solution, you can make the save appear in the XMB by playing the game for that game-save and overwrite the save once either with autosaving or manual save.

You can also rebuild the database from the recovery menu as well. This updates the PS3 database and you will begin to see the saves in the XMB.

Thanks to People:

I’d like to thank Baatish for taking the time out for testing the program with me for so long. I’d also like to thank some other people:

- gingerbread (it was his idea in the first place)
- KaKaRoToKS (for all the help on twitter)
- Rautz (tester)
- w0313 (tester)
- condorstrike
- any one else I’ve forgotten