Perfect Comms v4.1.5
Perfect Comms v4.1.5 keeps P2P voice fresh through stalls and packet loss, makes ICE and signaling recovery bounded and explicit, adapts reliably to a persistently weak path, improves transport diagnostics, and makes living and ghost speaking avatars match Among Us cosmetics more faithfully.
More Resilient P2P Voice
-
Direct voice now stays current when a connection stalls or loses packets.
Each peer retains only a bounded tail of fresh outbound speech, preserves the real RTP timeline across local capture gaps, and absorbs larger receive bursts without allowing playback delay to grow without bound. Bounded audio NACK, Opus FEC/DRED/PLC recovery, faster feedback, and congestion-aware bitrate changes improve recovery on lossy or bandwidth-limited Wi-Fi and mobile links.
-
A persistently weak route now influences quality without making one transient report penalize the lobby.
In larger rooms, the shared encoder still ignores one isolated bad sample, but repeated fresh evidence qualifies a single impaired path so sustained loss or bandwidth pressure receives protection. Degradation remains prompt, while recovery requires consecutive healthy windows to prevent bitrate and packet-loss protection from oscillating.
Stable, Bounded Connection Recovery
-
ICE recovery is explicit and stable when network paths change.
Generation-fenced ICE restarts preserve current peer state, direct UDP uses a bounded socket mux, and direct ICE-TCP remains available when UDP is restricted. Automatic candidate renomination is intentionally disabled: Perfect Comms does not automatically switch a live connection between direct and relay paths, and TURN credentials and relay selection policy remain unchanged.
-
Signaling recovery stays bounded under repeated failures.
Per-peer SDP, ICE-candidate, and restart work is generation-fenced, coalesced, and capped so current operations supersede stale work. Explicit acknowledgements and bounded recovery windows prevent a stalled helper or signaling backlog from accumulating obsolete work indefinitely.
-
Results-to-lobby voice no longer dips when Among Us briefly clears the lobby id.
The already-authenticated EndGame session is retained across the short same-lobby GameId gap instead of publishing a one-frame deaf mixer state. Explicit disconnects, new lobby ids, and every non-EndGame missing-id state still fail closed.
-
Healthy desktop microphone capture no longer receives a needless watchdog restart after startup.
The helper's generation-matched first native capture callback now proves the active capture attempt, so its continuing level cadence is counted immediately instead of being misclassified as three empty health windows.
More Faithful Speaking Avatars
-
Ghost speakers now use the game's complete ghost body and cosmetic geometry.
Publicly known deaths switch the speaking avatar to Among Us' ghost artwork at the correct scale, preserve layered hats and visors, and cache one stable post-death pose so an animated cosmetic cannot jump when a fading voice slot reappears. Hidden task-phase deaths remain private.
-
Living cosmetics preserve their intended depth and facing-specific artwork.
Back cosmetic layers remain behind the body, while asymmetric hats, skins, and visors use their dedicated left-facing idle art instead of mirroring the right-facing frame. Speaking avatars remain static rather than replaying world movement animations.
Better Voice Diagnostics
- Transport problems are easier to separate from capture and playback stalls.
Diagnostics now report selected path and protocol details, candidate-pair changes, signaling and media queue pressure, superseded or stale RTP, write timeouts and RTP send errors, local media gaps, receive loss and reordering, and latency catch-up activity.