Bean Network Tester

Simulace lagu a ztráty paketů ve hrách

Netcode se píše na lokálním spojení s pingem 1 ms a testují ho hráči na hotelovém WiFi. Tohle tu propast zavírá na vašem vlastním počítači, jen na procesu hry, zatímco zbytek počítače zůstává použitelný.

Začněte tady

Zaměřte se na herního klienta, dejte mu realistické špatné spojení a nechte ho po pěti minutách zastavit samotného:

BeanNetworkTester.exe --latency 120 --jitter 60 --loss 3 --target mygame.exe --duration 300

K tomu existuje i hotová časová osa: overloaded-game-server.json ve složce scenarios provede spojení přetížením a zase zpět, takže uvidíte, jak klient zvládá oba směry změny. Viz scénáře v čase.

Proč hra ukazuje ztrátu, když prohlížeč ne

Většina herního provozu je UDP a UDP nemá, za čím ztrátu schovat. Webová stránka přes TCP tiše odesílá znovu a jen trvá déle, proto se prohlížeč může při 5 % ztrát zdát v pořádku, zatímco zápas při stejných 5 % sekne, vrací postavy a desynchronizuje se.

Díky tomu je hra poctivým místem pro test ztráty: co nastavíte, to klient skutečně zažije.

Co nastavit a co to odhalí

NastaveníZkusteCo to odhalí
Zpoždění80 až 250 msPredikci a interpolaci. Sklouzne vaše postava po výstřelu zpět?
Jitter40 až 100 msVyrovnávání. Stálých 200 ms se schovává snáz než ping, který se pořád mění.
Ztráta2 až 10 %Chybějící aktualizace stavu a to, zda se klient zotaví, nebo se rozejde.
Skoky1 sekunda, zřídkaZadrhnutí, které způsobí předání mezi věžemi (základnovými stanicemi). Obvykle to nejhorší.
Zapínání a vypínání linkycyklus 10 s, 30 % výpadekOpětovné připojení a návrat do hry.

Jitter měřte jako rozdíl mezi 95. percentilem a mediánem, a ne jako průměr: jitter průměr sotva pohne, a proto může běh na papíře vypadat stejně a hrát se jinak.

Porovnání dvou buildů potřebuje seed

Náhodná ztráta dělá dva běhy různými, takže „nový build je horší“ není důkaz. Stejný seed přehraje stejnou ztrátu a stejný jitter, čímž se pocit mění v porovnání:

BeanNetworkTester.exe --latency 120 --jitter 60 --loss 5 --seed 42 --target mygame.exe --duration 180

Co to neumí

Tohle tvaruje provoz vašeho počítače. Nezpomalí server, nezmění jeho tick rate a nedá ostatní hráče na špatné spojení, takže testuje vašeho klienta proti špatné lince, ne váš server pod zátěží. Pro stranu serveru potřebujete zátěžové testování a pro lobby plné špatných spojení více než jeden počítač.

Dále

Jste připraveni záměrně rozbít vlastní síť?

Stáhnout pro Windows