Skip to content

Scripts Gaming

Quadstronaut edited this page Jun 7, 2026 · 1 revision

Scripts: Gaming

Scripts in Scripts/Gaming/.


Start-EDMultiAccount.ps1

What it does: Launches multiple Elite Dangerous accounts simultaneously, each in its own Sandboxie Plus sandbox.

Requirements:

Configuration — required before first use:

You must edit the USER CONFIG section at the top of the script before running:

### USER CONFIG ###

$Accounts  = @("Account1", "Account2")   # In-game CMDR names — must match your Frontier accounts
$Sandboxes = @("CMDR_Account1", "CMDR_Account2")  # Sandboxie sandbox names (spaces become underscores)

### END CONFIG ###

The number of entries in $Accounts and $Sandboxes must match. Each pair launches one account in one sandbox.

Usage:

# After editing the USER CONFIG section:
.\Scripts\Gaming\Start-EDMultiAccount.ps1

How it works:

  1. Kills all running Steam processes.
  2. Searches for MinEdLauncher.exe at the default Steam path (C:\Program Files (x86)\Steam\steamapps\common\Elite Dangerous\). If not found, searches all drive letters.
  3. Locates Sandboxie Plus\Start.exe by checking several common install paths (Scoop, Chocolatey, LocalAppData, Program Files).
  4. For each account/sandbox pair: checks whether Elite Dangerous Odyssey is installed (looks for the Odyssey product folder); launches MinEdLauncher with /frontier <AccountName> /autorun /autoquit /edo (Odyssey) or /frontier <AccountName> /autorun /autoquit /edh (Horizons), where <AccountName> is the matching entry from $Accounts.

Sandboxie path search order:

  1. $env:USERPROFILE\scoop\apps\sandboxie-plus-np\current\Start.exe
  2. $env:ProgramData\chocolatey\bin\Start.exe
  3. $env:LOCALAPPDATA\Programs\Sandboxie\Start.exe
  4. $env:ProgramFiles\Sandboxie-Plus\Start.exe
  5. $env:ProgramFiles(x86)\Sandboxie-Plus\Start.exe

If none are found, the script prints the searched paths and exits.

Notes:

  • The script uses Invoke-Expression to build and run the Sandboxie command line. The constructed command is printed before execution.
  • The finally block calls exit unconditionally — the script always exits after all launch attempts, even if some failed.
  • This script documents what it does and how to install/configure it. The configuration, use, and implications of sandbox-based multi-accounting are the user's responsibility.

Invoke-SteamVerification.ps1

What it does: Forces Steam to verify game file integrity — both the base Steam installation and each installed game.

Requirements: Steam installed. Administrator privileges (for registry access).

Usage:

.\Scripts\Gaming\Invoke-SteamVerification.ps1

How it works:

  1. Verifies admin privileges.
  2. Finds the Steam executable via registry: HKCU:\Software\Valve\SteamSteamExe.
  3. Checks that Steam is not already running (exits with a warning if it is).
  4. Runs steam.exe -verify_all on the base installation.
  5. Iterates subdirectories of the steamapps folder and attempts per-game verification.

Known issue — per-game verification does not work:

The per-game loop looks for <gamedir>/<gamedir>.appmanifest inside each game's subdirectory. This path does not exist — Steam stores its appmanifest files at the steamapps root level, named appmanifest_<appid>.acf (not inside game subdirs, not named after the directory).

As a result, the per-game loop will never find an appmanifest and will silently skip all games after the base installation check.

What actually works: The base Steam installation verification (-verify_all) runs correctly. Per-game verification does not.

Workaround: To verify a specific game via Steam's own UI: right-click the game in your library → Properties → Local Files → Verify integrity of game files.

To trigger it programmatically: use steam://validate/<appid> as a URL or Start-Process "steam://validate/12345". You can find AppIDs at SteamDB or in the appmanifest files at <SteamLibrary>\steamapps\appmanifest_<appid>.acf.

Clone this wiki locally