Autentificarea în Steam funcționează, jocul nu: verifică fiecare cale
Autentificarea în Steam, o descărcare și o sesiune de matchmaking pot urma căi diferite. Parcurge lista de verificare în ordine și notează care pas a eșuat de fapt.
Pornește Steam, autentifică-te, și totul pare sănătos până când jocul nu găsește o sesiune. Tratează asta ca trei întrebări de rețea separate, nu una singură. Magazinul și ecranele contului, descărcarea conținutului și sesiunea jocului pot ajunge fiecare la puncte finale diferite prin transporturi diferite. Rulează aceste verificări în ordine și oprește-te la prima care eșuează, pentru că tot ce urmează este o presupunere.
Pasul 1: confirmă că autentificarea a fost singurul lucru care a funcționat
Autentificarea dovedește că contul a ajuns la serviciul de identitate cu acreditările și orice al doilea factor cerut de cont. Nu spune nimic despre livrarea conținutului și nimic despre aranjamentul propriu de găzduire al jocului. Notează care dintre cele trei operații le-ai testat de fapt, pentru că oamenii raportează de obicei un joc defect după ce au testat doar launcherul.
Citește textul erorii înainte de rețea. Un joc care raportează că nu există servere disponibile îți spune altceva decât un launcher care nu ajunge la magazin. Cele două erori vin din straturi diferite și rareori înseamnă același lucru. Distincția decide dacă următoarea verificare privește rezolvarea numelor, UDP sau o setare de regiune.
Notează contul, regiunea, jocul și ora. Fără aceste patru valori, o comparație ulterioară este între două teste diferite care împart din întâmplare același nume.
Pasul 2: numește transportul pentru fiecare operație
Livrarea conținutului se comportă ca un transfer HTTP mare și tolerează latența mult mai bine decât pierderea. Matchmakingul și sesiunile din joc folosesc adesea UDP, unde o cale care pierde pachete arată ca un joc stricat, nu ca o descărcare lentă. Aceste două profiluri eșuează diferit pe același tunel, de aceea o descărcare rapidă nu prezice o sesiune funcțională.
Verifică destinațiile și socketurile active înainte de lista de porturi a furnizorului. Lista spune ce poate folosi platforma, în timp ce socketurile spun ce face acest client chiar acum.
nslookup api.steampowered.com
ss -uanp | head -20
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' https://store.steampowered.com/Dacă procesul jocului ține un socket UDP cu trafic, iar calea de transfer este în regulă, defecțiunea este în partea UDP. Asta restrânge problema la modul în care tunelul tratează UDP, nu la cont sau la magazin.
Pasul 3: verifică politica de includere înainte de lista de porturi
Mulți clienți VPN aplică politica pe aplicație, pe interval de adrese sau pe familie de adrese în loc de întreaga mașină. Launcherul poate fi în tunel, în timp ce un binar al jocului lansat separat este în afara lui, și atunci cei doi nu sunt de acord asupra lumii. Includerea la nivel de aplicație este vinovatul obișnuit pe laptopurile de gaming cu un client al furnizorului instalat. Citește politica care este cu adevărat în vigoare, nu profilul salvat luna trecută.
Uită-te la tabelul de rutare și la interfața care deține ruta implicită. O regulă de tunel divizat bazată pe prefixe de destinație va apărea acolo, iar o excludere la nivel de aplicație nu. Merită să cunoști diferența înainte de a schimba oricare dintre ele.
ip route show default
ip -brief addr
Get-NetAdapter | Select-Object Name, Status, InterfaceDescriptionDacă traficul jocului iese prin adaptorul fizic în timp ce magazinul trece prin tunel, politica de includere este constatarea. Nicio excepție de port nu va repara o decizie de rutare, iar adăugarea uneia doar lărgește suprafața.
Pasul 4: exclude o cale SOCKS care nu poate transporta UDP
Tor oferă un proxy SOCKS, iar suportul SOCKS în ecosistem este inconsecvent în privința UDP. Comportamentul documentat al Tor nu implementează UDP ASSOCIATE, așa că un joc al cărui trafic de sesiune este UDP nu poate folosi acea cale, oricum ar fi îndreptat clientul spre ea. Un browser care funcționează prin proxy dovedește doar că fluxurile TCP ale browserului funcționează.
Testează afirmația, nu intenția. Dacă jocul raportează în continuare o sesiune indisponibilă în timp ce un test doar TCP prin același proxy reușește, calea proxy nu transportă traficul de care are nevoie jocul.
Tratează un VPN rutat și un proxy SOCKS ca instrumente diferite cu capacități diferite. Înlocuirea unuia cu altul este o schimbare de design, nu o preferință de configurare.
Compară înregistrarea cu acordul
Accesibilitatea rețelei și permisiunea contului sunt întrebări separate, iar doar la prima răspunde un tunel funcțional. Restricția privește intenția din spatele proxyingului, nu protocolul ales. Acordul în vigoare limitează proxyingul IP al cărui scop este să ascundă unde locuiește deținătorul contului, așa că o cale care funcționează poate rămâne în afara termenilor acceptați. Citește acordul în loc să tratezi conectivitatea ca aprobare.
Pentru o comparație corectă, schimbă o singură variabilă o dată și păstrează același joc, regiune de server, cont și operație. Apoi verifică rezultatul pe aceleași patru operații notate la început.
tracert -h 12 store.steampowered.com
ss -uanp | grep -i -E 'game|steam'
curl -sS -o /dev/null -w '%{remote_ip} %{time_connect}\n' https://store.steampowered.com/Când înregistrarea arată că autentificarea funcționează, descărcarea funcționează și sesiunea eșuează, întrebarea rămasă este despre UDP pe cale. Când toate trei funcționează, reclamația inițială era despre altceva, iar următorul pas util este jurnalul propriu al jocului, nu tunelul. În orice caz, lista de verificare a înlocuit o dispută cu o observație concretă.