WebPlatform Connectivity
This page covers issues connecting the WebPlatform to GAMA or headsets.
WebPlatform shows GAMA "Disconnected"
- Firewall: Ensure your OS firewall is not blocking incoming connections on port
1000. - GAMA Server Preferences: Verify that GAMA is actually listening for connections. Go to Support → Preferences → Network → Server Mode and ensure Port is
1000. - WebPlatform Config: Check your
.envfile.GAMA_IP_ADDRESSshould belocalhost(if on the same machine) andGAMA_WS_PORTmust be1000.
Headsets don't appear in the Monitor UI
If headsets are running the VR app but don't show up as "Connected" in the web panel:
- Network: Ensure the headsets and the machine running the WebPlatform are on the same WiFi network.
- ADB Status: If using ADB for discovery, check that
adb deviceslists the headsets. They must be in Developer Mode and have USB Debugging authorized. - Manual IP: If discovery fails, try adding the headset IPs explicitly to the
HEADSETS_IPvariable in your.envfile.
Simulation logic works, but no video stream
The WebPlatform uses scrcpy for video streaming.
- Prerequisites: Ensure
adbis in your system PATH. - Authorization: Check the headset for a "Allow USB Debugging?" prompt. This is required for every new connection unless "Always allow" is checked.
- Silent scrcpy failure: If
adb deviceslists the headset but streaming still doesn't start, scrcpy may have failed to get device authorization. Check the WebPlatform logs forFailed to start streaming. Install and run ADB Auto-Enable on the headset to keep authorization persistent and auto-accept the trust dialog.
.env file not found when running the packaged executable
The WebPlatform reads .env from the same directory as the binary, not from the working directory. Running the executable from a different folder (e.g. ./bin/simple.webplatform-linux while your .env is in ./) will silently use defaults for all variables.
Place .env alongside the binary:
my-deployment/
├── simple.webplatform-linux
└── .env ← must be here
Port already in use
If ports 8001, 8080, or 1000 are already bound by another process, the WebPlatform will fail to start the corresponding server. Diagnose with:
# Linux / macOS
ss -tlnp | grep -E '8001|8080|1000'
# or
lsof -i :8080
# Windows (PowerShell)
netstat -ano | findstr "8001 8080 1000"
Then override conflicting ports in .env:
MONITOR_WS_PORT=8011
HEADSET_WS_PORT=8090
GAMA_WS_PORT=1001
mDNS / Hostname Issues
http://simple.local does not resolve
The WEB_HOSTNAME feature relies on mDNS (Multicast DNS).
- Windows Support: Older versions of Windows do not support mDNS natively. Install iTunes or the Bonjour Print Services for Windows to add mDNS support.
- Network Isolation: Some enterprise or university WiFi networks block Multicast traffic. In this case,
.localaddresses will not work. - Solution: Use the machine's static IP address instead of the hostname.
Virtual Universe Loading
VU not appearing in the simulation selector
settings.json: Verify that the VU folder contains a validsettings.jsonfile in its root.- Directory Path: Check
LEARNING_PACKAGE_PATHin your.env. The WebPlatform only scans subdirectories of this path. - Recursive Scan: The WebPlatform only scans one level deep into the learning packages directory. Ensure your VU is not buried in a sub-subfolder.
GAML file not found error
The model_file_path in settings.json must be relative to the location of the settings.json file itself.
Example: If your folder structure is:
my_vu/
├── settings.json
└── models/
└── my_model.gaml
Then your settings.json should contain:
"model_file_path": "./models/my_model.gaml"