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:80, port 1002 til 10.1.1.1:81, 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/
)