View a markdown version of this page

GAMECOST02-BP02 Ottimizza il numero di sessioni di gioco ospitate su ciascuna istanza del server di gioco per ottimizzare i costi - Games Industry Lens

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à.

GAMECOST02-BP02 Ottimizza il numero di sessioni di gioco ospitate su ciascuna istanza del server di gioco per ottimizzare i costi

Ottimizza il numero di sessioni di gioco ospitate per istanza del server per ottenere un migliore utilizzo dell'elaborazione e ridurre i costi dell'infrastruttura di elaborazione. 

Livello di rischio associato se questa best practice non fosse adottata: medio

Guida all’implementazione

Per ottimizzare i costi, gli sviluppatori di giochi dovrebbero massimizzare il numero di sessioni di gioco ospitate sullo stesso server fisico o virtuale, noto anche come densità di imballaggio dei server di gioco. Ciò si ottiene aumentando il numero di processi dei server di gioco che possono essere ospitati simultaneamente su un'istanza.

Un singolo processo del server di gioco in genere non dovrebbe richiedere l'uso di tutte le risorse disponibili sull' EC2 istanza. Questo è uno dei modi più importanti per ridurre i costi di elaborazione di un gioco e richiede l'uso di software in grado di generare e gestire più processi server sull' EC2 istanza su porte separate.

Ad esempio, Amazon GameLift ha una quota sul numero massimo di processi del server di gioco per istanza, che dovresti sforzarti di utilizzare in modo da ridurre i costi di hosting. Per ulteriori informazioni, consulta la sezione Endpoints e quote di Amazon GameLift Servers per i dettagli sulla quota attuale per il numero massimo di processi dei server di gioco per istanza.

In alternativa all'implementazione dei processi dei server di gioco su macchine virtuali come EC2 le istanze, sta diventando sempre più popolare tra gli sviluppatori di giochi utilizzare i propri server di gioco come applicazioni basate su contenitori utilizzando soluzioni di orchestrazione dei container. Gli sviluppatori di giochi possono utilizzare Amazon Elastic Container Service (Amazon ECS) o Guidance for Game Server Hosting utilizzando Agones e Open Match su Amazon EKS. Un'altra opzione è Game Server Hosting on AWS Fargate, un motore di elaborazione serverless che funziona sia con ECS che con EKS, che ti consente di concentrarti sul gioco senza dover gestire l'infrastruttura sottostante.

Le soluzioni container offrono funzionalità di pianificazione dei lavori in grado di trovare automaticamente un'istanza di container disponibile nel cluster per ospitare il container del server di gioco in base ai requisiti di risorse e ad altre logiche di posizionamento specificate dall'utente. Tuttavia, è importante considerare in che modo gestirete il ridimensionamento e il comportamento di posizionamento dei giocatori in modo da non interrompere le sessioni attive dei giocatori.

Passaggi dell’implementazione

  • Aumenta la densità di impacchettamento eseguendo più processi su server di gioco per EC2 esempio utilizzando porte e software di gestione dei processi separati.

  • Usa Amazon GameLift o soluzioni container come ECS, EKS o AWS Fargate per gestire i processi dei server di gioco in modo efficiente e ridurre i costi dell'infrastruttura.

  • Monitora continuamente l'utilizzo delle risorse per affinare la densità di imballaggio e mantenere l'efficienza dei costi senza compromettere l'esperienza del giocatore.