coronalabs / com.coronalabs-plugin.steamworks

Rpository for plugin.steamworks.
MIT License
0 stars 2 forks source link

Steam plugin on Mac can't find the Steam Instance #1

Open superqix opened 4 years ago

superqix commented 4 years ago

The error being logged is...

[S_API FAIL] SteamAPI_Init() failed; ipcserver init failed .
[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Could not determine Steam client install directory.
superqix commented 4 years ago

It could be and entitlements issue...

Support for 10.15 (Catalina) requires adding the following entitlements to your build configuration

  • com.apple.security.cs.disable-library-validation (allows loading the Steamworks SDK library and overlay library)
  • com.apple.security.cs.allow-dyld-environment-variables (enables the overlay library to be injected into the game process)
Shchvova commented 4 years ago

You may try adding entitlements to your build settings, like

osx = {
 entitlements = {
   ["com.apple.security.cs.disable-library-validation"] = true,
   ["com.apple.security.cs.allow-dyld-environment-variables"] = true,
 },
},

To verify entitlements you would have to codesign your app (no none provisioning profile), drag&drop app on the terminal icon, it will open new terminal windows with cwd in your app and run following

codesign --display  --entitlements :- .
superqix commented 4 years ago

Just saw this... Will test and let you know. Thanks!

superqix commented 4 years ago

Even with those entitlements it's still not finding the Steam Client, but I do think it's the right track. All in all, Mac Steam users are a small portion of our users, so I'd consider this low priority.

Here's the output from CodeSign:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>

</dict>
</plist>

It seems like other engines are struggling with the same issues, and there's a lot to try to do to fix it. Found some info here that I'll dig into http://www.zarkonnen.com/signing_notarizing_catalina

I'll keep banging on it.

Shchvova commented 4 years ago

@superqix is this still an issue?

superqix commented 4 years ago

It is, but it sounds like its a general Steam and Catalina issue, maybe not particularly a Solar2D issue. If I ever figure it out, I can update the documentation with the steps to properly build for Catalina+Steam.