A new Windows render body is available at IP 10.110.15.188 (same subnet as fluffy-dumpling-87 at 10.110.15.197 and cheeky-cactus-86 at 10.110.15.192 — bxl1-test, venue ad6). Needs enrollment and hydrabody installation.
["hydrabody", "hydravoice", "hydraguard-air"]C:\Sunshine\sunshine.exe with credentials configuredcurl -X PATCH -H "Authorization: Bearer <ADMIN_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"roles": ["hydrabody", "hydravoice", "hydraguard-air"]}' \
https://hydracluster.experiencenet.com/api/v1/nodes/<NODE_ID>
New-Item -ItemType Directory -Force C:\hydrabody
Invoke-WebRequest -Uri https://releases.experiencenet.com/hydrabody/production/latest/hydrabody_windows_amd64.exe -OutFile C:\hydrabody\hydrabody.exe
C:\hydrabody\hydrabody.exe install
UE experiences show a firewall dialog on first run — pre-approve during provisioning:
netsh advfirewall firewall add rule name="Mercator56" dir=in action=allow program="C:\experiences\mercator-talks\Windows\Mercator56.exe" enable=yes
netsh advfirewall firewall add rule name="Mercator56-Shipping" dir=in action=allow program="C:\experiences\mercator-talks\Windows\Mercator56-Win64-Shipping.exe" enable=yes
Symptom: Sunshine captures 3840x1080 virtual desktop despite vdd_settings.xml count=1. Root cause: VDD sometimes installs two PnP devices (ROOT\DISPLAY\0002 + ROOT\DISPLAY\0003). With two VDDs, Sunshine spans them as a wide virtual desktop and cannot switch to portrait 1080x1920.
Diagnosis:
Get-PnpDevice | Where-Object { $_.FriendlyName -like "*Virtual Display*" } | Select-Object InstanceId, Status
Expect exactly ONE Virtual Display Driver with status OK.
Fix if duplicate found:
Disable-PnpDevice -InstanceId "ROOT\DISPLAY\0003" -Confirm:$false
Remove-Item "$env:USERPROFILE\.hydrabody\vdd_sunshine_configured.txt" -ErrorAction SilentlyContinue
Stop-Process -Name sunshine -Force
After fix: Sunshine log shows Virtual Desktop: 1920x1080.
If Moonlight is killed mid-session, Sunshine does not fire stream/ended. Session stays active indefinitely. Manual fix:
curl -X POST http://<body-wg-ip>:47991/api/v1/stream/ended \
-H "Content-Type: application/json" -d {"app":"<experience>"}
Tracked in issue #222 for permanent fix.
Orphan scanner previously used app slug as process name prefix (rupelmonde-castle-viewer), never matching the actual UE binary (Rupelmonde). Fixed in v1.11.40 — now reads exe_path from installed experience state.
Without the query filter, /api/v1/experiences/live returned all districts, causing 404 download spam for experiences not assigned to the local district. Fixed in v1.11.39.
Use cosmic-pretzel-98 (node-4c2be4b0) as the reference body for this venue. Compare configs after setup using hydrabody/docs/testbooks/body-readiness.md.