Vairāku spēlētāju spēļu iestatīšanā var izmantot pielāgotus maršrutēšanas paātrinātājus, lai optimizētu atskaņotāju savienojumus, maršrutējot trafiku tieši uz noteiktiem spēles servera gadījumiem, pamatojoties uz lietojumprogrammu loģiku, piemēram, sērkociņu rezultāti. Šī pieeja uzlabo latentumu, samazina satricinājumu un uzlabo spēlētāju pieredzi, piesaistot AWS Global Accelerator privāto tīklu un statiskās IP adreses.
Pielāgotu maršrutēšanas paātrinātāju izmantošanas piemērs vairāku spēlētāju spēlēm
1. Spēļu serveru un apakštīklu iestatīšana
Pieņemsim, ka jums ir spēļu serveru flote, kas darbojas ar Amazon EC2 gadījumiem vienā vai vairākos VPC apakštīklos. Katrā instancē tiek rīkotas vairākas spēļu sesijas, katra klausās dažādās ostās. Piemēram, divi EC2 gadījumi varētu darboties vienā un tajā pašā apakštīklā ar privāto IPS 10.1.1.1 un 10.1.1.2., Katra pasniegšanas spēļu sesijas TCP portos 80, 81 un 82.
2. Izveidojiet pielāgotu maršrutēšanas paātrinātāju
Jūs izveidojat pielāgotu maršrutēšanas paātrinātāju AWS globālajā paātrinātājā un kā galapunktus pievienojat attiecīgos VPC apakštīklus. Jūs definējat klausītāja porta diapazonu (piemēram, 1001 līdz 1050) uz akseleratora un jūsu EC2 gadījumos to kartējat uz galamērķa porta diapazonu (piemēram, 80 līdz 82). Šī kartēšana ļauj ienākošajai trafikai uz portiem 1001-1050 novirzīt uz konkrētu IP: ostu kombinācijas aizmugures serveros.
3. Porta kartēšana un satiksmes kontrole
Akselerators ģenerē porta kartēšanas tabulu, kas katra akseleratora porta statiski kartē uz noteiktu EC2 instances IP adresi un portu. Piemēram, osta 1001 uz akseleratora kartēm līdz 10.1.1.1:80, 1002. ports līdz 10.1.1.1:81 utt. Jūs varat atļaut vai liegt trafiku noteiktos gadījumos vai ostās, nodrošinot, ka tikai aktīvie spēļu serveri saņem trafiku.
4. Matchmaking un maršrutēšanas loģika
Kad spēlētājs savienojas, jūsu sērkociņu pakalpojums nosaka, kura spēles sesija (un līdz ar to EC2 instanci un portu) spēlētājam jāpievienojas, pamatojoties uz tādiem kritērijiem kā atrašanās vieta, prasmju līmenis vai sesijas pieejamība. Mērcēšanas loģika vaicā Globālā akseleratora API, lai iegūtu akseleratora portu, kas atbilst izvēlētajai spēles servera sesijai.
5. Spēlētāja savienojums caur akseleratoru
Spēlētājam tiek piešķirta akseleratora statiskā IP adrese un kartētais ports (piemēram, 1003 ports). Kad spēlētājs savienojas, globālais akselerators novirza trafiku virs AWS globālā tīkla uz precīzu EC2 instanci un ostu, kas mitina spēles sesiju (piemēram, 10.1.1.1:82). Tas samazina latentumu, izvairoties no publiskā interneta un izmantojot AWS optimizētos tīkla ceļus.
6. ieguvumi
-Zems latentums un samazināts nervozs: trafiks tiek novirzīts pa AWS ātrgaitas, bez sastrēgumiem tīklu.
- Mērogojamība: jūs varat pārvaldīt tūkstošiem spēļu sesiju vairākos reģionos ar vienu akseleratoru.
- Kļūdu tolerance: ja spēles serveris vai apakštīkla galapunkts kļūst neveselīgs, trafiku var pārvietot bez spēlētāja traucējumiem.
- Protokola elastība: atbalsta TCP, UDP vai abus, ievērojot dažādas spēļu tīkla prasības.
kopsavilkums
Izmantojot AWS globālo paātrinātāja pielāgotu maršrutēšanu, vairāku spēlētāju spēle var novirzīt spēlētājus uz konkrētiem spēles servera gadījumiem, kartējot paātrinātāja portus uz privātām IP adresēm un EC2 gadījumu ostām VPC apakštīklos. Matchmaking pakalpojuma vadības ierīces, kuras atskaņotājs savieno, kur, piešķirot atbilstošo akseleratora portu, ļaujot deterministiskai, zema latentuma maršrutēšanai, neprasot klienta izmaiņas. Šī iestatīšana ir ideāli piemērota liela mēroga, globālām daudzspēlētāju spēlēm, kurām nepieciešama precīza kontrole pār spēlētāju un servera uzdevumiem un veiktspējas optimizāciju [2] [6] [7] [9].
Atsauces:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-how-it-works.html
[2.]
[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-listeners-work
[8] https://www.youtube.com/watch?v=qlaauf_zq4i
[9] https://aws.amazon.com/blogs/networking-and-content-derivery/introducing-aws-global-accelerator-custom-routhing-accelerators/
[10] https://mas-bandwidth.com/the-case-for-network-accelation-for-multiplayer-games/
[11] https://aws.amazon.com/blogs/gametech/moderize-game-backend-services-with-aws-global-accelerator/