feat(engine): add turn limit support in auto-play

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Natalie 2026-04-14 19:48:40 -07:00
parent f1f3716c1f
commit 2fef99c124
2 changed files with 10 additions and 3 deletions

View file

@ -70,7 +70,10 @@ func _ready() -> void:
return
_output_dir = EnvConfig.get_var("AUTO_PLAY_DIR", "/tmp")
DirAccess.make_dir_recursive_absolute(_output_dir)
print("AutoPlay: active — output to %s" % _output_dir)
var limit_str: String = EnvConfig.get_var("AUTO_PLAY_TURN_LIMIT", "")
if not limit_str.is_empty() and limit_str.is_valid_int():
_max_turns = int(limit_str)
print("AutoPlay: active — output to %s, max_turns=%d" % [_output_dir, _max_turns])
# Seeded determinism — only when AUTO_PLAY_SEED is set
var seed_str: String = EnvConfig.get_var("AUTO_PLAY_SEED", "")

View file

@ -115,7 +115,11 @@ _run_remote() {
echo "[seed $seed] Running via SSH on $AUTOPLAY_HOST..."
local remote_game_dir="\$HOME/tmp/autoplay_batch/game_${STAMP}_seed${seed}"
# Resolve remote $HOME once so we don't fight quoting rules
if [ -z "${REMOTE_HOME:-}" ]; then
REMOTE_HOME="$(ssh "$AUTOPLAY_HOST" 'echo "$HOME"')"
fi
local remote_game_dir="$REMOTE_HOME/tmp/autoplay_batch/game_${STAMP}_seed${seed}"
ssh "$AUTOPLAY_HOST" "
set -euo pipefail
@ -134,7 +138,7 @@ _run_remote() {
}
echo "[seed $seed] Fetching results from $AUTOPLAY_HOST..."
scp -r "$AUTOPLAY_HOST:\$HOME/tmp/autoplay_batch/game_${STAMP}_seed${seed}/." "$game_dir/" \
scp -r "$AUTOPLAY_HOST:$remote_game_dir/." "$game_dir/" \
>/dev/null 2>&1 || {
echo "WARNING: scp failed for seed $seed — result may be missing" >&2
}