mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-27 07:58:45 -07:00
launcher: auto-strip SteamStub DRM before patching
Steam-purchased Rec Room ships with SteamStub Variant 3.1 wrapping Recroom_Release.exe so it refuses to launch without Steam loaded. DorkNet spawns the exe directly, so for Steam installs we have to unwrap it first or the user gets a silent crash on Launch. - SteamDrmStripper.StripIfNeededAsync: PE-walks the exe's section table looking for the .bind section SteamStub adds, and only invokes Steamless when that section is present. Re-runs detect the already-unwrapped exe and short-circuit. Backs up the original next to the exe as Recroom_Release.exe.steamwrapped. - SteamlessInstaller: resolves a usable Steamless.CLI.exe via side-by-side -> %LOCALAPPDATA%\DorkNet\Steamless\ cache -> download v3.1.0.5 from atom0s/Steamless GitHub releases. Same pattern as CloudflaredInstaller. - Inserted as a step between "Download client patcher" and "Patch your Rec Room install" in both host (5 -> 6 steps) and join (2 -> 3 steps). Step detail reports Stripped / AlreadyUnpacked / NotApplicable so the user sees what happened. Oculus / Quest builds and already-unwrapped installs skip the Steamless download entirely.
This commit is contained in:
@@ -78,12 +78,14 @@ public static class StartupFlow
|
||||
new StartupStep(isLocalNetwork ? "Find your local network address" : "Set up Cloudflare tunnel"),
|
||||
new StartupStep("Start the server"),
|
||||
new StartupStep("Download client patcher"),
|
||||
new StartupStep("Unlock Rec Room from Steam (if needed)"),
|
||||
new StartupStep("Patch your Rec Room install"),
|
||||
};
|
||||
|
||||
public static ObservableCollection<StartupStep> NewJoinFlow() => new()
|
||||
{
|
||||
new StartupStep("Download client patcher"),
|
||||
new StartupStep("Unlock Rec Room from Steam (if needed)"),
|
||||
new StartupStep("Patch your Rec Room install"),
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user