docker-emulatorjs icon indicating copy to clipboard operation
docker-emulatorjs copied to clipboard

[FEAT] An easy way to use and manage profiles

Open Ramaddan opened this issue 1 year ago • 15 comments

Is this a new feature request?

  • [X] I have searched the existing issues

Wanted change

There is currently a profile tab in EmulatorJS, but it does not seem to do anything.

Are the settings of each user saved in the browser he is using or on the host server?

If on the browser he or she are using, then that is another matter, but if on the host server, then each user should be given space to save his settings using this profile feature.

Also, more can be done with it with different people being managed as having admin privileges or not.

Reason for change

A normal user for example can currently change the settings if he has access to the local network, unless someting is wrong with my installation, because no login seems to be required.

Proposed code change

No response

Ramaddan avatar Sep 17 '24 14:09 Ramaddan

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

github-actions[bot] avatar Sep 17 '24 14:09 github-actions[bot]

There is an option for use of different profiles. It's just not very well documented. Data is stored on the host server under /config/profile/ You have the default profile under /config/profile/default On the home page you have an option in the upper left corner to login with username and password, and pull/upload data to/from the server. If you don't login you pull/upload data from /config/profile/default Inside the profile you can store retroarch configuration and save states.

theclergyman avatar Sep 17 '24 15:09 theclergyman

Hi,

Thank you for your reply.

I am using the docker container version, just in case that makes a difference.

I do not see any option anywhere to login

Also, for security reasons of people on the same local network, there should be a login by default

Maybe set it when logging in for the first time

Thanks

Ramaddan avatar Sep 17 '24 20:09 Ramaddan

If you're planning to expose this to the internet, you should be putting it behind proper authentication. You create your profiles in the backend (Profile Management) then you should have the option to login to a profile from the main page.

j0nnymoe avatar Sep 17 '24 20:09 j0nnymoe

No, I do not want to expose it to the internet, just local

But the local people should not be able to go into the settings and play with it

That is what I am confused about, because I do not have any login option whatsoever

It just directly takes me in

I can create profiles, but cannot do anything with them

Also, I thought maybe the profiles could be given out to users where it will save their own states for each user

Ramaddan avatar Sep 18 '24 00:09 Ramaddan

Click on the folder/settings icon on the top left, keep in mind everything is client side. So people using the same device have their own local "profile" stored by the browser. The profile concept is really for the core hoster that may be hopping devices usually over wan and wants to sync their saves. In my experience people tend to use the same device for stuff so profiles are not needed, also it is a push pull model, so you have to tell the server "here is the profile I want to upload" and "give me my profile this is an out of sync device". Whenever you are dealing with games and cloud saves it is the safest way to do it so you don't purge someone's 70 hour RPG save even though it is not the most convenient if you are hopping from your desktop and phone all the time.

thelamer avatar Sep 18 '24 01:09 thelamer

Screenshot_2024-09-18-19-03-30-080_com.brave.browser-edit.jpg

Hi,

Thank you for your reply

This is all I see on my screen @ localhost:3000

Or any other device on the same network

No login, nothing, and cannot choose any profile

Please forgive me if I am not understanding you

Ramaddan avatar Sep 18 '24 16:09 Ramaddan

Screenshot_2024-09-18-19-03-30-080_com.brave.browser-edit.jpg

Hi,

Thank you for your reply

This is all I see on my screen @ localhost:3000

Or any other device on the same network

No login, nothing, and cannot choose any profile

Please forgive me if I am not understanding you

This is your management console (backend) where you create new profiles and manage the ROMs. You need to open the frontend @localhost;80 (or whatever port you configured) to play your games and there on the upper left corner you have the option to login.

theclergyman avatar Sep 18 '24 16:09 theclergyman

I was hoping that I can stop others from being able to see the backend and ask for a password on the local network

Also, I do not see anything for being able to login on the frontend

Maybe it is related to another problem I have

I cannot go to localhost:80, or whatever other port number I set

I can only access the frontend by doing localhost:3000/frontend

I am using the docker container, in case it makes a difference

Ramaddan avatar Sep 19 '24 03:09 Ramaddan

I was hoping that I can stop others from being able to see the backend and ask for a password on the local network

Also, I do not see anything for being able to login on the frontend

Maybe it is related to another problem I have

I cannot go to localhost:80, or whatever other port number I set

I can only access the frontend by doing localhost:3000/frontend

I am using the docker container, in case it makes a difference

What are you talking about, no one should ever be playing games from port 3000, full stop.

Figure out how to generate the configs and use port 80.

thelamer avatar Sep 19 '24 12:09 thelamer

I used the commands given on the GitHub site

Am I missing anything, or do you mean I need to install something additional?

And even if I did, those on the local server can still access the system, again, unless there is something else to install to manage this

Ramaddan avatar Sep 19 '24 18:09 Ramaddan

Did you read through the application setup?

j0nnymoe avatar Sep 19 '24 18:09 j0nnymoe

Hi,

Thank you for your reply.

I thought I did, unless I was looking at the wrong page.

I am only using it on the local network, not on a server over the internet

Ramaddan avatar Sep 20 '24 03:09 Ramaddan

You have the readme in this repo and you have the landing page for the application on port 3000. You upload the roms, scan the roms, download the metadata for the roms, and add them to the config.

thelamer avatar Sep 20 '24 17:09 thelamer

But I do not have a problem with any of that

Everything works

The only issue is that anyone on the same local network can access the backend

Not on the internet mind you, only the local network

There is no login to block others from reaching the backend on port 3000 on the local network

And I cannot reach the frontend by going to localhost:80

I have to use localhost:3000/frontend to reach the frontend

So I can reach the frontend and play the games, no problem, but through port 3000

Ramaddan avatar Sep 21 '24 11:09 Ramaddan

It's ok, I figured it out.

There was a conflict with another service, but it did not give any direct error, and had to pass from an arbitrary external port to port 80

Ramaddan avatar Sep 24 '24 19:09 Ramaddan

Is it possible to manage logins to the backend through a third party software, without needing a website domain

All just on the local network

Nginx seems to require a registered domain

Thanks

Ramaddan avatar Sep 24 '24 19:09 Ramaddan

Once you setup swag you will be able to access all your apps through it. It is worth the time to setup properly, and you don't need a domain name, you can use a free service like duckdns. But also just in general once you set up the frontend you really don't need to use the backend anymore.

thelamer avatar Sep 24 '24 22:09 thelamer

Hi,

Thank you for your reply

I did see swag as an option

But I thought it required an internet connection, which is why it requires a dynamic DNS or a web domain

I do not want to have any internet link

Thanks

Ramaddan avatar Sep 25 '24 23:09 Ramaddan

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

LinuxServer-CI avatar Oct 26 '24 04:10 LinuxServer-CI

This issue is locked due to inactivity

LinuxServer-CI avatar Jan 25 '25 05:01 LinuxServer-CI