ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.9k stars 1.04k forks source link

BattleEye Fails startup on Linux using latest Proton #30

Open DGxInfinitY opened 6 years ago

DGxInfinitY commented 6 years ago

BattleEye for PlayerUnknowns BattleGrounds won't start on Elementary OS(Ubuntu Based) As far as I know, this is a wine definitions problem that might require a little deep searching to fix.

Preisschild commented 4 years ago

@JanGalek it works for a few people on few servers in arma 3

jarrard commented 4 years ago

EAC and BE driver injection/loading is probably something that needs fixing at the WINE level, hopefully valve devs can submit some fixes for it, we have already seen a few which is why it sometimes works atm.

mkljczk commented 4 years ago

Not just at WINE level, also might need some work at Linux kernel level… Actually, the best way would be to work with anti-cheats authors (they do), but implementing more and more low-level APIs is always a good thing

redpiller commented 4 years ago

There is a C api for such things, the only thing wine needs to to is to hook up to the kernel API and translate the calls as it would normally do with any other program

On December 17, 2019 9:36:11 AM GMT+01:00, "Marcin Mikołajczak" notifications@github.com wrote:

Not just at WINE level, also might need some work at Linux kernel level… Actually, the best way would be to work with anti-cheats authors (they do), but implementing more and more low-level APIs is always a good thing>

-- > You are receiving this because you were mentioned.> Reply to this email directly or view it on GitHub:> https://github.com/ValveSoftware/Proton/issues/30#issuecomment-566439576

wonkersbonkers commented 4 years ago

would it be possible for developers to support the native battle eye on linux but the game is running in proton so they don't need to port the entire game? like no man's sky its not a linux game but the developers update it with proton in mind

redpiller commented 4 years ago

It wouldn't be the most streamlined aproach...

On December 22, 2019 11:02:27 AM GMT+01:00, wonkersbonkers notifications@github.com wrote:

would it be possible for developers to support the native battle eye on linux but the game is running in proton so they don't need to port the entire game? like no man's sky its not a linux game but the developers update it with proton in mind

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/ValveSoftware/Proton/issues/30#issuecomment-568248082

jarrard commented 4 years ago

They would need to put some code in that detects proton/wine/linux and thus plugs in the linux battleye libraries instead. Not sure how well that would work. Developers are unlikely to do this anyway.

Perhaps a better approach for proton would be to detect battleye dll's and redirect to the local linux versions instead.

ipimpat commented 4 years ago

Please fix for Arma 3

SaladinAyyub commented 4 years ago

Please fix for Rainbow Six Siege

redpiller commented 4 years ago

Somebody block this troll

On April 18, 2020 6:56:35 AM GMT+02:00, Hadi Modarres notifications@github.com wrote:

ive found a fix, install windows

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/ValveSoftware/Proton/issues/30#issuecomment-615560563

bionade24 commented 4 years ago

@JanGalek it works for a few people on few servers in arma 3

With the server I want it still crashes immeadeately.

ZiTAL commented 4 years ago

I have managed to start fortnite in debian:

launch lutris from console:

lutris 

Iniciate epic games and launch fortnite or other game that use this fucking shit, well...

If it doesn' work, kill it, let's list epic games program:

ps aux | grep Epic
zital     3763 10.0  0.0      0     0 ?        Zsl  23:07   0:13 [EpicGamesLaunch] <defunct>
zital     3763  4.6  4.5 4286528 319808 ?      Sl   23:07   0:05 C:/Program Files (x86)/Epic Games/Launcher/Engine/Binaries/Win64/UnrealCEFSubProcess.exe --type=renderer --no-sandbox --primordial-pipe-token=AA92F9BB6F4D59105D3262AE6941BC41 --lang=en-US --lang=en --locales-dir-path=C:/Program Files (x86)/Epic Games/Launcher/Engine/Binaries/ThirdParty/CEF3/Win64/Resources/locales --log-file=C:/users/zital/Local Settings/Application Data/EpicGamesLauncher/Saved/Logs/cef3.log --log-severity=warning --product-version=EpicGamesLauncher/10.15.8-13179977+++Portal+Release-Live UnrealEngine/4.23.0-13179977+++Portal+Release-Live Chrome/59.0.3071.15 --resources-dir-path=C:/Program Files (x86)/Epic Games/Launcher/Engine/Binaries/ThirdParty/CEF3/Win64/Resources --enable-pinch --device-scale-factor=1 --num-raster-threads=4 --enable-main-frame-before-activation --content-image-texture-target=0,0,3553;0,1,3553;0,2,3553;0,3,3553;0,4,3553;0,5,3553;0,6,3553;0,7,3553;0,8,3553;0,9,3553;0,10,3553;0,11,3553;0,12,3553;0,13,3553;0,14,3553;0,15,3553;0,16,3553;1,0,3553;1,1,3553;1,2,3553;1,3,3553;1,4,3553;1,5,3553;1,6,3553;1,7,3553;1,8,3553;1,9,3553;1,10,3553;1,11,3553;1,12,3553;1,13,3553;1,14,3553;1,15,3553;1,16,3553;2,0,3553;2,1,3553;2,2,3553;2,3,3553;2,4,3553;2,5,3553;2,6,3553;2,7,3553;2,8,3553;2,9,3553;2,10,3553;2,11,3553;2,12,3553;2,13,3553;2,14,3553;2,15,3553;2,16,3553;3,0,3553;3,1,3553;3,2,3553;3,3,3553;3,4,3553;3,5,3553;3,6,3553;3,7,3553;3,8,3553;3,9,3553;3,10,3553;3,11,3553;3,12,3553;3,13,3553;3,14,3553;3,15,3553;3,16,3553;4,0,3553;4,1,3553;4,2,3553;4,3,3553;4,4,3553;4,5,3553;4,6,3553;4,7,3553;4,8,3553;4,9,3553;4,10,3553;4,11,3553;4,12,3553;4,13,3553;4,14,3553;4,15,3553;4,16,3553 --disable-accelerated-video-decode --disable-webrtc-hw-vp8-encoding --disable-gpu-compositing --service-request-channel-token=AA92F9BB6F4D59105D3262AE6941BC41 --renderer-client-id=3 --mojo-platform-channel-handle=1732 /prefetch:1
zital     4070  0.0  0.0   6080   892 pts/1    S+   23:09   0:00 grep Epic

well I need to kill the 3763 processes:

kill -9 3763 3763

kill lutris too:

ps aux | grep lutris
zital     3657  2.2  1.7 695900 120672 pts/0   Sl+  23:06   0:01 /usr/bin/python3 /usr/games/lutris
zital     3657  2.3  0.2  35204 19544 pts/0    S    23:07   0:01 lutris-wrapper: Epic Games Store
zital     3657  3.4  0.2  18580 17564 ?        Ss   23:07   0:03 /home/zital/.local/share/lutris/runners/wine/lutris-5.6-2-x86_64/bin/wineserver

kill -9 3657 3657 3657

try again

sharkguto commented 4 years ago

any update??? It would be great if we can play PUBG on proton

jarrard commented 4 years ago

I don't think so. We are all waiting for some form of support to EAC and Battleye.

There is a experimental Kernel patch for Wine stuff that may allow for anti-cheat software to work in the future if merged. I don't think its been accepted or merged into mainline yet, once that happens it will be news worthy.

Titaniumtown commented 4 years ago

lets hope it gets merged! I haven't played pubg since it launched lol. It's just sitting in my library

wonkersbonkers commented 4 years ago

is there a repository for this experimental kernel

Titaniumtown commented 4 years ago

I would like to build it

kisak-valve commented 4 years ago

Hello @Titaniumtown, @wonkersbonkers, I think there's been some misinformation that came out of the community discussion surrounding this patch. Mainly, there was some discussion about an alternative approach to solving the technical riddle and that is known to be incompatible with anti-cheat software and https://lore.kernel.org/lkml/9a512096-7707-3fc6-34ba-22f969c0f964@gmail.com/ got a distorted interpretation by some onlookers.

This patch is exploring a potential performance optimization and the developers involved don't appear to be interested in using an alternative solution which would be going backwards with regard to eventually getting anti-cheat mechanisms working. It's not directly related to supporting anti-cheat software.

(Fair disclaimer this is also a second-hand interpretation and should not be used as a primary reference.)

If this isn't the patch in question, feel free to clarify.

StidOfficial commented 4 years ago

BattlEye work for 1 month and last 2 days ago, i have error "Failed to initialize BattlEye Service: Driver Load Error (31)." with Arma 3 on Proton 5.0-9.

Titaniumtown commented 4 years ago

That's very interesting @StidOfficial hmm

IvanCharcos commented 4 years ago

Just tried it with PubG. Same error.

batara666 commented 3 years ago

BlackSquad please

bionade24 commented 3 years ago

BlackSquad please

What do you mean?

sharkguto commented 3 years ago

BlackSquad please

What do you mean?

i believe it is a game from steam that's use battleeye as anti cheat rsrs :laughing:

StidOfficial commented 3 years ago

Probably the best way to fix it : <Link removed by moderator>

kisak-valve commented 3 years ago

Hello @StidOfficial, no, that workaround is plain cheating. There's nothing there that could be considered a fix which can be used to improve support in Proton.

bionade24 commented 3 years ago

Hello @StidOfficial, no, that workaround is plain cheating. There's nothing there that could be considered a fix which can be used to improve support in Proton.

He not even said it's a workaround or even a solution, just the best way in the sad reality.

mkljczk commented 3 years ago

Not to improve support in Proton and I don't encourage anyone to cheat, but would be curious to see whether the battleye-protected games would work without other issues after bypassing this piece of shi of battleye

bionade24 commented 3 years ago

Probably the best way to fix it : <Link removed by moderator>

Really sad this Link gets removed. Sad that you're supporting a system repressing you.

Eeems commented 3 years ago

Probably the best way to fix it : <Link removed by moderator>

Really sad this Link gets removed. Sad that you're supporting a system repressing you.

You do realize this is an official Valve repository right?

mkljczk commented 3 years ago

Probably the best way to fix it : <Link removed by moderator>

Really sad this Link gets removed. Sad that you're supporting a system repressing you.

@bionade24 they work for Valve. They would rather get a solution that would both satisfy BattlEye by giving them root-level access to our Linux machines and provide us with working games

bionade24 commented 3 years ago

At WineHQ this hopefully gets discussed more open: https://bugs.winehq.org/show_bug.cgi?id=37355 Edit: Maybe more appropriate than spamming into system internals: https://bugs.winehq.org/show_bug.cgi?id=45124

mkljczk commented 3 years ago

At WineHQ this hopefully gets discussed more open: https://bugs.winehq.org/show_bug.cgi?id=37355

Not sure. Shortly after Guy1524 published his set of patches that correctly implement all the checks required by EAC, they made some server-side changes to prevent EAC from working with Wine. BattlEye would likely do the same

bionade24 commented 3 years ago

At WineHQ this hopefully gets discussed more open: https://bugs.winehq.org/show_bug.cgi?id=37355

Not sure. Shortly after Guy1524 published his set of patches that correctly implement all the checks required by EAC, they made some server-side changes to prevent EAC from working with Wine. BattlEye would likely do the same

:( Don't know, but the hack @StidOfficial provided attacked them at IPC level. Probably harder to patch permanently.

bionade24 commented 3 years ago

A realistic solution to this problem: Linux gets a working FLOSS anti-cheat for Linux and the Games only work if the binary is signed. A realistic compromise?

batara666 commented 3 years ago

oh cmon, we all know, Linux user are not cheater

Titaniumtown commented 3 years ago

lol

bionade24 commented 3 years ago

oh cmon, we all know, Linux user are not cheater

Yeah, even the devs probably know that Linux users just wanna enjoy their spare time but we're live in a world where management doesn't care. Or maybe it's because they know that we know that calculating all physics on the server would make cheating impossible but won't do that for profit reasons.

darutoko commented 3 years ago

oh cmon, we all know, Linux user are not cheater

Yeah, even the devs probably know that Linux users just wanna enjoy their spare time but we're live in a world where management doesn't care. Or maybe it's because they know that we know that calculating all physics on the server would make cheating impossible but won't do that for profit reasons.

I am very curious, can you please explain how calculating all physics on the server would make impossible aim-bots, wall hacks, map hacks etc.?

SaladinAyyub commented 3 years ago

@darutoko it's harder for the player to make changes on the server side than the client side.. a player can easily change stuff on the client side.. however a server side anti cheat can't detect changes made on the client side but can detect stuff going on in the server because of the client side changes/hacks.. but for that server side anti cheats should be very strong also using proxy is very great on server side.. so that if a player tried to figure out the server address.. he would only see the proxy server address not the actual server address.. however server side anti cheat has its own risks of someone figures out to make client side changes that server side won't be able to detect it can caus alot of issues.. it's like having high risk high reward.

darutoko commented 3 years ago

@darutoko it's harder for the player to make changes on the server side than the client side.. a player can easily change stuff on the client side.. however a server side anti cheat can't detect changes made on the client side but can detect stuff going on in the server because of the client side changes/hacks.. but for that server side anti cheats should be very strong also using proxy is very great on server side.. so that if a player tried to figure out the server address.. he would only see the proxy server address not the actual server address.. however server side anti cheat has its own risks of someone figures out to make client side changes that server side won't be able to detect it can caus alot of issues.. it's like having high risk high reward.

I dont' understand why you wrote this. In this text wall there is no explanation of how calculating all physics on the server would make impossible aim-bots, wall hacks, map hacks etc. How for example wall hack (texture and model manipulation) is affected by physics calculations?

bionade24 commented 3 years ago

oh cmon, we all know, Linux user are not cheater

Yeah, even the devs probably know that Linux users just wanna enjoy their spare time but we're live in a world where management doesn't care. Or maybe it's because they know that we know that calculating all physics on the server would make cheating impossible but won't do that for profit reasons.

I am very curious, can you please explain how calculating all physics on the server would make impossible aim-bots, wall hacks, map hacks etc.?

The server can determine which actions can physically be done and which not. (E.g when you went trough a wall you get banned.) Or when you aiming is way to good for a human (human can have good aim but will have at least certain stuttering on the target. Finally, you can calculate which opponent a player could have seen when. Tactical cheating would still be possible, but you can also e. g. do that in CSGO when you're in Teamspeak with a dead player giving tips.

darutoko commented 3 years ago

oh cmon, we all know, Linux user are not cheater

Yeah, even the devs probably know that Linux users just wanna enjoy their spare time but we're live in a world where management doesn't care. Or maybe it's because they know that we know that calculating all physics on the server would make cheating impossible but won't do that for profit reasons.

I am very curious, can you please explain how calculating all physics on the server would make impossible aim-bots, wall hacks, map hacks etc.?

The server can determine which actions can physically be done and which not. (E.g when you went trough a wall you get banned.) Or when you aiming is way to good for a human (human can have good aim but will have at least certain stuttering on the target. Finally, you can calculate which opponent a player could have seen when. Tactical cheating would still be possible, but you can also e. g. do that in CSGO when you're in Teamspeak with a dead player giving tips.

@bionade24 lol Your answer is even funnier than i thought it would be, thank you.

StidOfficial commented 3 years ago

I shared this link for create a pipeline to the actual battleye linux client (because he doesn't need kmod like bedaisy.sys). This link doesn't talk about cheating but emulation of BattlEye and this informations can help us to port BattlEye on proton (wine).

If the issue is locate on "MmMapLockedPagesSpecifyCache" good new.

Beast42 commented 3 years ago

Problem still not resolved?

kiwy42 commented 3 years ago

I so much whises this issue will find a proper solution in the future. Steam and BattleEye seemed to have been talking to each other but so far... no nothing. The best thing would be to not allow any kernel level anti-cheat for steam game thus avoiding any to strong application installed and make the proton compatibility so much simple. I do not like cheaters in any online game as much as the next fellow but we have to be true about it. No anticheat has been anything but effective... being CoD Warzone, PUBG or Fortnite no one succeed against cheaters despite very intrusive detection software... game developers should focus on server anticheat instead of trying to install spyware on our hardware. They will never be able to control user hardware even on console the cheat is placed between the gamepad and the console...

Storm-Engineer commented 3 years ago

In ARK: Survival Evolved, this is an even bigger problem because the game's Linux build is completely broken and unusable, and the developer has absolutely no intentions to fix it. BattleEye works in said Linux build, except the game itself is unplayable in many ways... so Linux users are forced to run the game via Wine instead.

r4jk3 commented 3 years ago

I have created a steam support ticket and got redirected to this page. @Storm-Engineer said all what i had to say actually. We need fix for this BatteEye thing i sense its the only thing blocking Linux community to prosper in gaming industry. Proton is a mayor thing that happened to us and because of it i finally got rid of Windows ( i will not return to it even at this stage ). I have yesterday sent a email to BattleEye support team about it but unfortunately still no response.

linuxergr commented 3 years ago

BattleEye should be installed by default, when games are installed on Linux, ever since it concerns paid games (not free of charge) like Insurgency and Day of Infamy

RevoluPowered commented 3 years ago

Perhaps valve should look into banning new game releases which contain battle eye and release a formal statement about it. This will kill Battle Eye's new market opportunities.

Treat them the way they treat other platforms which are blocked by their software.

It's clear they're not invested in a developer solution or even offering a branch which could be pursued by bigger companies if they need Linux support even if they offer financial incentives.