Experiencing the same on MacOS v13.7.8
Shortcut file run.sh contains:
#!/bin/bash
# autogenerated file - do not edit
open steam://run/-1423321438
When run shows the error
An error occurred while launching this game: Game configuration unavailable
If I run using the Play button inside Steam it runs fine:
Here is the documentation for the Steam browser protocol:
https://developer.valvesoftware.com/wiki/Steam_browser_protocol
It's possible to run Steam application in dev mode to see the console output (for example Mac):
/Applications/Steam.app/Contents/MacOS/steam_osx -dev
This allowed me to test the Steam browser protocols listed above, and see the Steam app logs:
If I run steam://validate/3429715210 it opens the app details page
ExecuteSteamURL: "steam://open/steam://validate/3429715210"
GameAction [AppID 7163146, ActionID 9] : VerifyApp changed task to UpdatingAppInfo with "1"
[0302/201350.211338:ERROR:check.cc(376)] Check failed: false. NOTREACHED log messages are omitted in official builds. Sorry!
GameAction [AppID 7163146, ActionID 9] : VerifyApp changed task to Completed with "0"
but running steam://run/3429715210 throws the error:
ExecuteSteamURL: "steam://open/steam://run/3429715210"
ExecuteSteamURL: "steam://run/3429715210"
GameAction [AppID 7163146, ActionID 10] : LaunchApp changed task to RequestingLicense with ""
GameAction [AppID 7163146, ActionID 10] : LaunchApp changed task to UpdatingAppInfo with ""
GameAction [AppID 7163146, ActionID 10] : LaunchApp failed with AppError_9 with ""
GameAction [AppID 7163146, ActionID 10] : LaunchApp changed task to Failed with ""
Notice how the appId 3429715210 comes out as 7163146, something is converting it.
Figured out a workaround using steam://rungameid/<gameID64>
Formulas to convert between:
export function appIdToGameId64(appId: number | string): string {
const u32 = Number(appId) >>> 0;
const gameId =
((BigInt(u32) | 0x80000000n) << 32n) |
0x02000000n;
return gameId.toString();
}
export function gameId64ToAppId(gameId64: string | bigint): string {
const g = typeof gameId64 === "bigint" ? gameId64 : BigInt(gameId64);
const appId = (g >> 32n) & 0xFFFFFFFFn;
return appId.toString();
}
Running this worked:
steam://rungameid/14730514661577326592
Output was:
ExecuteSteamURL: "steam://open/steam://rungameid/14730514661577326592"
ExecuteSteamURL: "steam://rungameid/14730514661577326592"
GameAction [AppID 3429715210, ActionID 13] : LaunchApp changed task to RunningInstallScript with ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp changed task to SynchronizingStats with ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp changed task to ShowInterstitials with ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp waiting for user response to ShowInterstitials ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp continues with user response "ShowInterstitials"
GameAction [AppID 3429715210, ActionID 13] : LaunchApp changed task to SynchronizingControllerConfig with ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp changed task to DelayLaunch with ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp continues with user response "CreatingProcess"
Game process added : AppID 0 ""/System/Applications/Calculator.app"", ProcID 11643, IP 0.0.0.0:0
Game Recording - would start recording game 14730514661577326592, but recording for this game is disabled
Adding process 11643 for gameID 14730514661577326592
GameAction [AppID 3429715210, ActionID 13] : LaunchApp changed task to WaitingGameWindow with ""
GameAction [AppID 3429715210, ActionID 13] : LaunchApp changed task to Completed with ""
Game process removed: AppID 0 ""/System/Applications/Calculator.app"", ProcID 11643
ThreadGetProcessExitCode: no such process 11643
Game Recording - game stopped [gameid=14730514661577326592]
Removing process 11643 for gameID 14730514661577326592
It resolves to 3429715210
This seams to work fine for me, I'm on EndeavourOS. The shortcut works and has the proper gameid.
Nothing extracted yet.
Your system information
Please describe your issue in as much detail as possible:
There is no way to create a desktop shortcut to a non-Steam game, because Steam browser protocol doesn't handle non-Steam games properly. This is documented as a supported scenario in
rungameidportion of https://developer.valvesoftware.com/wiki/Steam_browser_protocol. Trying to use the appid used for the non-Steam game in rungameid, the error statesapp configuration unavailable, and trying to use its name (like in case offorceinputappid) does nothing at all. Additionally, Steam shows the option to create a desktop shortcut in the UI of non-Steam game in the library, with nothing happening when used.Steps for reproducing this issue:
Manage > Add desktop shortcutPlease don't remove this functionality from the client, it would be really useful if it worked