RE:NODE

Síť13 min čtení

Poloha herního serveru a latence

Latence je vzdálenost dělená rychlostí světla. Jak vybrat lokalitu pro hráče, které skutečně máš, poctivě ji změřit a správně číst naměřená čísla.

Aktualizováno

7 čtenářů

Poloha serveru je jediný parametr, který nejde později vylepšit bez stěhování celého serveru, a také ten, který většina lidí vybírá jako poslední, obvykle náhodou. Přitom stojí za to přemýšlet o něm jako o prvním, protože číslo, které určuje - odezva mezi hráčem a serverem - je dané fyzikou a směrováním, ne strojem, který si pronajmeš. Rychlejší CPU ji nesníží. Víc paměti ji nesníží. Jedinou pákou je, kde server stojí vzhledem k místu, kde sedí hráči, a poctivý způsob, jak ji použít, je zjistit, kde leží střed tvé party, a server dát tam.

Latence je nejdřív fyzika, až potom hardware#

Světlo ve vakuu urazí 300 km za milisekundu. Ve skle zpomalí zhruba na dvě třetiny, takže užitečné pravidlo zní 200 km za milisekundu v optickém vlákně. Odezva jde tam i zpátky, takže absolutní dolní mez pro jakékoli spojení je zhruba jednosměrná vzdálenost v kilometrech dělená 100, vyjádřená v milisekundách.

Tuto mez v praxi nedosáhneš, ze tří důvodů, které se sčítají. Vlákna nevedou v přímých liniích - sledují pobřeží, železniční koridory a existující chráničky, takže kabelová vzdálenost bývá 1,3 až 2krát větší než vzdálenost po velké kružnici. Každý router na trase přidává čas na přepnutí, obvykle zlomek milisekundy, ale je jich deset až dvacet. A poslední míle je největší viník: prokládání DSL, plánování kabelového modemu, opakované odesílání po wifi a přetížený domácí uplink mohou přidat 5 až 40 ms dřív, než paket opustí budovu.

Realistické očekávání je tedy zhruba dvojnásobek fyzikální meze, někdy o něco méně na dobře propojené trase mezi dvěma velkými uzly, někdy třikrát až čtyřikrát na trase, která musí jít oklikou. Žádný hosting to nezmění. Hosting, který inzeruje nižší ping, než geometrie dovoluje, měří něco jiného - obvykle čas k jejich webovému serveru nebo ping zevnitř jejich vlastní sítě.

Jak se jednotlivá pásma latence skutečně hrají#

Níže uvedená čísla jsou odezva, kterou hráč vidí, a nejsou lineární v tom, jak se hrají. Z 20 na 40 ms se téměř nepozná. Ze 100 na 120 se mění, které souboje vyhráváš.

OdezvaJak se hraje
Pod 30 msNerozeznatelné od lokální hry v každém žánru
30-60 msV pořádku pro survival, stavění, závody a roleplay. U střílečky znatelné, když se zaměříš
60-100 msHratelné všude. Hráči kompetitivních stříleček si tu začínají stěžovat
100-150 msSurvival a stavitelské hry jsou pořád v pořádku. Cokoli se souboji ne
Nad 150 msJiný zážitek, ne horší verze téhož

Žánr rozhoduje víc než číslo. Server Valheimu nebo Factoria na 120 ms je zcela hratelný, protože téměř nic v těch hrách nezávisí na reakci do sta milisekund. Server Counter-Strike 2 na 120 ms je špatný server, protože výhoda toho, kdo vykukuje, roste přímo s rozdílem latencí mezi dvěma hráči a celá hra je na tom postavená. Minecraft je někde mezi - stavění je v pořádku na 150 ms, PvP ne.

Existuje také souvislost s tick rate, která se mylně svádí na polohu. Server s 20 ticky přidá až 50 ms vlastního zpoždění, než se pohne jediný paket, a server s 64 ticky až 15 ms. Pokud si lidé stěžují na „lag“ na serveru vzdáleném pět milisekund, hledej příčinu v tick rate a vlastním času snímku serveru, ne na mapě - co tick rate vlastně znamená to rozebírá pořádně.

Odezvy do Frankfurtu a kde leží dolní mez#

Frankfurt je rozumná náhrada za jakoukoli německou lokalitu, protože tam sídlí DE-CIX a většina evropských tras jím prochází. Tady je fyzikální mez vedle toho, co obvykle naměří domácí připojení. Tvoje číslo se bude lišit podle poskytovatele internetu a denní doby - změř si to, místo abys věřil tabulce, včetně této.

OdkudFyzikální mezTypicky naměřeno
Amsterdam4 ms7-10 ms
Berlín4 ms8-12 ms
Paříž5 ms10-15 ms
Londýn6 ms12-18 ms
Milán5 ms14-20 ms
Varšava9 ms20-28 ms
Stockholm12 ms25-32 ms
Madrid14 ms30-40 ms
Kyjev16 ms30-45 ms
Moskva20 ms35-50 ms
Istanbul19 ms45-60 ms
Tbilisi29 ms60-80 ms
New York62 ms85-100 ms
Dubaj48 ms110-135 ms
Los Angeles93 ms145-165 ms
Singapur103 ms155-185 ms
São Paulo98 ms190-215 ms
Sydney165 ms250-290 ms

Dva řádky si zaslouží komentář, protože ukazují, co dělá směrování. Dubaj je ke Frankfurtu blíž než New York a má zhruba o třetinu vyšší latenci, protože transatlantické kabely jsou krátké, přímé a obrovské, zatímco provoz do Zálivu jde delší pozemní a podmořskou cestou s víc skoky. Tbilisi je od Frankfurtu pod 3 000 km a často měří hůř než New York na víc než dvojnásobné vzdálenosti, protože kavkazské trasy se často stáčejí přes Istanbul, Bukurešť nebo Moskvu místo aby šly něčím, co se podobá přímce.

To je obecné poučení. Vzdálenost určuje dolní mez. Směrování rozhoduje, jak vysoko nad ní skončíš. Město vzdálené 500 km se špatnou tranzitní cestou může být pomalejší než město vzdálené 2 000 km s dobrou.

Vybírej podle středu své party#

Server umístěný tak, aby jednomu člověku dal 10 ms a všem ostatním 90, je horší než ten, který dává všem 45. Zní to samozřejmě a pořád se to porušuje, protože ten, kdo vybírá hosting, obvykle vybírá nejblíž sobě.

Metoda, která funguje:

  1. Zeptej se každého pravidelného hráče, v jaké je zemi a u jakého poskytovatele. Ne „v Evropě“ - v jaké zemi, protože Portugalsko a Polsko jsou od sebe 3 000 km.
  2. Ať každý z nich spustí ping na testovací adresu v kandidátské lokalitě a nahlásí číslo, ne svůj dojem.
  3. Seřaď výsledky a podívej se na medián a nejhorší hodnotu. Optimalizuješ medián a nejhorší držíš pod pásmem, kde se jejich žánr rozpadá.
  4. Odlehlé hodnoty záměrně odpočítej. Člověk na satelitním připojení nebo na jiné polokouli by měl problém, ať server půjde kamkoli, a posunout ho k němu stojí osm lidí deset milisekund na hlavu, aby se ušetřilo čtyřicet jednomu.

Stojí za zmínku dva zvláštní případy. Pokud je tvoje parta opravdu rozdělená mezi kontinenty - polovina v Evropě a polovina v Severní Americe - žádná dobrá jediná lokalita neexistuje a poctivé možnosti jsou vybrat tu polovinu, která hraje víc, a říct druhé pravdu, nebo provozovat dva servery a smířit se s tím, že jsou to dvě komunity. Kompromis na Islandu dá všem průměrný zážitek, což je jediný výsledek, který nikdo nechtěl.

A pokud provozuješ veřejný server, ne server pro kamarády, lokalita určuje, kdo se připojí. Německý server se zaplní evropskými hráči bez ohledu na to, co jsi zamýšlel, protože všichni ostatní vidí v prohlížeči špatný ping a jdou dál. To je přednost, pokud jsi chtěl evropskou komunitu, a problém, pokud ne.

Vzdálenost určuje dolní mez, směrování zbytek#

Jakmile máš užší výběr, rozdíly mezi možnostmi jsou o kvalitě sítě, ne o kilometrech. Záleží na třech věcech a žádná z nich není na stránce s ceníkem.

Peering. Datacentrum připojené k velké výměně předává provoz domácím poskytovatelům přímo, místo aby platilo tranzitnímu poskytovateli, aby ho odvezl. Frankfurt, Amsterdam a Londýn jsou místa, kde se v Evropě peeruje, a proto je tam server často lepší než geograficky bližší v městě s jediným upstreamem.

Asymetrické cesty. Trasa tam není nutně trasou zpět a traceroute ukazuje jen jeden směr. Cesta, která z tvé strany vypadá dobře, může být v opačném směru příšerná, což je důvod, proč je jednostranný traceroute důkazem, ne jistotou. Čtení výstupu traceroute a mtr vysvětluje, co sloupce skutečně znamenají a které skoky můžeš bezpečně ignorovat.

Poslední míle samotného hráče. To je část, kterou nespravíš, a často je největším členem. Wifi přidá 2-10 ms za dobrého dne a mnohem víc, když je kanál vytížený. Přetížený domácí uplink přidá desítky milisekund fronty pod zátěží, proto se někomu ping ztrojnásobí, když člen domácnosti začne nahrávat. Než začneš vinit server, ať hráč otestuje na kabelu, bez čehokoli dalšího, co běží.

Jak to změřit pořádně#

Číslo pingu ve hře je výchozí bod, ne měření, protože každá hra ho počítá jinak a některé do zobrazené hodnoty zahrnují vlastní zpoždění ticku serveru. Měř zvenčí hry.

bash
# Baseline: a hundred pings, and read the deviation, not just the average$ ping -c 100 node.example.com# Where the time goes, and where loss starts, over a sustained run$ mtr -rwzbc 200 node.example.com# Windows equivalents> ping -n 100 node.example.com> pathping node.example.com

Co z výstupu číst:

  • Minimum, ne průměr. Minimum je blízko skutečné latenci cesty; průměr je znečištěný frontami na tvé vlastní lince.
  • Směrodatnou odchylku nebo rozptyl mezi minimem a maximem. Ping 40 ms, který kolísá mezi 35 a 200, se hraje hůř než stabilních 80.
  • Kde se v `mtr` poprvé objeví ztráta. Ztráta na jednom skoku, která na dalších zmizí, je omezení ICMP na tom routeru a nic neznamená. Ztráta, která na skoku začne a pokračuje až do konce, je skutečná.

Test spusť v hodinu, kdy opravdu hraješ. Evropské večery jsou doba, kdy jsou domácí sítě vytížené, a trasa, která v 11:00 měří nádherně, může být ve 21:00 o 30 ms horší. Jediné měření v klidné hodině je způsob, jak se lidé dočkají překvapení.

Pokud chceš celý diagnostický postup - rozlišit latenci, jitter a ztrátu a vědět, která z nich způsobuje symptom, který lidé popisují - je tu latence, jitter a ztráta paketů.

Jitter a ztráta paketů jsou horší než ping#

Hráči říkají „lag“ třem různým problémům a poloha způsobuje jen jeden z nich.

Latence je stálé zpoždění. Stabilních 90 ms působí jako o něco pomalejší svět a mozek si na to během minut zvykne. Je to ta, kterou řídí zeměpis.

Jitter je kolísání tohoto zpoždění. Pakety přicházející s odstupem 40, 45, 120, 38, 90 milisekund nevyhladí žádná interpolace na straně klienta, takže vzniká rubber-banding: věci se pohybují a pak skočí tam, kde skutečně byly. Jitter obvykle pochází z vlastního připojení hráče nebo z přetíženého skoku, ne ze vzdálenosti, a je mnohem ničivější, než průměr naznačuje.

Ztráta paketů jsou pakety, které nikdy nedorazí. Hra na UDP je neposílá znovu, takže ztracená aktualizace pozice znamená, že klient hádá a opravuje. Jedno nebo dvě procenta se přežijí; pět procent je ve střílečce nehratelných a v survival hře pořád znatelných.

Praktický důsledek pro výběr lokality: neplať za o 20 ms méně, pokud tě to stojí trasu s jitterem. Stabilní server na 70 ms porazí kolísavý na 50 ms pro všechny, pokaždé, a lidé, kteří si na lag stěžují nejhlasitěji, skoro vždy popisují jitter, ne latenci.

Jedna lokalita a komu sedí#

RE:NODE běží z jednoho místa: z Německa, na hardwaru, který provozujeme, a stránka stavu ukazuje jediný uzel, na kterém žije. Žádný výběr regionu není a nemá smysl předstírat opak - užitečné je tedy říct, komu to sedí a komu ne.

Sedí to partě kdekoli od Irska po Kavkaz. Hráči ze západní, střední a východní Evropy skončí mezi 8 a 45 ms, hráči z Turecka a Gruzie mezi 45 a 80, a každé z toho je pohodlně v pásmu, kde se survival, stavitelské, závodní a roleplay hry hrají jako lokální a kde je střílečka v pořádku, pokud nehraje někdo na úrovni, kde už není. Sedí to hráčům z Gruzie, Turecka a Balkánu, které špatně obsluhují hostingy myslící jen na Londýn a Amsterdam.

Nesedí to partě, jejíž těžiště leží v Severní Americe, Jižní Americe, jižní Asii, východní Asii nebo Oceánii. Hráč v Texasu se dívá na 120-140 ms a hráč v Sydney na 250 a víc a žádná změna konfigurace to nezlepší. Pokud je to tvoje parta, hostuj blíž k ní a zbytek tohoto článku si vezmi s sebou. Jak vybrat hosting herních serverů pokrývá, co dalšího zkontrolovat, než někomu zaplatíš.

Kde na této upřímnosti záleží nejvíc, je veřejný server, který chceš rozvíjet. Vyber lokalitu pro komunitu, kterou chceš, smiř se s tím, že ti hráče vybírá sama, a nenech si nikoho prodat tarif na základě seznamu regionů, který nikdy nevyužiješ.

Pozdější stěhování a co stojí#

Když to uděláš špatně, stěhování je možné a není zadarmo. Soubor světa, konfigurace a sada pluginů se přenesou bez problémů. Co se nepřenese, je adresa, a cena stěhování se měří tím, kolik hráčů si ho všimne.

Postup, který drží tuto cenu u nuly:

  1. Dej serveru hostname hned, než ho budeš potřebovat, a hráčům dávej jméno místo adresy. Připojení domény k hernímu serveru je desetiminutová práce, která z budoucí migrace udělá jednu úpravu DNS.
  2. Den před přesunem sniž TTL toho záznamu na 300 sekund, aby cache rychle vypršely, až na to přijde.
  3. Zkopíruj data při zastavených obou serverech, aby se po kopii nic nezapsalo.
  4. Změň záznam, nech starý server pár hodin dostupný a sleduj, kdo se tam ještě připojuje.

Hráči, kteří si uložili holou IP adresu, nepůjdou za tebou, a to je celý argument pro rozdávání jména od prvního dne. Přesun serveru bez ztráty hráčů obsahuje celý kontrolní seznam, včetně toho, co dělat se savy, které drží absolutní cesty.

Jedna věc, která není důvodem k přesunu: jediný hráč se špatným pingem. Nejdřív zkontroluj jeho poslední míli, spusť mtr z jeho stroje a podívej se, jestli je ztráta jeho. Stěhovat server kvůli něčí wifi je dobře prošlapaná chyba.

FAQ#

Sníží rychlejší server můj ping?

Ne. Ping je čas, který paket potřebuje tam a zpátky, a určuje ho vzdálenost, trasa a zařízení na ní. Rychlejší CPU zkrátí čas, který server potřebuje ke zpracování ticku, což je skutečné a samostatné zlepšení, ale nemění číslo v rohu obrazovky.

Jaký ping stačí pro střílečku?

Pod 50 ms jsou všichni zhruba na stejné úrovni. Mezi 50 a 100 je to hratelné a pozná to každý, kdo hraje kompetitivně. Nad 100 začíná rozdíl latencí mezi dvěma hráči rozhodovat souboje, což je to, co vážným hráčům vadí, ne holé číslo.

Mám hostovat blízko sebe, nebo blízko hráčů?

Blízko hráčů, pokud nejsi jediný, kdo hraje. Ping administrátora je na serveru nejméně důležitý, protože většinu času trávíš v panelu, ne ve hře.

Je server v Německu dobrý pro hráče v Gruzii nebo Turecku?

Ano, pro většinu her. Typické odezvy jsou 45-60 ms z Istanbulu a 60-80 ms z Tbilisi, což je v pořádku pro survival, stavění, závody a roleplay a přijatelné pro nenáročné střílečky. Kompetitivní hráči stříleček to ucítí.

Proč je můj ping večer horší?

Protože tvoje připojení a cesty kolem něj jsou tehdy nejvytíženější. Fronta na přetíženém skoku přidává zpoždění a jitter, aniž by se změnila vzdálenost. Testuj v hodinu, kdy hraješ, a porovnej minimální ping mezi klidnou a vytíženou hodinou, abys viděl, kolik z toho je přetížení.

Může VPN zlepšit můj ping k serveru?

Občas, a jen když je výchozí trasa tvého poskytovatele opravdu špatná a VPN má náhodou lepší. Mnohem častěji přidá skok, šifrovací krok a trochu jitteru a věci mírně zhorší. Změř před a po místo předpokladů.


Komentáře

Zcela anonymně: žádný účet, žádný e-mail, žádné cookie. Ukládáme jen jméno, které napíšeš, text a čas - nic dalšího. Počet odkazů je omezený a značkování se nevykresluje.

0/2000