YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
24 stars 8 forks source link

macOS can't use GameMaker with multiple user accounts #6295

Open gm-bug-reporter[bot] opened 4 months ago

gm-bug-reporter[bot] commented 4 months ago

Description

macOS

GameMaker is installed at /Users/Shared/GameMakerStudio2 with permissions for the user that ran the installer.

If a different user starts GameMaker it complains about access to /Users/Shared/GameMakerStudio2 and can't start.

Applications on macOS are normaly installed elsewhere and anything that needs write access is put in the home directory of the user, eg caches.

Steps To Reproduce

On a mac with 2 user accounts Log in as user 1 Install Game Maker Log in as user 2 Try to start Game Maker

Which version of GameMaker are you reporting this issue for?

IDE v2024.4.1.152 Runtime v2024.4.1.201

Which operating system(s) are you seeing the problem on?

Mac 12.7.2

6cdcb5fc-6c69-48a4-badd-41cebe351e63

francisdb commented 4 months ago

As a start it would be better if no write access is required to /Users/Shared/GameMakerStudio2 as it seems to be readable by anybody.

francisdb commented 4 months ago

image

francisdb commented 4 months ago

Another related issue after removing and installing as a different user

Schermafbeelding 2024-06-15 om 16 11 37
L-Clouds commented 4 months ago

For a little extra info, this was also brought up on the GMC forum in the past, in the context of school computers being where users (students) would have different accounts from the one that installed GameMaker (admin teacher): https://forum.gamemaker.io/index.php?threads/cant-run-or-clean-on-mac-permission-denied.107758/

stuckie commented 4 months ago

We do have our guide on what permissions and antivirus settings are required for GameMaker to work properly, of which the /Users/Shared/GameMakerStudio2 folders are mentioned as requiring read/write access. However, we'll take a look to see if there is anything further the installer can do in these circumstances.

francisdb commented 4 months ago

However, we'll take a look to see if there is anything further the installer can do in these circumstances.

I don't think the installer is the issue here. It's user/tmp/cache data being written to system folders instead of the user folder.

L-Clouds commented 4 months ago

We do have our guide on what permissions and antivirus settings are required for GameMaker to work properly, of which the /Users/Shared/GameMakerStudio2 folders are mentioned as requiring read/write access. However, we'll take a look to see if there is anything further the installer can do in these circumstances.

In the case of the teacher whose thread I referenced, they needed to use the chmod command via the terminal to grant global execution permission to Igor - something that can't be done through the Finder's usual permissions GUI - despite /Users/Shared already having read/write permission for all users. That was in 2023.8 so it might or might not still be an issue (and I don't myself have a Mac to confirm).

The guide only mentions "full read+write access", not execution. Also, the guide does not have instructions for setting up the necessary permissions; although that may be out-of-scope due to unpredictability in users' system versions and setups, it is a weakness of the guide.

stuckie commented 3 months ago

I don't think the installer is the issue here. It's user/tmp/cache data being written to system folders instead of the user folder.

This is not entirely accurate, as it is shared data. For example, this is where the runtimes are stored, which should be shared amongst users as they can be rather big. Having each user maintain their own copies of the same runtimes would add up quickly. The installer would be able to set permissions on install, however, which is why I mentioned it.

That said, not every setup is the same, and we do have to defer to the user, or the school's IT department, as to how they have set up their machines; be it Windows or macOS. Giving a directory full read/write/execute permissions can absolutely be a security risk in some cases, so it's not something we want to just do from the outset for everyone.