Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] An easy way to use and manage profiles #80

Open
1 task done
Ramaddan opened this issue Sep 17, 2024 · 20 comments
Open
1 task done

[FEAT] An easy way to use and manage profiles #80

Ramaddan opened this issue Sep 17, 2024 · 20 comments
Labels
enhancement New feature or request no-issue-activity

Comments

@Ramaddan
Copy link

Is this a new feature request?

  • 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 Ramaddan added the enhancement New feature or request label Sep 17, 2024
Copy link

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

@theclergyman
Copy link

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.

@Ramaddan
Copy link
Author

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

@j0nnymoe
Copy link
Member

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.

@Ramaddan
Copy link
Author

Ramaddan commented Sep 18, 2024

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

@thelamer
Copy link
Member

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.

@Ramaddan
Copy link
Author

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

@theclergyman
Copy link

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.

@Ramaddan
Copy link
Author

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

@thelamer
Copy link
Member

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.

@Ramaddan
Copy link
Author

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

@j0nnymoe
Copy link
Member

Did you read through the application setup?

@Ramaddan
Copy link
Author

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

@thelamer
Copy link
Member

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.

@Ramaddan
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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

@thelamer
Copy link
Member

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.

@Ramaddan
Copy link
Author

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

@LinuxServer-CI
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request no-issue-activity
Projects
Status: Issues
Development

No branches or pull requests

5 participants