# VPS Scripts for the host running the public server (a Windows VPS behind Caddy; see the repo-level [`Caddyfile`](../Caddyfile), which terminates TLS for `ns.radicade.app` and proxies to `127.0.0.1:3030`). ## `fix-dorm-blob.sh` Repairs the "joining room" / dorm-load crash caused by a room save that references a DataBlob missing from CDN storage. It has two modes: ```bash # MODE 1 — data fix: upload a valid empty room blob through the admin API. # Requires the server's BotSecret (the Radicade:AdminApiKey / bot secret). BOT_SECRET='' bash VPS/fix-dorm-blob.sh BOT_SECRET='' HOST=https://ns.radicade.app bash VPS/fix-dorm-blob.sh # MODE 2 — durable code fix: deploy the RoomUtils self-heal on the host. bash VPS/fix-dorm-blob.sh --deploy ``` Mode 1 POSTs the blob to `/admin/rooms/upload/datablob` and then verifies it via `GET /room/`; HTTP 401 means a wrong secret, `000`/timeout means the backend is down. Mode 2 pulls the branch, publishes the server, restarts the service and checks `GET /ns`. Notes: the secret is taken from `$BOT_SECRET` or `$1` and is never written to disk by the script, so never commit it — pass it through the environment. The service restart assumes a systemd-style unit; if the host restarts the server another way, change `mode2` accordingly.