ในการตั้งค่าการเล่นเกมแบบผู้เล่นหลายคนตัวเร่งความเร็วแบบกำหนดเองสามารถใช้เพื่อเพิ่มประสิทธิภาพการเชื่อมต่อของผู้เล่นโดยการกำหนดเส้นทางการรับส่งข้อมูลโดยตรงไปยังอินสแตนซ์เซิร์ฟเวอร์เกมเฉพาะตามตรรกะของแอปพลิเคชันเช่นผลการจับคู่ วิธีการนี้ช่วยปรับปรุงเวลาแฝงลดความกระวนกระวายใจและเพิ่มประสบการณ์ผู้เล่นโดยใช้ประโยชน์จากเครือข่ายส่วนตัวของ AWS Global Accelerator และที่อยู่ IP แบบคงที่
ตัวอย่างของการใช้ตัวเร่งความเร็วแบบกำหนดเองในการเล่นเกมแบบผู้เล่นหลายคน
1. การตั้งค่าเซิร์ฟเวอร์เกมและซับเน็ต
สมมติว่าคุณมีกลุ่มเซิร์ฟเวอร์เกมที่ทำงานบนอินสแตนซ์ของ Amazon EC2 ภายในหนึ่งย่อย VPC แต่ละอินสแตนซ์โฮสต์หลายเซสชันเกมแต่ละครั้งการฟังในพอร์ตที่แตกต่างกัน ตัวอย่างเช่นอินสแตนซ์ EC2 สองอินสแตนซ์อาจทำงานในซับเน็ตเดียวกันกับ IPS 10.1.1.1 และ 10.1.1.2 ส่วนตัวแต่ละเซสชันเกมที่ให้บริการในพอร์ต TCP 80, 81 และ 82
2. สร้างตัวเร่งความเร็วที่กำหนดเอง
คุณสร้างตัวเร่งความเร็วที่กำหนดเองใน AWS Global Accelerator และเพิ่มเครือข่ายย่อย VPC ที่เกี่ยวข้องเป็นจุดสิ้นสุด คุณกำหนดช่วงพอร์ตผู้ฟัง (เช่น 1001 ถึง 1050) บนตัวเร่งความเร็วและแมปสิ่งเหล่านี้กับช่วงพอร์ตปลายทาง (เช่น 80 ถึง 82) ในอินสแตนซ์ EC2 ของคุณ การทำแผนที่นี้ช่วยให้การรับส่งข้อมูลขาเข้าบนพอร์ต 1001-1050 จะถูกกำหนดเส้นทางไปยัง IP เฉพาะ: การรวมพอร์ตบนเซิร์ฟเวอร์แบ็กเอนด์
3. การทำแผนที่พอร์ตและการควบคุมการจราจร
ตัวเร่งความเร็วสร้างตารางการแมปพอร์ตที่แมปแต่ละพอร์ตตัวเร่งความเร็วแต่ละพอร์ตกับที่อยู่ IP และพอร์ตอินสแตนซ์ EC2 ที่เฉพาะเจาะจง ตัวอย่างเช่นพอร์ต 1001 บนแผนที่เร่งความเร็วถึง 10.1.1.1:80 พอร์ต 1002 ถึง 10.1.1.1:81 และอื่น ๆ คุณสามารถอนุญาตหรือปฏิเสธการรับส่งข้อมูลไปยังอินสแตนซ์หรือพอร์ตที่เฉพาะเจาะจงเพื่อให้มั่นใจว่าเซิร์ฟเวอร์เกมที่ใช้งานได้เท่านั้นที่ได้รับการรับส่งข้อมูล
4. การจับคู่และตรรกะการกำหนดเส้นทาง
เมื่อผู้เล่นเชื่อมต่อบริการการจับคู่ของคุณจะกำหนดเซสชันเกม (และอินสแตนซ์ EC2 และพอร์ตใด) ผู้เล่นควรเข้าร่วมตามเกณฑ์เช่นตำแหน่งระดับทักษะหรือความพร้อมใช้งานของเซสชัน การสืบค้นตรรกะการจับคู่ API Global Accelerator เพื่อดึงพอร์ต Accelerator ที่สอดคล้องกับเซสชันเซิร์ฟเวอร์เกมที่เลือก
5. การเชื่อมต่อผู้เล่นผ่านตัวเร่งความเร็ว
ผู้เล่นได้รับที่อยู่ IP แบบคงที่ของคันเร่งและพอร์ตที่แมป (เช่นพอร์ต 1003) เมื่อผู้เล่นเชื่อมต่อ Global Accelerator จะกำหนดปริมาณการเข้าชมผ่านเครือข่าย AWS Global ไปยังอินสแตนซ์ EC2 ที่แน่นอนและพอร์ตโฮสต์เซสชันเกม (เช่น 10.1.1.1:82) สิ่งนี้จะช่วยลดเวลาแฝงโดยการหลีกเลี่ยงอินเทอร์เน็ตสาธารณะและใช้เส้นทางเครือข่ายที่ได้รับการปรับปรุงให้เหมาะสมของ AWS
6. ผลประโยชน์
-เวลาแฝงต่ำและความกระวนกระวายใจลดลง: การรับส่งข้อมูลจะถูกกำหนดเส้นทางผ่านเครือข่ายความเร็วสูงและไม่มีความแออัดของ AWS
- ความสามารถในการปรับขนาด: คุณสามารถจัดการเซสชันเกมนับพันในหลายภูมิภาคด้วยตัวเร่งความเร็วเดียว
- การยอมรับความผิดพลาด: หากเซิร์ฟเวอร์เกมหรือจุดสิ้นสุดของซับเน็ตไม่ดีต่อสุขภาพการรับส่งข้อมูลสามารถเปลี่ยนเส้นทางได้โดยไม่ต้องหยุดชะงักของผู้เล่น
- ความยืดหยุ่นของโปรโตคอล: รองรับ TCP, UDP หรือทั้งสองอย่างรองรับข้อกำหนดเครือข่ายเกมที่แตกต่างกัน
สรุป
การใช้การกำหนดเส้นทางแบบกำหนดเอง AWS Global Accelerator เกมผู้เล่นหลายคนสามารถนำผู้เล่นไปยังอินสแตนซ์เซิร์ฟเวอร์เกมที่เฉพาะเจาะจงโดยการแมปพอร์ตเร่งความเร็วไปยังที่อยู่ IP ส่วนตัวและพอร์ตของอินสแตนซ์ EC2 ในกลุ่มย่อย VPC บริการจับคู่ควบคุมซึ่งผู้เล่นเชื่อมต่อกับที่การกำหนดพอร์ตเร่งความเร็วที่เหมาะสมทำให้การกำหนดเส้นทางที่กำหนดและมีความล่าช้าต่ำโดยไม่ต้องเปลี่ยนลูกค้า การตั้งค่านี้เหมาะสำหรับเกมผู้เล่นหลายคนขนาดใหญ่ที่ต้องการการควบคุมอย่างละเอียดเกี่ยวกับการกำหนดผู้เล่นไปยังเซิร์ฟเวอร์และการเพิ่มประสิทธิภาพประสิทธิภาพ [2] [6] [7] [9]
การอ้างอิง:
[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-hame-servers-with-amazon-gamelift-fleetiq-and-integrate-with-custom-routing-aws-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/@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-delile
[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-global-accelerator/