I en multiplayer -spilopsætning kan brugerdefinerede routingacceleratorer bruges til at optimere afspillerforbindelser ved at dirigere trafik direkte til specifikke spilserverforekomster baseret på applikationslogik, såsom matchmaking -resultater. Denne tilgang forbedrer latenstid, reducerer Jitter og forbedrer spilleroplevelsen ved at udnytte AWS Global Accelerators private netværk og statiske IP -adresser.
Eksempel på at bruge brugerdefinerede routingacceleratorer i multiplayer -spil
1. Opsætning af spilservere og undernet
Antag, at du har en flåde af spilservere, der kører på Amazon EC2 -forekomster inden for et eller flere VPC -undernet. Hver instans er vært for flere spilsessioner, der hver lytter på forskellige porte. For eksempel kører to EC2 -tilfælde muligvis i det samme undernet med private IPS 10.1.1.1 og 10.1.1.2, der hver serverer spilsessioner på TCP -porte 80, 81 og 82.
2. Opret en brugerdefineret routingaccelerator
Du opretter en brugerdefineret routingaccelerator i AWS Global Accelerator og tilføjer de relevante VPC -undernet som slutpunkter. Du definerer et lytterportsinterval (f.eks. 1001 til 1050) på acceleratoren og kortlægger disse til destinationsportområdet (f.eks. 80 til 82) på dine EC2 -tilfælde. Denne kortlægning gør det muligt for indgående trafik på porte 1001-1050 at blive dirigeret til specifikke IP: portkombinationer på backend-serverne.
3. Portkortlægning og trafikstyring
Acceleratoren genererer en portkorttabel, der statisk kortlægger hver acceleratorport til en bestemt EC2 -instans IP -adresse og port. F.eks. Port 1001 på acceleratorkortene til 10.1.1.1, port 1002 til 10.1.1.1, og så videre. Du kan tillade eller nægte trafik til specifikke tilfælde eller porte, hvilket kun sikrer, at aktivt spilservere får trafik.
4. Matchmaking og routinglogik
Når en spiller forbinder, bestemmer din matchmaking -service, hvilken spilsession (og dermed hvilken EC2 -forekomst og port) spilleren skal deltage i baseret på kriterier som placering, færdighedsniveau eller tilgængelighed af session. Matchmaking -logikforespørgsler Global Accelerator API for at hente acceleratorporten, der svarer til den valgte spilserversession.
5. Spillerforbindelse via accelerator
Spilleren får acceleratorens statiske IP -adresse og den kortlagte port (f.eks. Port 1003). Når spilleren forbinder, dirigerer Global Accelerator trafikken over AWS Global Network til den nøjagtige EC2 -forekomst og Port, der er vært for spilsessionen (f.eks. 10.1.1.1:82). Dette reducerer forsinkelsen ved at undgå det offentlige internet og bruge AWS's optimerede netværksstier.
6. Fordele
-Lav latenstid og reduceret jitter: Trafik dirigeres over AWS's højhastighedsfrit netværk.
- Skalerbarhed: Du kan styre tusinder af spilsessioner på tværs af flere regioner med en enkelt accelerator.
- Fejltolerance: Hvis en spilserver eller subnet -endepunkt bliver usund, kan trafik omdirigeres uden spillerforstyrrelse.
- Protokolfleksibilitet: Understøtter TCP, UDP eller begge dele, der imødekommer forskellige krav til spilnetværk.
Resume
Ved hjælp af AWS Global Accelerator Custom Routing kan et multiplayer -spil dirigere spillere til specifikke spilserverforekomster ved at kortlægge acceleratorporte til private IP -adresser og porte i EC2 -forekomster i VPC -undernet. Matchmaking-servicen styrer, hvilken spiller der forbinder, hvor ved at tildele den relevante acceleratorport, der muliggør deterministisk, lav-latensruting uden at kræve klientændringer. Denne opsætning er ideel til storskala, globale multiplayer-spil, der har brug for finkornet kontrol over spiller-til-server-opgaver og præstationsoptimering [2] [6] [7] [9].
Citater:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-how-tworks.html
)
[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-lytteners-work
[8] https://www.youtube.com/watch?v=qlaauf_zq4i
)
[10] https://mas-bandwidth.com/the-case-for-network-acceleration-for-multiplayer-games/
)