Server di sessione di gioco autonomi con un backend basato WebSocket - Amazon GameLift Servers

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Server di sessione di gioco autonomi con un backend basato WebSocket

Utilizzando un'architettura WebSocket basata su Amazon API Gateway, puoi effettuare richieste di matchmaking WebSockets e inviare notifiche push per il completamento del matchmaking utilizzando messaggi avviati dal server. Questa architettura migliora le prestazioni grazie alla comunicazione bidirezionale tra il client e il server.

Per ulteriori informazioni sull'utilizzo di API Gateway WebSock APIs, consulta Working with WebSocket APIs.

Il diagramma seguente mostra un'architettura di backend WebSocket basata su API Gateway e altro Servizi AWS per abbinare i giocatori ai giochi in esecuzione su Amazon GameLift Servers flotte. L'elenco seguente fornisce una descrizione per ogni callout numerato nel diagramma.

WebSockets Architettura di esempio che abbina i giocatori alle partite in esecuzione Amazon GameLift Servers flotte.
  1. Il client di gioco richiede un'identità utente Amazon Cognito da un pool di identità Amazon Cognito.

  2. Il client di gioco firma una WebSocket connessione a un'API Gateway API con le credenziali di Amazon Cognito.

  3. API Gateway richiama una AWS Lambda funzione sulla connessione. La funzione memorizza le informazioni di connessione in una tabella Amazon DynamoDB.

  4. Il client di gioco invia un messaggio a una funzione Lambda, tramite l'API API Gateway tramite la WebSocket connessione, per richiedere una sessione.

  5. Una funzione Lambda riceve il messaggio e quindi richiede una corrispondenza tramite Amazon GameLift Servers FlexMatch matchmaking.

  6. Dopo FlexMatch corrisponde a un gruppo di giocatori, FlexMatch richiede il posizionamento di una sessione di gioco tramite un Amazon GameLift Servers coda.

  7. Dopo Amazon GameLift Servers colloca la sessione in una delle sedi della flotta, Amazon GameLift Servers invia una notifica di evento a un argomento di Amazon Simple Notification Service (Amazon SNS).

  8. Una funzione Lambda riceve l'evento Amazon SNS e lo elabora.

  9. Se il ticket di matchmaking è un MatchmakingSucceeded evento, la funzione Lambda richiede la connessione corretta del giocatore da DynamoDB. La funzione invia quindi un messaggio al client di gioco tramite l'API Gateway API tramite la WebSocket connessione. In questa architettura, il client di gioco non verifica attivamente lo stato del matchmaking.

  10. Il client di gioco riceve la porta e l'indirizzo IP del server di gioco, insieme all'ID della sessione del giocatore, tramite la WebSocket connessione.

  11. Il client di gioco si connette al server di gioco tramite TCP o UDP utilizzando la porta e l'indirizzo IP forniti dal servizio di backend. Il client di gioco invia inoltre l'ID di sessione del giocatore al server di gioco, che quindi convalida l'ID utilizzando l'SDK del server per Amazon GameLift Servers.