Troubleshooting the Open DIS module
No PDUs are ever received
Cause. Either nothing on the network is sending DIS traffic to the configured port/mode, or
UdpPort was changed away from its default (3000) without also updating the workstation
firewall rule this module’s network.listen capability is scoped to.
Fix. Confirm a DIS source is actually broadcasting to, or multicasting on, the configured
UdpPort and NetworkGroupAddress. If UdpPort was changed, update the firewall rule to match - see Configure.
PDUs arrive, but a capture session never starts
Cause. With StartOnAnyPDU disabled (the default), a session only starts on a PDU whose type
is in StartPduTypes (default: StartResume). A source that never sends that PDU type - for
example, one that only sends EntityState traffic without ever issuing a Start/Resume - will
never trigger a session under the default configuration.
Fix. Either enable StartOnAnyPDU so any valid PDU starts a session, or add the PDU types
your source actually sends to StartPduTypes.
The session starts and stops repeatedly on its own
Cause. With StartOnAnyPDU enabled and StopOnSilence also enabled, a session ends after
SilenceThreshold with no PDUs at all - a source that pauses between updates longer than that
threshold looks identical to a source that has gone offline.
Fix. Raise SilenceThreshold to comfortably exceed the source’s normal update gaps, or
disable StopOnSilence and stop the session by another means.
A known-good sender’s packets never appear
Cause. LocalCaptureOnly is enabled, and the sender is not one of the workstation’s own local
IP addresses. This drop is silent - no warning is logged, and the packet is only visible as a
count in droppedPackets on the debug view, indistinguishable from a packet dropped for any other
reason.
Fix. Disable LocalCaptureOnly if the sender is expected to be a different host on the
network, not the workstation itself.
The module never restarts after enabling then disabling it
Cause. This module runs continuously from HEAT Capture’s own startup, independent of capture
sessions (see Overview) - it is not restarted or reinitialised at session
boundaries the way session-scoped modules are. Its native socket only rebuilds when a
socket-relevant setting (UdpPort, NetworkMode, NetworkGroupAddress) actually changes.
Fix. If the receiver appears stuck in an error state, changing one of those three settings to a genuinely different value and back forces a socket rebuild without a full application restart - setting it to the value it already holds does not, since the module only rebuilds when the new value differs from what it is currently bound to.