# KILL-STORM repro rig (#35 owens-laser crash): offset ports (1520), owens # shooter under BT_AUTOFIRE with BT_MP_FORCE_DMG killing the victim replicant # every ~1s -- hundreds of mid-volley-kill teardown windows per mission. $repo = 'C:\git\bt411' $content = Join-Path $repo 'content' $scratch = 'C:\Users\EPILECTRIK\AppData\Local\Temp\claude\C--git-bt411\89ab96e9-6cf0-4555-939d-05bf3708745a\scratchpad' $exe = Join-Path $repo 'build\Release\btl4.exe' $relaylog = Join-Path $scratch 'ks_relay.log' $pidfile = Join-Path $scratch 'ks_pids.txt' if (@(Get-NetTCPConnection -State Listen -LocalPort 1520 -ErrorAction SilentlyContinue).Count -gt 0) { "ABORT: port 1520 in use"; exit 1 } Remove-Item $relaylog -ErrorAction SilentlyContinue $pids = @() $relay = Start-Process -FilePath 'python' ` -ArgumentList '-u', (Join-Path $repo 'tools\btconsole.py'), '--relay', '1520', (Join-Path $content '_KILLSTORM.EGG'), '--bind', '127.0.0.1', '--manual-launch' ` -WorkingDirectory $content -PassThru ` -RedirectStandardOutput $relaylog ` -RedirectStandardError (Join-Path $scratch 'ks.err') $pids += $relay.Id Start-Sleep -Seconds 3 "relay pid=$($relay.Id)" $env:BT_START_INSIDE = '1' $env:BT_DEV_GAUGES = '1' $env:BT_RELAY = '127.0.0.1:1520' $env:BT_MATCHLOG = '0' $env:BT_LOG_APPEND = '1' # SHOOTER: owens, autofire held, force-kill the victim replicant every ~1s $env:BT_LOG = 'ks_shooter.log'; $env:BT_SELF = '127.0.0.1:1502' $env:BT_AUTOFIRE = '1'; $env:BT_MP_FORCE_DMG = '400' $a = Start-Process -FilePath $exe -ArgumentList '-egg','_KILLSTORM.EGG','-net','1502' ` -WorkingDirectory $content -PassThru $pids += $a.Id Start-Sleep -Seconds 2 # VICTIM: plain Remove-Item Env:\BT_AUTOFIRE, Env:\BT_MP_FORCE_DMG -ErrorAction SilentlyContinue $env:BT_LOG = 'ks_victim.log'; $env:BT_SELF = '127.0.0.1:1602' $b = Start-Process -FilePath $exe -ArgumentList '-egg','_KILLSTORM.EGG','-net','1602' ` -WorkingDirectory $content -PassThru $pids += $b.Id Set-Content -Path $pidfile -Value $pids "shooter=$($a.Id) victim=$($b.Id)"