linuxserver / docker-emulatorjs

Web based retro emulation frontend with rom scanning and automated art ingestion.
GNU General Public License v3.0
512 stars 51 forks source link

Local Saves #2

Closed lsultana98 closed 2 years ago

lsultana98 commented 2 years ago

I was wondering if it was currently possible, or in the works for there to be a central location for save files. Rather than it being browser specific. Example for the use case would be if I wanted to play a ROM on multiple devices and use the same save.

Really liking this project so far.

github-actions[bot] commented 2 years ago

Thanks for opening your first issue here! Be sure to follow the bug or feature issue templates!

thelamer commented 2 years ago

The entire premise of this application is to be essentially server less, the backend is only used as a helper so people without any underlying knowledge can generate a functional set of frontend files. It is completely possible to setup a backend node server and dump SRAM to it on saves, but it is not something I am keen on maintaining or building.

lsultana98 commented 2 years ago

Fair enough, no problem then. Was looking for an application exactly like this, only draw back was the saves. Thanks for the reply mate.

thelamer commented 2 years ago

The application is open source, and the frontend uses browserfs. It has a global fs object just like a nodejs application would. There is nothing to stop anyone from dumping the directory contents of the browserfs mount under /home/web_user/retroarch/userdata folder. From there it can be downloaded as a tarball or pushed to any external server.

There are a little more docs here https://github.com/linuxserver/libretrojs about interacting with the module that is running to call saves, from there you just dump the resulting save somewhere.

Keep in mind this is open source, just because I don't want to do it, doesn't mean someone else can't.

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

richardphi1618 commented 2 years ago

+1 for this feature

thelamer commented 2 years ago

In the latest version there is now a file explorer icon in the top left of the interface, this allows you to manage the browser storage and download/upload full backups. While not cloud saving it does allow a user to migrate saves around to different devices.

4lexKidd commented 1 year ago

Just as a side note because this is very badly documented: In the current version it IS possible to have local save files on the server. For that to achieve you have to create a profile on the management-page (User + PW). After creating that profile, on the gaming/overview page in the upper left corner, there is a button/link to the file system. There you can log-in with the created profile credentials.

Using this allows you to download serversided saves to local device or upload your locally created saves & savestates to the server (and potentially backing them up) and to change the device/browser, login again and import from server to enjoy the same saves/savestates as created on the other machine. Sadly this feature was quite silently added and there is afaik no or very spare information on that. Stumpled on that Info on reddit as a user mentioned it.

For me, that is a complete gamechanger as of having emulatorjs self-hostet for my family.

looklook827 commented 1 year ago

Just as a side note because this is very badly documented: In the current version it IS possible to have local save files on the server. For that to achieve you have to create a profile on the management-page (User + PW). After creating that profile, on the gaming/overview page in the upper left corner, there is a button/link to the file system. There you can log-in with the created profile credentials.

Using this allows you to download serversided saves to local device or upload your locally created saves & savestates to the server (and potentially backing them up) and to change the device/browser, login again and import from server to enjoy the same saves/savestates as created on the other machine. Sadly this feature was quite silently added and there is afaik no or very spare information on that. Stumpled on that Info on reddit as a user mentioned it.

For me, that is a complete gamechanger as of having emulatorjs self-hostet for my family.

Thank you so much for telling it!!! This is an life-changing feature!!!

LordZeuss commented 1 year ago

Just as a side note because this is very badly documented: In the current version it IS possible to have local save files on the server. For that to achieve you have to create a profile on the management-page (User + PW). After creating that profile, on the gaming/overview page in the upper left corner, there is a button/link to the file system. There you can log-in with the created profile credentials.

Using this allows you to download serversided saves to local device or upload your locally created saves & savestates to the server (and potentially backing them up) and to change the device/browser, login again and import from server to enjoy the same saves/savestates as created on the other machine. Sadly this feature was quite silently added and there is afaik no or very spare information on that. Stumpled on that Info on reddit as a user mentioned it.

For me, that is a complete gamechanger as of having emulatorjs self-hostet for my family.

Awesome! Are you able to provide a step by step on how you load the save files? I was able to create a user profile, login, and upload a save file in the same folder as retroarch.cfg but I'm not sure how to load them or anything. Thanks!

Dkirk25 commented 5 months ago

Just as a side note because this is very badly documented: In the current version it IS possible to have local save files on the server. For that to achieve you have to create a profile on the management-page (User + PW). After creating that profile, on the gaming/overview page in the upper left corner, there is a button/link to the file system. There you can log-in with the created profile credentials.

Using this allows you to download serversided saves to local device or upload your locally created saves & savestates to the server (and potentially backing them up) and to change the device/browser, login again and import from server to enjoy the same saves/savestates as created on the other machine. Sadly this feature was quite silently added and there is afaik no or very spare information on that. Stumpled on that Info on reddit as a user mentioned it.

For me, that is a complete gamechanger as of having emulatorjs self-hostet for my family.

Not all heros wear capes

Dkirk25 commented 5 months ago

Just as a side note because this is very badly documented: In the current version it IS possible to have local save files on the server. For that to achieve you have to create a profile on the management-page (User + PW). After creating that profile, on the gaming/overview page in the upper left corner, there is a button/link to the file system. There you can log-in with the created profile credentials. Using this allows you to download serversided saves to local device or upload your locally created saves & savestates to the server (and potentially backing them up) and to change the device/browser, login again and import from server to enjoy the same saves/savestates as created on the other machine. Sadly this feature was quite silently added and there is afaik no or very spare information on that. Stumpled on that Info on reddit as a user mentioned it. For me, that is a complete gamechanger as of having emulatorjs self-hostet for my family.

Awesome! Are you able to provide a step by step on how you load the save files? I was able to create a user profile, login, and upload a save file in the same folder as retroarch.cfg but I'm not sure how to load them or anything. Thanks!

When you save your state, make sure to back to the file system page on the top right and click the " push up to server" button. Then you can go on your other devices and click the "pull down from server" button. Then everything should be in sync