Skip to content

Steam no EAC launch + fix Epic launch#172

Open
VirxEC wants to merge 8 commits into
masterfrom
steam-no-eac
Open

Steam no EAC launch + fix Epic launch#172
VirxEC wants to merge 8 commits into
masterfrom
steam-no-eac

Conversation

@VirxEC

@VirxEC VirxEC commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Steam – No EAC (Windows + Linux)

This version successfully loads my player settings and stuff unlike the Epic no EAC launch and has replaced the only-with-EAC launch we had previously.

  • Windows (Steam.Windows.cs): Replaces -applaunch with direct executable launch. Discovers the Rocket League install path by reading Steam library folders from the registry and libraryfolders.vdf. Sets SteamAppId/SteamGameId environment variables so Steamworks logs us in.
  • Linux (Steam.Linux.cs): New implementation that discovers Steam roots via symlinks, XDG paths, Flatpak/Snap, and PATH. Finds the installed Rocket League and the configured (or newest) Proton version, then launches the game via proton run with the necessary STEAM_COMPAT_* environment variables.
  • Proton detection: Reads Steam's config.vdf for the configured compatibility tool, falls back to the numerically newest Proton installation, with special handling for Hotfix/Experimental builds.

Epic – Launch fixes (Windows)

Still doesn't load player settings beyond the username, but should launch much more reliably. It should be noted that player settings ARE loaded when launching Epic RL without EAC from the launcher manually, so we're probably missing something.

  • Epic.Windows.cs: Refactored to delete the old launch log before starting, read both the executable path and auth arguments from WinReadLog.GetGamePathAndAuth(), and launch the game executable directly instead of wrapping with cmd.exe /c.
  • WinReadLog.cs: Added DeleteLog(), FileShare.ReadWrite for concurrent access, and IOException handling to retry while the log is still being written.

Both Steam and Epic now default to launching without EAC which is probably a good step towards #156

Bumped version to v5.0.0-rc.15

VirxEC added 4 commits June 25, 2026 18:37
Bump version to v5.0.0-rc.15.
Delete old launch log before reading and launch the game directly
via its executable path instead of wrapping with cmd.exe.

@NicEastvillage NicEastvillage left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. Environment variables were the next avenue I was going to investigate. Happy to see it is so simple here.

I tested Steam launching on Windows, and it works, as long as Steam is already running. What launcher/OS combinations did you test?

Comment thread RLBotCS/ManagerTools/LaunchManager/Steam.Windows.cs Outdated
Comment thread RLBotCS/ManagerTools/LaunchManager/Steam.Windows.cs Outdated
Comment thread RLBotCS/ManagerTools/LaunchManager/Epic.Windows.cs Outdated
Comment thread RLBotCS/ManagerTools/LaunchManager/Epic.Windows.cs Outdated
Comment thread RLBotCS/ManagerTools/LaunchManager/CustomLaunchers.cs
Comment thread RLBotCS/ManagerTools/LaunchManager/ReadLog.Windows.cs
Comment thread RLBotCS/ManagerTools/LaunchManager/Steam.Windows.cs
Move WinProcArgs and WinReadLog into the LaunchManager directory.
Rename ProcessCommandLine to ProcArgs.
Rename WinReadLog to ReadLog and make it static.
Update all references.
@VirxEC VirxEC requested a review from NicEastvillage June 27, 2026 01:46
VirxEC added 3 commits June 26, 2026 20:49
Improve argument parsing to avoid false positives from empty command
lines
Downgrade argument retrieval failure log from Error to Warning
@VirxEC

VirxEC commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator Author

(System time was off, made the commits appear in the future, fixed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants