[POC] Save Repository

Discussion in '3DS - Homebrew Development and Emulators' started by Scarecrow B, Jun 17, 2017.

  1. Scarecrow B
    OP

    Scarecrow B ScrapTown

    Member
    202
    140
    Dec 29, 2015
    Mexico
    First of all, I'm not sure if this is the right place to post this, so if I'm wrong please move it to the correct section.

    This is more a proof of concept rather than a release, but still I wanted to discuss this topic and see if there is anyone working on something similar.

    Problem:

    The 3DS Scene has lots of useful homebrews for downloading a lot of stuff, from themes to full games, but for saves (regular and edited) you have to browse through all the forum to see if there a save that fits your needs (because you are too lazy to play the game, lost your previous save, etc...), and yes.. I know there is already a thread for sharing saves but it is hard to find a specific save among all those pages and some saves are just for Gateway.

    Solution:

    Since there is already a great 3DS save manager I thought that could be reused as a starting point for sharing saves, and by using a free storage option like Mega, GDrive, or similars the only thing missing was some kind of interface/app to upload/download the saves and transfer them JKSM (I chose to use FTP for this).

    And since I was on vacation these past two weeks I made this little example showing a free option for sharing saves (using free hosting and mega api).

    Here is the code: https://github.com/Mithrenes/3DSSaveRepository
    Download: https://github.com/Mithrenes/3DSSaveRepository/releases/latest

    The idea is to take advantage of Mega's 50 GB of free storage to upload the saves and using a free hosting’s (or a cheap one) database for storing basic data for downloading and uploading there shouldn't be major issues. Anyway, my first attempt resulted in this.

    Pics


    Right now, it scans the folder JKSM uses for saves and also checks if there is ExtData for the selected save. When downloading/uploading it connects through FTP to the 3DS and transfers the files to the right place, then the user can load the save using JKSM.

    For now, this is only for 3ds saves but by changing just save type it is possible to make a repository for other system's saves. And if there is also a save manager and ftp for those systems then the same concepts apply. I'd like to use this thread to discuss the viability of such project and/or if there is already something similar.

    Finally, sorry for my bad English.


    -------------------- ADITIONAL INFO --------------------
    API
    Getting All Saves

    Getting download link

    -------------------- LOOKING FOR TESTERS --------------------
    Things that need to be tested:

    - Need people who can upload Japanese saves in order to test sorting and searching stuff.
    - People with a lot of saves, this includes: multiples saves for the same game (for the same and different region), saves for games with ExtData in addition to save data, saves which uses a lot of inner folders (like Pokémon), etc. It doesn't matter if the saves aren't completed or advanced, just add a description saying how much progress includes.
    - Also, referring to the above point, try to upload as many saves as possible in a single session (as a sort of mini stress test).
     
    Last edited by Scarecrow B, Jun 23, 2017
  2. clancy94

    clancy94 GBAtemp Fan

    Member
    427
    103
    Oct 18, 2008
    looks cool!
     
  3. Scarecrow B
    OP

    Scarecrow B ScrapTown

    Member
    202
    140
    Dec 29, 2015
    Mexico
    So, now I'm looking for a few beta testers to see how far this project can go. Nothing serious, just need some people with backed up saves (backed with JKSM) and who are willing to share them.
    For testing you just need 3 things:
    FTP homebrew (I use FTPD)
    JKSM homebrew
    The app from first post.

    Basically just open FTPD (or whatever you are using for ftp) and then open in your pc the save repository. For uploading first create an account and set your 3DS IP as showed by the ftp, then you should see all your backed up saves in the Upload Save tab and there you can select which slot you want to share. For downloading you don't need an account just open your ftp homebrew from your 3DS, set your IP and double click a save to transfer it to JKSM.

    Report any error/suggestion here or directly on github.
     
    Last edited by Scarecrow B, Jun 20, 2017
  4. Giodude

    Giodude Ruler of Italy

    Member
    GBAtemp Patron
    Giodude is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    3,947
    1,172
    May 17, 2015
    United States
    New York
    Not a bad idea, and sounds like an easy solution to implement. Hopefully in the future ftp and jksm could be merged into a program that backs up all of your saves to a computer automatically. Again not too hard to bodge together.
     
  5. SoslanVanWieren

    SoslanVanWieren GBAtemp Advanced Fan

    Member
    713
    110
    Feb 6, 2017
    Australia
    I was thinking of something like this but it uploads your saves from the 3ds to a cloud service
     
  6. DeoNaught

    DeoNaught ¯\_(ツ)_/¯

    Member
    1,512
    1,447
    Aug 22, 2016
    United States
    Over there ;)
    Will this eventually be so it is just on the 3ds?
     
  7. SkittleDash

    SkittleDash Loading...

    Member
    872
    372
    Oct 21, 2015
    Skyloft
    I forgot msi extensions were a thing. You made the exe extension feel sad because you replaced it. lol

    Awesome program BTW. x3
     
  8. RosaliinaDaHacker64

    RosaliinaDaHacker64 3DS font intermediate/expert

    Member
    606
    295
    Oct 7, 2015
    Ireland
    F:\gm9\out
    Dude, this is great. Hopefully save cloud will be implemented without PC. =)
     
  9. Byokugen

    Byokugen Unit_01

    Member
    1,363
    846
    May 16, 2016
    Serbia, Republic of
    Just a bit to the right, or was left...
    Tried with Senran Kagura, Pokemon Moon, Dragonball.Fusions and bravely default, no problems
     
  10. Jhynjhiruu

    Jhynjhiruu GBAtemp Advanced Fan

    Member
    510
    107
    Dec 31, 2016
    This seems great! If an FTP client could be built in, plus an app for the 3DS itself made, this would be amazing.
     
  11. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    12,097
    5,169
    Mar 17, 2010
    Norway
    Alola
    I like the program, easy to use and functional.
    You might want to separate saves by game, sort alphabetically and have a "jump to letter" function, no rush though, it's just something that will be really useful when there are a lot of saves uploaded.
    It would be awesome if it ran on the 3DS and had save export/import built in :)
     
    BL4Z3D247 likes this.
  12. SkittleDash

    SkittleDash Loading...

    Member
    872
    372
    Oct 21, 2015
    Skyloft
    -NVM- Found it. :)
     
    Last edited by SkittleDash, Jun 20, 2017
  13. Scarecrow B
    OP

    Scarecrow B ScrapTown

    Member
    202
    140
    Dec 29, 2015
    Mexico
    I'm also working on the api part so if anyone with good C/C++ wants to help then it "should" be possible to do the same from the 3DS, for uploading and downloading. Though, as I'm using Mega as cloud storage I'm not sure if mega api is homebrew friendly.

    Yes, that's already in my to do list but first I want to see if there are any critical errors/bugs that need fixing, and also I'd like to see how the dynamic listbox reacts when there is alot of saves before implementing more detailed listings.
     
    RosaliinaDaHacker64 likes this.
  14. Scarecrow B
    OP

    Scarecrow B ScrapTown

    Member
    202
    140
    Dec 29, 2015
    Mexico
    Update:
    Added API for getting saves info/DLink (still in beta), better sorting/filtering (sorting "should" work with japanese characters) and option to "update" your already uploaded saves by rigth clicking the one you want to update (3DS must already be connected through FTP). Also implemented autoupdater for the app.
     
    DeoNaught likes this.