<# start-all.ps1 - launch all local Goliath watchers at once (background, no windows). Run from this folder: powershell -ExecutionPolicy Bypass -File .\start-all.ps1 Needs setup.ps1 to have installed Python + deps, and config.ini filled in (ntfy topic and/or [discord] webhook so alerts reach you). #> $here = Split-Path -Parent $MyInvocation.MyCommand.Path Set-Location $here if (Get-Command python -ErrorAction SilentlyContinue) { python -m pip install --quiet -r (Join-Path $here "requirements.txt") 2>$null } else { Write-Warning "Python not found - run setup.ps1 first."; exit 1 } # Headless intel watchers + the auto-update poller (run continuously, no interaction) $watchers = @("eve_combat_watcher.py", "eve_chat_watcher.py", "eve_rock_watcher.py", "eve_local_watcher.py", "eve_audio_watcher.py", "eve_autoupdate.py") foreach ($w in $watchers) { Start-Process pythonw -ArgumentList "`"$here\$w`"" -WorkingDirectory $here -WindowStyle Hidden Write-Host "started $w" } # Ore/gas-hold watcher: OCR mode is headless too (after a one-time --snip). $cfg = Get-Content (Join-Path $here "config.ini") -ErrorAction SilentlyContinue if ($cfg -match "mode\s*=\s*ocr") { Start-Process pythonw -ArgumentList "`"$here\eve_orehold_watcher.py`"" -WorkingDirectory $here -WindowStyle Hidden Write-Host "started eve_orehold_watcher.py (OCR mode)" } else { Write-Host "ore-hold watcher NOT started (timer mode is interactive - run it in its own window, or set mode=ocr + --snip)." } Write-Host "" Write-Host "Watchers running. Stop them with: Get-Process pythonw | Stop-Process"