Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Чи можете ви надати приклад використання спеціальних прискорювачів маршрутизації в багатокористувацькій іграшці


Чи можете ви надати приклад використання спеціальних прискорювачів маршрутизації в багатокористувацькій іграшці


У налаштуванні ігор для мультиплеєрів спеціальні прискорювачі маршрутизації можуть бути використані для оптимізації з'єднань гравців, шляхом маршрутизації трафіку безпосередньо на конкретні екземпляри сервера ігор на основі логіки програми, наприклад, результати матчів. Цей підхід покращує затримку, зменшує тремтіння та покращує досвід гравця, використовуючи приватну мережу та статичну IP -адреси AWS Global Accelerator.

Приклад використання спеціальних прискорювачів маршрутизації в мультиплеєрських іграх

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 направляти на конкретні комбінації портів на серверах.

3. Порт картографування та контроль руху
Прискорювач генерує таблицю картографування портів, яка статично відображає кожен порт акселератора на конкретну IP -адресу та порт EC2 екземпляра EC2. Наприклад, порт 1001 на картах акселератора до 10.1.1.1:80, порт 1002 до 10.1.1.1:81 тощо. Ви можете дозволити або заперечувати трафік у конкретних екземплярах або портах, забезпечуючи лише активні ігрові сервери, які отримують трафік.

4. Логіка матчів та маршрутизації
Коли гравець підключається, ваша служба сватання визначає, до якого ігрового сеансу (і, який екземпляр EC2 та порт) гравець повинен приєднатися на основі таких критеріїв, як місце розташування, рівень навичок або наявність сеансу. Логічні запити в логіці Global Accelerator API для отримання порту акселератора, який відповідає вибраному сеансу сервера ігор.

5. Підключення гравця через акселератор
Гравець надається статична IP -адреса акселератора та відображений порт (наприклад, порт 1003). Коли гравець підключається, Global Accelerator направляє трафік через глобальну мережу AWS до точного екземпляра EC2 та порту, що розміщує ігрову сесію (наприклад, 10.1.1.1:82). Це зменшує затримку, уникаючи публічного Інтернету та використовуючи оптимізовані мережеві шляхи AWS.

6. Переваги
-Низька затримка та зменшення тремтіння: трафік направляється через швидкісну мережу без заторів.
- Масштабованість: Ви можете керувати тисячами ігрових сеансів у різних регіонах за допомогою одного прискорювача.
- Пом'якшення несправностей: Якщо ігровий сервер або кінцева точка підмережі стають нездоровими, трафік може бути перенесений без порушення гравців.
- Гнучкість протоколу: підтримує TCP, UDP або обидва, що відповідає різним вимогам до мережі ігор.

Резюме

Використовуючи спеціальну маршрутизацію AWS Global Accelerator, багатокористувацька гра може направляти гравців на конкретні екземпляри сервера ігор, відображаючи порти акселератора на приватні IP -адреси та порти екземплярів EC2 у підмережі VPC. Служба Matching контролює, який гравець з'єднує, де призначивши відповідний порт прискорювача, що дозволяє детермінована, низько затримка маршрутизації, не вимагаючи змін клієнта. Ця установка ідеально підходить для масштабних глобальних ігор для мультиплеєрів, які потребують дрібнозернистого контролю над завданнями гравця до сервера та оптимізації продуктивності [2] [6] [7] [9].

Цитати:
[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-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-delivery/introducing-aws-global-accelerator-custom-routing-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-global-accelerator/