lurelockv1.0

Architecture

shell: WPF / .NET 6 (win-x64) logic: C#, WPF-Fluent (wpfui) boundary: four folders it owns

01Modules

Lurelock is the Bloxstrap engine under a Lurelock skin: one portable exe that installs itself, downloads and updates Roblox Player and Roblox Studio from Roblox's own CDNs, and launches the game through its own bootstrapper so that every mod, flag and theme is applied before Roblox starts.

02The installed app

First run copies the exe into %LocalAppData%\Lurelock\ (the install directory, configurable), registers the roblox-player / roblox / roblox-studio protocol handlers and the .rbxl* file associations in the registry, and writes Settings.json / State.json next to itself. Player and Studio versions live under Versions\<guid>\; downloaded packages, logs, custom themes and shout-downloaded content live alongside.

03Deployment

Roblox deployment GUIDs are fetched from clientsettingsportal.roblox.com/clientsettingscdn.roblox.com. Each version's package manifest (which packages make up the client, plus sizes and MD5 checksums) is read from setup.rbxcdn.com, then each package is downloaded from Roblox's CDNs, verified by hash and extracted into Versions\<guid>\. Installs are incremental: changed packages are swapped in place.

04Bootstrapper

Launching Roblox (from a website link, the desktop shortcut, or Studio) opens Lurelock, which checks the installed version against the deployment list, updates if needed, then presents its own bootstrapper UI (pick from several styles and icons) while it applies the current configuration. The bootstrapper passes launch flags and hands off to the real Roblox player/studio process.

05FastFlags

F flags you set are written into the version folder as ClientAppSettings.json before launch. Only flags Roblox still respects are applied — unreleased flags are filtered from the UI so nothing silently gets ignored. The FastFlags editor and presets live under the settings pages.

06Updates

The app checks this repository's latest GitHub release against its own version. When a newer release exists, the self-contained exe downloads it into a temp folder and swaps itself on restart — homebrew-style, no installer involved.