Skip to content

h3/WebRTC on an IPv6-only server #191

Description

@timriker

webrtc.listen refuses an IPv6 address, and the server drops IPv6 candidates (server/move-channel.cjs), so a phone on Verizon never runs WebRTC over its IPv6 -- that resets its whole data session, the same reason voice uses voiceIceServersIpv4. On a server with no IPv4 address the WebRTC channel is therefore off and every player's packets ride the WebSocket. Nobody hosts that way yet.

What it would take:

  • Test first: does Chrome, and Safari, ask TURN for an IPv6 relay address (RFC 6156 REQUESTED-ADDRESS-FAMILY) when the peer only has IPv6? coturn supports it. If browsers never ask, phones on a v6-only server stay on the WebSocket and the rest of this is only for non-phones.
  • Let webrtc.listen bind IPv6 ([::]:5153).
  • Accept IPv6 candidates from clients that are not kept on IPv4; keep filtering them for phones.
  • Offer phones the IPv4 TURN servers (voiceIceServersIpv4) for the move channel, which today gets STUN only: phone -> turn4 over IPv4, relay -> server over IPv6.

BZFlag clients and the BZFlag list server stay IPv4 regardless; that is upstream's limit. Related: #189.

Activity

  1. changed the title [-]Moves over WebRTC on an IPv6-only server[/-] [+]WebRTC on an IPv6-only server[/+] on Oct 9, 2026
  2. changed the title [-]WebRTC on an IPv6-only server[/-] [+]h3/WebRTC on an IPv6-only server[/+] on Oct 10, 2026
  3. timriker commented on Oct 11, 2026

    @timriker
    OwnerAuthor

    This is tested from the client side. bz.rikers.org:5154 has bz4.rikers.org on ipv4, and bz6.rikers.org on ipv6 only. bzo clients are working on any of these.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions