BepInEx
BepInEx copied to clipboard
Can't launch IL2CPP linux games
What happened?
Everytime I try to launch a native IL2CPP Linux game with BepInEx, I get and an error when initializing metadata then game crashes with an terminate called after throwing an instance of 'PAL_SEHException' right initializing the chainloader
It did generated the configs files but can't launch no matter how much I try.
Btw I set the BepInEx distribution to stable but it also does the same thing with the BleedingEdge ones, I wanted to try with the BepInEx 5.4.* versions but I couldn't find their IL2CPP linux verions.
Steps to reproduce
- Follow the IL2CPP Linux game installation guide and set
executable_name="";to the right executable name in the run_bepinex.sh file - Run run_bepinex.sh through terminal (steam doesn't wanna even tho I'm doing it exactly as said in this page of the wiki)
- Watch as it dies
BepInEx Distribution
Stable from GitHub
Log outputs
[Info : Cpp2IL] [Library] Initializing Metadata...
[Error :InteropManager] Failed to generate Il2Cpp interop assemblies: Cpp2IL.Core.Exceptions.LibCpp2ILInitializationException: Fatal Exception initializing LibCpp2IL!
---> System.FormatException: Unsupported metadata version found! We support 23-29, got 31
at LibCpp2IL.Metadata.Il2CppMetadata.ReadFrom(Byte[] bytes, UnityVersion unityVersion) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/Metadata/Il2CppMetadata.cs:line 71
at LibCpp2IL.LibCpp2IlMain.Initialize(Byte[] binaryBytes, Byte[] metadataBytes, UnityVersion unityVersion) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlMain.cs:line 149
at LibCpp2IL.LibCpp2IlMain.LoadFromFile(String pePath, String metadataPath, UnityVersion unityVersion) in /home/runner/work/Cpp2IL/Cpp2IL/LibCpp2IL/LibCpp2IlMain.cs:line 202
at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String assemblyPath, String metadataPath, UnityVersion unityVersion, Boolean allowUserToInputAddresses) in /_/Cpp2IL.Core/Cpp2IlApi.cs:line 62
--- End of inner exception stack trace ---
at Cpp2IL.Core.Cpp2IlApi.InitializeLibCpp2Il(String assemblyPath, String metadataPath, UnityVersion unityVersion, Boolean allowUserToInputAddresses) in /_/Cpp2IL.Core/Cpp2IlApi.cs:line 68
at BepInEx.Unity.IL2CPP.Il2CppInteropManager.RunCpp2Il() in /home/runner/work/BepInEx/BepInEx/Runtimes/Unity/BepInEx.Unity.IL2CPP/Il2CppInteropManager.cs:line 301
at BepInEx.Unity.IL2CPP.Il2CppInteropManager.GenerateInteropAssemblies() in /home/runner/work/BepInEx/BepInEx/Runtimes/Unity/BepInEx.Unity.IL2CPP/Il2CppInteropManager.cs:line 236
[Info : Preloader] 0 patcher plugins loaded
[Info : Preloader] 0 assemblies discovered
[Message:AssemblyPatcher] Executing 0 patch(es)
[Message: BepInEx] Chainloader initialized
terminate called after throwing an instance of 'PAL_SEHException'
[1] 1149992 IOT instruction (core dumped) ./run_bepinex.sh
Environment
- OS: Arch Linux 6.10.6-arch1-1 (64-bit)
- BepInEx: 6.0.0-pre.2
- Game: Pretty much any native IL2CPP linux game I could try