Victor Launcher ships pre-configured to use a shared public Supabase backend. If you run a private community and want full control over which room codes exist and which mod packs they serve, you can point Victor Launcher at your own Supabase project by editing three keys in the BepInEx config file.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/stevensonhouset5-sys/Victor-Launcher/llms.txt
Use this file to discover all available pages before exploring further.
What your Supabase project must provide
Victor Launcher expects the following on your Supabase project:- An Edge Function named
room-manifest(or the custom name you set inManifestRpc) that accepts a room code and returns a signed JSON manifest listing the mods for that room. - A database RPC named
get_room_manifestas a fallback. Victor Launcher tries this automatically if the Edge Function returns a 404 with"Requested function was not found"or"code":"NOT_FOUND".
Victor Launcher uses a fallback chain when resolving the manifest endpoint: it tries your configured
ManifestRpc value first, then the default room-manifest (deduplicated if they are the same), and finally the legacy RPC get_room_manifest. If you rename your Edge Function to something other than room-manifest, you must set ManifestRpc to that name — otherwise Victor Launcher will still attempt room-manifest as the second step before falling back to the legacy RPC.Config keys to update
OpenBepInEx/config/com.tate.amongus.starterplugin.cfg and set the following keys under [Supabase]:
| Key | What to set |
|---|---|
ProjectUrl | The base URL of your Supabase project, e.g. https://your-project.supabase.co |
AnonKey | The anonymous key from your Supabase project’s API settings |
ManifestSigningPublicKeyPem | The PEM-encoded RSA public key that matches the private key your backend uses to sign manifests |
ManifestRpc only needs to change if you named your Edge Function something other than room-manifest.
Signing key pair
Every room manifest Victor Launcher downloads is verified againstManifestSigningPublicKeyPem using RSA-SHA256 (PKCS#1). The default installation ships with the public key for the shared backend. When you run your own backend, you must:
- Generate a new RSA key pair.
- Configure your backend to sign manifests with the private key.
- Put the corresponding public key (PEM format) in
ManifestSigningPublicKeyPemin the config file.
URL restriction
Victor Launcher enforces a security check on every file URL inside a manifest: each URL must be hosted on the same domain asProjectUrl. If a manifest lists a DLL hosted on a different domain, the download is rejected. Host all mod files in your Supabase project’s storage or another service on the same domain.
File URLs must use https or http.
Example config for a self-hosted setup
Next steps
BepInEx config reference
Full reference for every config key, including defaults and the Reload Config button.
Shared packs
Understand how room codes map to mod packs for your players.