Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Native ICE STUN failover can stall when server entries share an address

Aperta
#437 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
networking
Ambito
networking

Direzione di ricerca

Look at the native ICE client code, likely in files handling STUN server lists and failover logic. The issue describes a loop when duplicate addresses exist in the server list. Start by finding where STUN requests are made and how the next server is selected after a timeout. Check for address-based indexing. The fix involves ensuring unique address selection or marking discovery as failed. Test with a setup using duplicate hostname entries.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

We hit a repeatable stall in the native ICE client on Windows with GameNetworkingSockets 1.6.0.

When a STUN request times out, the client uses the server's address to find its position in the configured server list, then tries the next entry. If several entries have the same address, it keeps finding the first match and retrying the same next entry.

The client doesn't mark STUN discovery as failed, and the retries continue without a pause.

In our setup, stun.l.google.com and stun1.l.google.com through stun4.l.google.com all resolved to the same IPv4 and IPv6 addresses.

On a machine with an additional network adapter, sends through that adapter failed with WSAEADDRNOTAVAIL or WSAENETUNREACH. During match startup, the repeated retries caused the game to freeze.

We worked around it by configuring only STUN hostnames that resolve to distinct addresses. The keepalive path also appears to select servers by address, so duplicate entries may affect it as well.

Lingua principale
C++
Stelle
9.9k
Fork
749
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ValveSoftware/GameNetworkingSockets

Tutte le issue di ValveSoftware/GameNetworkingSockets

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.