FAQ

Straight answers about where the numbers come from, how Internet access detection works, and what is — and is not — stored.

Q1what is pingrank?

Real-world game latency rankings. Players run the pingrank CLI while they play; it measures latency, jitter, and loss to the game servers they actually connect to, and — only when they choose to — submits the derived stats. Every row on this site is an aggregate across many sessions on one network; nothing about an individual player is published.

Q2how are the latency numbers measured?

Each session is split into per-server segments with their own latency percentiles. Headline numbers (p50, p95, jitter, loss) blend clean measurement methods only — direct probes, in-protocol timing, and TCP kernel statistics. Last-hop and mixed-method segments are counted but never averaged in. Traffic that rides a relay network (Valve SDR and similar) is reported separately as relay% — it is never passed off as server latency.

Q3what do the leaderboard columns mean?

Ping is the round trip a piece of your game's data makes to the server and back, in milliseconds — lower is better. One number can't describe thousands of pings, so the board shows a few views of them:

p50
The typical ping. Line every measured ping up from fastest to slowest; this is the middle one. Half were faster, half slower — it's what the game feels like most of the time.
p95
The rough-moment ping: 19 of every 20 pings were faster than this. A p95 far above p50 means the connection is fine most of the time but suffers lag spikes.
jitter
How much the ping wobbles from moment to moment. A steady 40 ms feels smoother than a 20 ms that keeps jumping around — jitter is what makes a game feel stuttery.
loss
The share of data packets that never arrived and had to be resent or skipped. Even 1–2% can cause rubber-banding and shots that don't register.
relay
The share of traffic that travelled through the game's own relay servers — a middleman, like Valve's network — instead of straight to the game server. It's reported separately and never mixed into the ping numbers.
sessions
How many recorded play sessions the row is built from. More sessions means more players backing the numbers — and more trustworthy rankings.
access
How the ISP hands out Internet connections on this network — see access detection below.
region
The country the network's addresses are registered in, so you can compare how a game performs from different parts of the world. It is derived on the server from the submitting connection at the moment a session arrives — the address itself is discarded, never stored.
Q4what is access detection?

Access is how your ISP hands you the Internet. Some connections get a public IPv4 address of their own; many sit behind an ISP translation layer instead — carrier-grade NAT (CGNAT), NAT64 or 464XLAT on IPv6-only access, DS-Lite, or address-and-port sharing. That layer is invisible in a speed test but matters for gaming: it changes NAT behaviour, can break hosting and peer-to-peer play, and adds a translation hop you never see. The leaderboard splits rankings by it so networks are compared like for like.

pingrank access classifies a connection from evidence it gathers locally:

  • It asks reflector endpoints in different regions — over UDP, TCP, and HTTPS — what address and port your traffic appears to come from.
  • It compares that outside view with the external address your own router reports. When the two differ, something upstream is translating.
  • On IPv6-only access it discovers NAT64 prefixes and verifies them with a real connection to an IPv4 reflector.
  • Source-port allocation patterns expose address-and-port sharing.

One machine cannot always tell ISP-level sharing from an ordinary home LAN, so the backend adds fleet correlation: submissions carry one-way keyed correlation values (never raw addresses), and a network is only confirmed as sharing addresses when at least three unrelated installations appear behind the same public IPv4 at the same time while clearly being different households (three distinct IPv6 networks). A family playing on one connection never counts as CGNAT.

On the leaderboard every row carries an access chip: none (no CGNAT detected), likely, confirmed, or unknown. Unknown means the evidence was inconclusive — missing router information is not evidence for or against CGNAT.

Q5what do the access classifications mean?
native public IPv4
The device has a directly usable public IPv4 path — no upstream translation detected.
no visible upstream translation
Only your own router's NAT is visible. This does not prove upstream address sharing is absent.
ISP-level address sharing
Independent observations show a translation layer beyond the local network — CGNAT, confirmed by fleet correlation.
NAT64
IPv6-only access reaching the IPv4 Internet through the ISP's translator; a discovered NAT64 prefix passed a verified connection to an IPv4 reflector.
likely 464XLAT
Verified NAT64 plus working IPv4 sockets — IPv4 apps running over IPv6-only access via a local translation layer.
likely DS-Lite
Router or host configuration exposed supporting DS-Lite evidence — IPv4 tunnelled to the ISP over IPv6.
likely address-and-port sharing
Mapping evidence is consistent with a restricted source-port allocation: several customers share one address, each holding a slice of its ports.
undetermined
The available measurements are inconclusive. Missing evidence is not evidence.
Q6what leaves my machine, and what is stored?

A submitted session is per-segment derived stats (latency percentiles, jitter, loss), the game ID, client version, and access-path evidence, plus a random 128-bit installation ID generated locally — no MAC address, hardware ID, or account. pingrank submit -dry-run shows the exact bytes before anything is sent.

The backend uses your IP once, in memory, to derive your ISP's ASN, then discards it — it is never logged or stored. Exact addresses and source ports are replaced with one-way keyed correlation values before anything is persisted, and neither those values nor any individual observation is ever published. Public access tables only show rows backed by at least five distinct installations.

Q7how do I get my network on the board?

Run a node: install the pingrank CLI, play something it detects, and submit the session. Latency rows appear immediately; access rows appear once five distinct installations on your network report the same classification.