V nastavení her pro více hráčů lze akcelerátory vlastních směrování použít k optimalizaci připojení hráče směrováním provozu přímo do konkrétních instancí herního serveru na základě logiky aplikace, jako jsou výsledky dohazování. Tento přístup zlepšuje latenci, snižuje jitter a zvyšuje zkušenosti hráče využitím soukromé sítě AWS Global Accelerator a statické IP adresy.
Příklad použití vlastních směrovacích akcelerátorů v hrách pro více hráčů
1. Nastavení herních serverů a podsítí
Předpokládejme, že máte flotilu herních serverů spuštěných na instancích Amazon EC2 v jedné nebo více podsítích VPC. Každá instance hostí více herních relací, z nichž každá poslouchá různé porty. Například dvě instance EC2 mohou být spuštěny ve stejné podsíti se soukromými IPS 10.1.1.1 a 10.1.1.2, přičemž každá servírovací herní relace na portů TCP 80, 81 a 82.
2. Vytvořte vlastní směrovací akcelerátor
V Global Accelerator AWS vytvoříte vlastní směrovací akcelerátor a jako koncové body přidáte příslušné podsítě VPC. Na urychlovači definujete rozsah portů posluchače (např. 1001 až 1050) a na vaše instance EC2 je namapujte do rozsahu cílového portu (např. 80 až 82). Toto mapování umožňuje směrovat příchozí provoz na portech 1001-1050 na konkrétní kombinace IP: Port na serverech backend.
3. mapování portů a řízení provozu
Akcelerátor generuje tabulku mapování portů, která staticky mapuje každý port akcelerátoru na konkrétní IP adresu EC2 a port. Například port 1001 na mapách akcelerátoru na 10.1.1.1:80, port 1002 až 10.1.1.1:81 atd. Můžete povolit nebo zamítnout provoz do konkrétních instancí nebo portů a zajistit, aby pouze aktivní herní servery dostávaly provoz.
4. logika dohazování a směrování
Když se hráč připojí, vaše služba pro dohazování určí, která herní relace (a tedy jakou instanci a port EC2) by se hráč měl připojit na základě kritérií, jako je umístění, úroveň dovedností nebo dostupnost relace. Logická logika dotazování dotazuje Global Accelerator API pro načtení port Accelerator, který odpovídá vybrané relaci herního serveru.
5. Připojení hráče přes akcelerátor
Hráč má statickou IP adresu urychlovače a mapovaný port (např. Port 1003). Když se hráč připojí, globální akcelerátor směřuje provoz přes globální síť AWS s přesnou instancí EC2 a port hostování herní relace (např. 10.1.1.1:82). To snižuje latenci tím, že se vyhýbá veřejnému internetu a používá optimalizované síťové cesty AWS.
6. Výhody
-Nízká latence a snížená chvění: Provoz je směrován přes vysokorychlostní síť bez přetížení AWS.
- Škálovatelnost: S jediným akcelerátorem můžete spravovat tisíce herních relací napříč několika regiony.
- Tolerance chyb: Pokud se herní server nebo koncový bod podsítě stane nezdravým, lze provoz přesměrovat bez narušení hráče.
- Flexibilita protokolu: Podporuje TCP, UDP nebo obojí, aby vyhovoval různým požadavkům na síť her.
Shrnutí
Pomocí vlastního směrování AWS Global Accelerator může hra pro více hráčů nasměrovat hráče do konkrétních instancí herního serveru pomocí mapování portů akcelerátoru na soukromé IP adresy a porty instancí EC2 v podsítích VPC. Služba dohazování ovládá, který hráč se připojuje, kde přiřazením příslušného portů akcelerátoru umožňuje deterministické směrování s nízkou latencí, aniž by vyžadoval změny klienta. Toto nastavení je ideální pro rozsáhlé globální hry pro více hráčů, které vyžadují jemnozrnnou kontrolu nad přiřazením a optimalizací výkonu hráče-server [2] [6] [7] [9].
Citace:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-how-it-works.html
[2] https://aws.amazon.com/blogs/gametech/deploy-rame-servers-with-amazon-gamelift-fleetiq-and-integrate-with-rustom-robal-global-accelerator/
[3] https://www.youtube.com/watch?v=yxqjyly80pc
[4] https://pages.awscloud.com/rs/112-tzm-766/images/2023_ott-od-0502-ngi_slide-deck.pdf
[5] https://coda.io/@kirclanc25/aws-r53-cf-ga/aws-global-accelerator-14
[6] https://pages.awscloud.com/rs/112-tzm-766/images/ptnr-aws-amd-gamelift-gameservers.pdf
[7] https://www.alibabacloud.com/help/en/ga/user-guide/how-custom-rotung-listeners-work
[8] https://www.youtube.com/watch?v=QLAAUF_ZQ4I
[9] https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-global-accelerator-custom-rowing-accelerators/
[10] https://mas-bandwidth.com/the-case-for-network-cceration-for-multiplayer-games/
[11] https://aws.amazon.com/blogs/gametech/modernize-rame-backend-services-with-aws-global-accelerator/