Once Human

Once Human

raggi Jul 9, 2024 @ 6:33pm
Adminstrator rights?
The game demands elevated privileges to administrator rights, is there any flag we can pass to stop that? As it's a game there's no way they went through getting a security audit. It also has no need to be able to read other users files, adjust drivers, etc. It shouldn't be running as admin, no games should.
< >
Showing 1-15 of 24 comments
raggi Jul 9, 2024 @ 7:15pm 
This works to force prevent UAC elevation, from inside the game directory:

cmd.exe /c "set __COMPAT_LAYER=RunAsInvoker && ONCE_HUMAN.exe --start_from_launcher=1"
Jwendl Jul 9, 2024 @ 7:17pm 
Oh nice!
Smketreez Jul 9, 2024 @ 8:08pm 
2
Originally posted by raggi:
This works to force prevent UAC elevation, from inside the game directory:

cmd.exe /c "set __COMPAT_LAYER=RunAsInvoker && ONCE_HUMAN.exe --start_from_launcher=1"

Please stop telling people this. this bypasses needing the windows password, the program still runs with full admin rights doing this.

COMPAT_LAYER is Compatibility Layer. RunAsInvoker means run with what ever the program asks for && ONCE_HUMAN.exe means apply that setting to this program.

This does not do what you thought it did, exactly the opposite. You just told windows you're so cool with it, you don't even want windows to ask about it.
GalacticChore Jul 10, 2024 @ 8:59am 
Originally posted by Smketreez:
Originally posted by raggi:
This works to force prevent UAC elevation, from inside the game directory:

cmd.exe /c "set __COMPAT_LAYER=RunAsInvoker && ONCE_HUMAN.exe --start_from_launcher=1"

Please stop telling people this. this bypasses needing the windows password, the program still runs with full admin rights doing this.

COMPAT_LAYER is Compatibility Layer. RunAsInvoker means run with what ever the program asks for && ONCE_HUMAN.exe means apply that setting to this program.

This does not do what you thought it did, exactly the opposite. You just told windows you're so cool with it, you don't even want windows to ask about it.

Not true, RunAsInvoker means run with privileges of who or what started it.
If it actually required elevation and the process that started it isnt then it would still pop a UAC prompt.
RoDaBaFilms Jul 10, 2024 @ 9:18am 
Originally posted by raggi:
This works to force prevent UAC elevation, from inside the game directory:

cmd.exe /c "set __COMPAT_LAYER=RunAsInvoker && ONCE_HUMAN.exe --start_from_launcher=1"

Or even easier, make steam.exe have this flag, so that you can just launch the game through steam and have it not run as admin.



Originally posted by Smketreez:
Please stop telling people this. this bypasses needing the windows password, the program still runs with full admin rights doing this.

COMPAT_LAYER is Compatibility Layer. RunAsInvoker means run with what ever the program asks for && ONCE_HUMAN.exe means apply that setting to this program.

This does not do what you thought it did, exactly the opposite. You just told windows you're so cool with it, you don't even want windows to ask about it.

This does not bypass anything, it just prevents ShellExecute from auto-elevating the application because it's manifest tells it to. The resulting application runs with medium integrity (non-elevated), unless the parent process (Steam) was already running as administrator (high integrity).

If RunAsInvoker prevented any UAC popups while still elevating the program that would be considered privilege escalation and would be a pretty major flaw in Windows.
Smketreez Jul 10, 2024 @ 12:03pm 
Originally posted by RoDaBaFilms:

Originally posted by Smketreez:
*my bad information was here*

This does not bypass anything, it just prevents ShellExecute from auto-elevating the application because it's manifest tells it to. The resulting application runs with medium integrity (non-elevated), unless the parent process (Steam) was already running as administrator (high integrity).

If RunAsInvoker prevented any UAC popups while still elevating the program that would be considered privilege escalation and would be a pretty major flaw in Windows.

I was wrong, you are correct. It was my understanding that runAsInvoker ran the program based on the USER's rights (admin for the majority of us) and not the rights of its parent program.
Play smart not hard Jul 10, 2024 @ 12:08pm 
I fully agree. You got ahead of me. I wanted to write the same.
That's horrible. The problem is actually very serious considering that this is an Online game. If your computer is not only for games, but contains personal or confidential data, then you should refuse to run this game.:radiate:
I_R0M_I Jul 14, 2024 @ 4:20am 
Can you explain how to do it for Steam. I tried replacing ONCE_HUMAN.exe with steam.exe in that code but it doesnt like it.

The OPs methind, should i need to do that everytime i start the game? Or should it be set once and forget?
Really annoyed trying to get my mic to work in discord, this game and discord dont play nice, even when both in admin mode for me.

Originally posted by RoDaBaFilms:
Originally posted by raggi:
This works to force prevent UAC elevation, from inside the game directory:

cmd.exe /c "set __COMPAT_LAYER=RunAsInvoker && ONCE_HUMAN.exe --start_from_launcher=1"

Or even easier, make steam.exe have this flag, so that you can just launch the game through steam and have it not run as admin.



Originally posted by Smketreez:
Please stop telling people this. this bypasses needing the windows password, the program still runs with full admin rights doing this.

COMPAT_LAYER is Compatibility Layer. RunAsInvoker means run with what ever the program asks for && ONCE_HUMAN.exe means apply that setting to this program.

This does not do what you thought it did, exactly the opposite. You just told windows you're so cool with it, you don't even want windows to ask about it.

This does not bypass anything, it just prevents ShellExecute from auto-elevating the application because it's manifest tells it to. The resulting application runs with medium integrity (non-elevated), unless the parent process (Steam) was already running as administrator (high integrity).

If RunAsInvoker prevented any UAC popups while still elevating the program that would be considered privilege escalation and would be a pretty major flaw in Windows.
DtHouse Jul 14, 2024 @ 4:28am 
So if i wanna play i must give them Admin privilege? WTF they are thinking, it's my pc with my personal data, what the ♥♥♥♥ they want from it. ♥♥♥♥ off
Cmdo.Delta Jul 14, 2024 @ 8:28am 
Thanks guys. I dont see any reason it runs with admin privilege either.
Cmdo.Delta Jul 14, 2024 @ 8:29am 
Originally posted by RoDaBaFilms:
Originally posted by raggi:
This works to force prevent UAC elevation, from inside the game directory:

cmd.exe /c "set __COMPAT_LAYER=RunAsInvoker && ONCE_HUMAN.exe --start_from_launcher=1"

Or even easier, make steam.exe have this flag, so that you can just launch the game through steam and have it not run as admin.



Originally posted by Smketreez:
Please stop telling people this. this bypasses needing the windows password, the program still runs with full admin rights doing this.

COMPAT_LAYER is Compatibility Layer. RunAsInvoker means run with what ever the program asks for && ONCE_HUMAN.exe means apply that setting to this program.

This does not do what you thought it did, exactly the opposite. You just told windows you're so cool with it, you don't even want windows to ask about it.

This does not bypass anything, it just prevents ShellExecute from auto-elevating the application because it's manifest tells it to. The resulting application runs with medium integrity (non-elevated), unless the parent process (Steam) was already running as administrator (high integrity).

If RunAsInvoker prevented any UAC popups while still elevating the program that would be considered privilege escalation and would be a pretty major flaw in Windows.
Can you explain how to do this?

good job guys on pointing out how to prevent admin privilege
Cmdo.Delta Jul 14, 2024 @ 8:38am 
From another post, thanks to this user:
Originally posted by capitalthree:
So I have a slight improvement to the process... working for me at least.

Save the command (reposted here):
cmd.exe /c "set __COMPAT_LAYER=RunAsInvoker && ONCE_HUMAN.exe --start_from_launcher=1"

into a bat file in the game directory, as others have suggested. I named it ONCE_HUMAN_USER.bat

Then simply change the game's launch arguments in steam to:
ONCE_HUMAN_USER.bat %command%

This way you can launch the game normally from steam. An additional cmd window will pop up, which you can ignore.

As Milk correctly mentioned, this does not bypass or change any aspects of windows security. It's working for me right now, but I think the game will still elevate itself when it has updates. If you have disabled UAC prompts (not something I'd recommend), then you might not notice if the game does still elevate itself. And I can't test on windows 11 cuz I ain't touching that.

There's nothing magic about this compared to the previous solutions... I'm suggesting this because it's convenient (at least for me... I prefer this solution to registry editing). I of course agree with the comments that this is a mistake on the part of the developer, who should not make their game ask for admin permissions except when they are needed.

To those calling people paranoid... chill. While I don't think Once Human is doing anything deliberately malicious, it is bad security practice to have online games running as administrator, and it is doubly bad when you start having to run *other* programs as admin (like discord or OBS) because of it. If you want to take unnecessary risks, go for it, but don't make fun of people who put some minimal effort into security.
Dark Exile Jul 14, 2024 @ 8:41am 
"i dont want them having my data".

Meanwhile every company on the face of the planet is harvesting it from every device you own, steam has it, your phone manufacturer, all your social media crap.


at this point you're getting in a huff over something you gave away a long time ago, unless you've literally been living under a rock
Last edited by Dark Exile; Jul 14, 2024 @ 8:50am
Cmdo.Delta Jul 14, 2024 @ 9:28am 
Originally posted by Dark Exile:
"i dont want them having my data".

Meanwhile every company on the face of the planet is harvesting it from every device you own, steam has it, your phone manufacturer, all your social media crap.


at this point you're getting in a huff over something you gave away a long time ago, unless you've literally been living under a rock
You're right. I believe the fact they request admin privilege all the time is still wrong. But yeah, tons of people complain about data gathering but most of those people have social media accounts where they display all their data by themselves so it's actually funny to see them freakout every time a software tries to gather some data :P
Originally posted by Smketreez:
Originally posted by raggi:
This works to force prevent UAC elevation, from inside the game directory:

cmd.exe /c "set __COMPAT_LAYER=RunAsInvoker && ONCE_HUMAN.exe --start_from_launcher=1"

Please stop telling people this. this bypasses needing the windows password, the program still runs with full admin rights doing this.

COMPAT_LAYER is Compatibility Layer. RunAsInvoker means run with what ever the program asks for && ONCE_HUMAN.exe means apply that setting to this program.

This does not do what you thought it did, exactly the opposite. You just told windows you're so cool with it, you don't even want windows to ask about it.
I keep telling mfs but they don't listen. If they do this and the game needs admin rights it would just ask them anyways but no one listens so let them use their placebo i guess
< >
Showing 1-15 of 24 comments
Per page: 1530 50

Date Posted: Jul 9, 2024 @ 6:33pm
Posts: 24