diff --git a/deploy-assets/recordstoreguy.jpg b/deploy-assets/recordstoreguy.jpg new file mode 100644 index 0000000..ba2ab78 Binary files /dev/null and b/deploy-assets/recordstoreguy.jpg differ diff --git a/deploy-assets/recordstoreguy_riso.jpg b/deploy-assets/recordstoreguy_riso.jpg new file mode 100644 index 0000000..a31e437 Binary files /dev/null and b/deploy-assets/recordstoreguy_riso.jpg differ diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..e34969c --- /dev/null +++ b/deploy.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# Deploy Record Store Guy to monsterrobot.games/games/recordstoreguy/ +# Pattern: the game dir is a READ-ONLY bind mount into forum-nginx, so we rsync +# to the HOST path directly (no docker cp, no nginx reload needed for static files). +# Covers live in the lander's covers/ dir; the tile is added to index.html by hand +# (see README / the tile block below), backed up first. +set -euo pipefail + +HOST="humanjing@100.71.119.27" +BASE="/home/humanjing/monsterrobot.games" +DEST="$BASE/games/recordstoreguy" +HERE="$(cd "$(dirname "$0")" && pwd)" + +echo "== 1. sync engine → $DEST" +rsync -az --delete \ + --exclude='.DS_Store' \ + "$HERE/engine/" "$HOST:$DEST/" + +echo "== 2. covers" +scp -q "$HERE/deploy-assets/recordstoreguy.jpg" "$HERE/deploy-assets/recordstoreguy_riso.jpg" \ + "$HOST:$BASE/covers/" + +echo "== 3. verify live (cache-busted)" +sleep 1 +code=$(curl -s -o /dev/null -w '%{http_code}' "https://monsterrobot.games/games/recordstoreguy/?cb=$RANDOM") +title=$(curl -s "https://monsterrobot.games/games/recordstoreguy/?cb=$RANDOM" | grep -oiE '[^<]*' | head -1) +clip=$(curl -s -o /dev/null -w '%{http_code}' "https://monsterrobot.games/games/recordstoreguy/clips/intro.mp4?cb=$RANDOM") +echo " index: HTTP $code $title" +echo " intro.mp4: HTTP $clip" +[ "$code" = 200 ] && [ "$clip" = 200 ] && echo "== DEPLOYED OK" || { echo "!! verify failed"; exit 1; } diff --git a/production/SORT_SESSION.md b/production/SORT_SESSION.md index fe413ba..7c3c3c8 100644 --- a/production/SORT_SESSION.md +++ b/production/SORT_SESSION.md @@ -18,3 +18,13 @@ Job (fresh context, heavy image review — consider a Workflow fan-out): 5. Bot-playtest full graph, tune windows in ?debug=1, commit, push. Also pending: Quality-tier finale shots (t7/win/stinger/postage) may not be generated yet — check results.jsonl; they're the 14 Quality tasks at queue end. + +## DEPLOYED LIVE 2026-07-22 +URL: https://monsterrobot.games/games/recordstoreguy/ (tile added to arcade landing, flagship slot) +- Deploy: `./deploy.sh` (rsync engine/ → games VPS host path, read-only bind mount, no docker cp). +- Covers: deploy-assets/recordstoreguy{,_riso}.jpg (from intro frame — Dez + Dead Wax tendrils). +- Landing backup on server: index.html.bak-pre-rsg-20260722-023227 +- 3 TEMP stand-in clips (swap when queue delivers real footage, then re-run deploy.sh): + needle_skip.mp4 = black 1.2s; t5s4_action.mp4 = copy of t5s3; t7s2_action.mp4 = copy of t7s1. +- Verified live: game 200, all clips/covers 200, attract+gameplay play in-browser, 0 console errors. +- FOLLOW-UP option: bare /recordstoreguy/ vanity URL needs nginx/mount work (currently soft-404 → lander).