Files
recflare/apps/playersettings

playersettings

Player-settings worker served on the playersettings subdomain.

  • GET / — service status { "service": "playersettings", "status": "ok" }.
  • GET /playersettings[Authorize]. The player's settings as { PlayerId, Key, Value }, read from the per-player KV map. On a player's first read it seeds (and persists) the default settings.
  • PUT /playersettings[Authorize]. Accepts a form-urlencoded key=…&value=… (or a JSON {key,value} / array) and upserts it into the player's settings, keyed by the sub claim of the Bearer JWT. Returns 200. Persisted in Workers KV (PLAYER_SETTINGS, key player:<id>).

A full settings PUT would replace the player's entire settings set on each call; we merge instead, so a single-key PUT (e.g. key=PlayerSessionCount) doesn't wipe the others.

KV namespace

wrangler kv namespace create PLAYER_SETTINGS   # then put the id in wrangler.jsonc

Development

Run in dev mode

pnpm dev

Run tests

pnpm test

Deploy

pnpm turbo deploy