Onion icon indicating copy to clipboard operation
Onion copied to clipboard

Implement cloud saves for the Mini+

Open schmurtzm opened this issue 1 year ago • 6 comments

The idea is to be able to continue your game on other platform. The target platform is EmuDeck.

schmurtzm avatar Apr 22 '23 16:04 schmurtzm

A simple way to do this would be to make a scraper program/script, which would connect to the MMP via SSH / SFTP / FTP, and sync those saves back and forth. This would work with the current Onion 4.2 beta already, with no need to change any code.

A script like that could be used for periodically backing up the saves too, which would be pretty neat, even if not using any other platforms.

anzz1 avatar Apr 22 '23 23:04 anzz1

Scripts like what anzz1 mentioned are what I've done on past offline consoles, running when SD card is mounted to a PC. It's save sync, but not cloud sync.

If we're doing it properly for cloud sync, I would suggest these elements:

  • rclone for the major work
  • OnionUI app for rclone config/setup of the most common services (dropbox, gdrive, onedrive, smb)
    • Optional for now if more advanced users are happy editing config manually
  • Running the rclone sync task when...
    • We start up an emulator
    • We gracefully exit an emulator

retroNUC avatar Apr 26 '23 13:04 retroNUC

There is also synthing which is not exactly a cloud sync, more of a local sync. It is supported on many platforms. Devices have to be up simultaneously to perform the sync, but if one of them is a smartphone that is basically always connected, this is not really a big constraint in practice.

jyannick avatar Apr 28 '23 12:04 jyannick

Head's up! You probably do not want credentials saved on the device until this is resolved, and the fix is deployed to your device :boom:

  • https://github.com/OnionUI/Onion/issues/818

synthead avatar May 13 '23 06:05 synthead

Scripts like what anzz1 mentioned are what I've done on past offline consoles, running when SD card is mounted to a PC. It's save sync, but not cloud sync.

If we're doing it properly for cloud sync, I would suggest these elements:

  • rclone for the major work

  • OnionUI app for rclone config/setup of the most common services (dropbox, gdrive, onedrive, smb)

    • Optional for now if more advanced users are happy editing config manually
  • Running the rclone sync task when...

    • We start up an emulator
    • We gracefully exit an emulator

I've hooked the MM+ up with syncthing and it's brought some interesting use cases to light that would affect a cloud save solution.

Ideally - this cloud save implementation would attempt to sync (push and pull saves) as it enters sleep mode and when the console is abruptly turned off, as well. Running sync when the emulator starts is a great idea, but could add a lot of delay to the quick launching of games.

Given the (brilliant) feature of disabling netwok when in game mode, temporarily re-enabling network as we enter 'sleep' and 'shutdown process' could be an involved task .

Further - we'd really benefit from the option of showing sync success / fail notifications when back in a non-game screen.

Finally - an explicit 'sync now' button on the main menu screen would add great piece of mind.

seanstardev avatar Dec 29 '23 13:12 seanstardev