V nastavení hier pre viacerých hráčov sa na optimalizáciu pripojenia prehrávača môžu použiť akcelerátory na vlastné smerovanie smerovaním priamo do konkrétnych inštancií herného servera na základe logiky aplikácie, ako sú výsledky zápasov. Tento prístup zlepšuje latenciu, znižuje Jitter a zvyšuje zážitok hráča využitím súkromnej siete a statických IP adries AWS Global Accelerator.
Príklad použitia akcelerátorov vlastného smerovania v hrách viacerých hráčov
1. Nastavenie herných serverov a podsiete
Predpokladajme, že máte na inštanciách Amazon EC2 flotilu herných serverov v rámci jednej alebo viacerých podsietí VPC. Každá inštancia sa nachádza viacero herných relácií, z ktorých každá počúva na rôznych portoch. Napríklad dve inštancie EC2 môžu byť spustené v tej istej podsieti s súkromnými IPS 10.1.1.1 a 10.1.1.2, pričom každé servírovacie herné relácie na portoch TCP 80, 81 a 82.
2. Vytvorte vlastný smerovací akcelerátor
Vytvoríte akcelerátor vlastného smerovania v AWS Global Accelerator a pridáte príslušné podsiete VPC ako koncové body. Definujete rozsah portov poslucháča (napr. 1001 až 1050) na akcelerátore a mapujete ich do rozsahu cieľového portu (napr. 80 až 82) vo vašich inštanciách EC2. Toto mapovanie umožňuje smerovanie prichádzajúceho prenosu na portoch 1001-1050 smerovať do konkrétneho IP: kombinácie portov na serveroch backend.
3. Mapovanie portov a riadenie prevádzky
Akcelerátor generuje tabuľku mapovania portu, ktorá staticky mapuje každý port akcelerátora do konkrétnej adresy IP a portu inštancie EC2. Napríklad port 1001 na mapách akcelerátora na 10.1.1:80, port 1002 až 10.1.1.1:81 atď. Môžete povoliť alebo odmietnuť návštevnosť konkrétnych inštancií alebo portov, čím sa zabezpečí, že aktívne herné servery prijímajú prevádzku.
4. Logika tvorby zápasu a smerovania
Keď sa prehrávač pripojí, vaša služba MatchMaking Service určuje, ktorá herná relácia (a teda ktorá inštancia EC2 a port) by sa hráč mal spojiť na základe kritérií, ako je umiestnenie, úroveň zručností alebo dostupnosť relácií. Logika MatchMaking Logic sa pýta globálneho rozhrania Accelerator API na získanie portu akcelerátora, ktorý zodpovedá vybranej relácii herného servera.
5. Pripojenie hráča prostredníctvom akcelerátora
Hráč je uvedený statická IP adresa akcelerátora a mapovaný port (napr. Port 1003). Keď sa prehrávač pripojí, Global Accelerator smeruje prenos cez globálnu sieť AWS k presnej inštancii EC2 a port hosťujúcich hernú reláciu (napr. 10.1.1.1:82). To znižuje latenciu vyhýbaním sa verejnému internetu a použitím optimalizovaných sieťových ciest AWS.
6. Výhody
-Nízka latencia a znížená jitter: Prenos je smerovaný cez vysokorýchlostnú sieť AWS bez preťaženia.
- Škálovateľnosť: Môžete spravovať tisíce herných relácií vo viacerých oblastiach s jediným akcelerátorom.
- Tolerancia porúch: Ak sa herný server alebo koncový bod podsiete stane nezdravým, prenos je možné presmerovať bez narušenia hráča.
- Flexibilita protokolu: Podporuje TCP, UDP alebo oboje, ktoré vyhovujú rôznym požiadavkám na vytváranie herných sietí.
Zhrnutie
Pomocou AWS Global Accelerator Custom Routing môže hra pre viacerých hráčov nasmerovať hráčov na konkrétne inštancie herného servera mapovaním portov akcelerátorov na súkromné adresy IP a porty inštancií EC2 v podsiete VPC. Služba MatchMaking Service ovláda, ktorý prehrávač sa spája, kde priradením príslušného portu akcelerátora umožňuje deterministické smerovanie s nízkou latenciou bez vyžadovania zmien klienta. Toto nastavenie je ideálne pre rozsiahle globálne multiplayerové hry, ktoré si vyžadujú jemnozrnnú kontrolu nad priradeniami a optimalizáciou výkonu hráča a výkonu [2] [6] [7] [9].
Citácie:
[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-game-servers-with-amazon-gamelift-fleetiq-and-integrate-with-custom-custing-wouting-aws-global-acacelerator/
[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/@kirtanc25/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-routing-outing-liteners-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-drouting-accelerators/
[10] https://mas-bandwidth.com/the-case-for-network-acceleration-for-multiplayer-games/
[11] https://aws.amazon.com/blogs/gametech/modernize-game-backend-services-with-aws-aws-global-accelerator/