ValveSoftware / Proton

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

Escape from Tarkov #5468

Open paul-court opened 2 years ago

paul-court commented 2 years ago

Compatibility Report

System Information

I confirm:

Symptoms

BattlEye fails to decrypt packets

Reproduction

Install the game using lutris and add an environment variable for the location of the Protin BattleEye Runtime. Eg. PROTON_BATTLEYE_RUNTIME=/Games/Steam/steamapps/common/Proton BattlEye Runtime/

The game will launch OK and will fully work in offline mode - however, if you try to connect to an online game, almost everything loads just fine, but at the last part of the connection it fails with the following message in the console:-

[Exception] : IndexOutOfRangeException: Index was outside the bounds of the array.
BattlEye.BEClient.DecryptServerPacket (System.Byte[] encryptedPacket, System.Int32 encryptedPacketOffset, System.Int32 encryptedPacketLength, System.Byte[] decryptedPacket, System.Int32 decryptedPacketOffset, System.Int32& decryptedPacketLength) (at <1c6426fd8bad4799b35625de0c0bdfc9>:0)
BattlEye.BEClient.DecryptPacket (System.Byte[] encryptedPacket, System.Int32 encryptedPacketOffset, System.Int32 encryptedPacketLength, System.Byte[] decryptedPacket, System.Int32 decryptedPacketOffset, System.Int32& decryptedPacketLength) (at <1c6426fd8bad4799b35625de0c0bdfc9>:0)
EFT.World. (UnityEngine.Networking.NetworkReader reader) (at <d339040ecb3d663ef9a6166fd360bfed>:0)
EFT.SubWorld.OnDeserialize (UnityEngine.Networking.NetworkReader reader) (at <d339040ecb3d663ef9a6166fd360bfed>:0)
EFT.World. (UnityEngine.Networking.NetworkReader reader) (at <d339040ecb3d663ef9a6166fd360bfed>:0)
EFT.NetworkGame..SubWorldSpawn (UnityEngine.Networking.NetworkMessage message) (at <d339040ecb3d663ef9a6166fd360bfed>:0)
UnityEngine.Networking.NetworkConnection.HandleReader (UnityEngine.Networking.NetworkReader reader, System.Int32 receivedSize, System.Int32 channelId) (at <73d3d1767aea44aaae29ced4465f4bb5>:0)
UnityEngine.Networking.NetworkConnection.HandleBytes (System.Byte[] buffer, System.Int32 receivedSize, System.Int32 channelId) (at <73d3d1767aea44aaae29ced4465f4bb5>:0)
UnityEngine.Networking.NetworkConnection.TransportReceive (System.Byte[] bytes, System.Int32 numBytes, System.Int32 channelId) (at <73d3d1767aea44aaae29ced4465f4bb5>:0)
UnityEngine.Networking.NetworkClient.Update () (at <73d3d1767aea44aaae29ced4465f4bb5>:0)
UnityEngine.Networking.NetworkClient.UpdateClients () (at <73d3d1767aea44aaae29ced4465f4bb5>:0)
UnityEngine.Networking.NetworkIdentity.InternalUnetUpdate () (at <73d3d1767aea44aaae29ced4465f4bb5>:0)
UnityEngine.Networking.NetworkIdentity.ManualUnetUpdate () (at <73d3d1767aea44aaae29ced4465f4bb5>:0)
CustomPlayerLoopSystem.UNetUpdate.UpdateFunction () (at <d339040ecb3d663ef9a6166fd360bfed>:0)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
:UnityEngine.ILogHandler.LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
kisak-valve commented 2 years ago

Hello @gargoyle, in addition to the unsupported third party launcher you're using to start Proton, mixing the BattlEye integration in Proton with non-Steam games is highly likely to fail and most likely unsupportable, but we'll need to hear from a Proton dev if there's no point in keeping an eye on this game in general.

paul-court commented 2 years ago

I fully understand and appreciate that, @kisak-valve.

It's probably worth double checking on the error though and not the game or launch situation. I don't know who is responsible for the code at the top of the stack trace (BattlEye.BEClient.DecryptServerPacket), but an index out of bounds exception probably shouldn't be surfacing client side - it suggests an array is being accessed without first checking its bounds.

Potentially a nasty bug.

Just want to make sure this doesn't get lost without being seen by an appropriate dev now that its been tagged with "Game compatability - Unofficial", and potentially lost in the sea of all the other issues tagged as such.

Hope this helps. Thanks again.