

A BepInEx mod for White Knuckle that displays your current Spotify track on the in-game HUD.

https://wkmusic.eventeventeventevent1.workers.dev/callback
WKMusic.dll into:BepInEx/plugins/
Credentials and tokens are saved locally - you won't be asked again on subsequent launches.
Go to developer.spotify.com/dashboard and click Create app.
Fill in the form:
WKMusichttps://wkmusic.eventeventeventevent1.workers.dev/callback
Click Save, then open the app's Settings page.
Copy your Client ID and Client Secret - you'll paste them into the setup page on first launch.
The config file is generated at BepInEx/config/WKMusic.cfg after the first launch.
| Key | Default | Description |
|---|---|---|
PlayerScale |
0.8 |
Overall HUD scale (0.5 – 3.0) |
CoverSize |
64 |
Album art size in pixels (20 – 300) |
CoverOpacity |
0.6 |
Album art opacity (0 = invisible, 1 = fully opaque) |
WorkerUrl |
(built-in) | Cloudflare Worker URL - change only if you self-host |
The mod uses the Spotify Authorization Code flow. Your Client Secret is never sent from your machine in plain text - token exchange happens through a Cloudflare Worker that acts as a secure proxy.
[Game] opens browser -> accounts.spotify.com
[Browser] user authorizes -> returns code to Worker callback
[Worker] exchanges code for tokens using Client Secret
[Game] receives tokens, stores them in Windows Credential Manager
[Game] polls Spotify API directly every 300 ms
This is completely optional. The mod ships with a built-in public Worker - you don't need to do any of this. Self-hosting is only useful if you want full control over the OAuth proxy (e.g. for privacy reasons or if the public Worker goes down).
The Worker source is in the worker/ directory. Deploy with Wrangler:
cd worker
npm install -g wrangler
wrangler login
wrangler secret put SPOTIFY_CLIENT_SECRET
wrangler deploy
After deploying, set WorkerUrl in BepInEx/config/WKMusic.cfg to your Worker's URL and update the Redirect URI in your Spotify app to match.
MIT