diff --git a/deploy/replay-ledgers.ts b/deploy/replay-ledgers.ts index 1d25467..0b56fdf 100644 --- a/deploy/replay-ledgers.ts +++ b/deploy/replay-ledgers.ts @@ -34,11 +34,13 @@ async function main(): Promise { const seats: Seat[] = []; let state: ReturnType | null = null; let turns = 0; + // The host's table options ride the room line; a game created without them is a different game. + const options = (lines[0]?.t === 'room' ? lines[0].options : undefined) as Record | undefined; try { for (const line of lines) { if (line.t === 'seat') seats.push(line); else if (line.t === 'unseat') seats.splice(seats.findIndex((s) => s.id === line.id), 1); - else if (line.t === 'start') state = game.create(Object.fromEntries(seats.map((s) => [s.id, s.name])), line.seed, line.rules ?? 1); + else if (line.t === 'start') state = game.create(Object.fromEntries(seats.map((s) => [s.id, s.name])), line.seed, line.rules ?? 1, options); else if (line.t === 'turn' && state) { state = game.resolve(state, line.inputs); turns += 1; diff --git a/deploy/verify-ledgers.sh b/deploy/verify-ledgers.sh index e8ca33d..adef66c 100755 --- a/deploy/verify-ledgers.sh +++ b/deploy/verify-ledgers.sh @@ -6,7 +6,8 @@ # deploy/verify-ledgers.sh [https://site] set -euo pipefail HOST="${1:?usage: verify-ledgers.sh [https://site]}" -SITE="${2:-https://tafl.kestrelsnest.social}" +# SITE in the environment overrides the name, for a machine whose DNS has not caught up with a new record. +SITE="${2:-${SITE:-https://tafl.kestrelsnest.social}}" DIR="$(mktemp -d)" trap 'rm -rf "$DIR"' EXIT rsync -az "root@$HOST:/var/lib/hnefatafl/rooms/" "$DIR/"