Vai al contenuto

Star Citizen | Server Meshing Testing Aggiornamento

Ciao a tutti!

Spero che la vostra settimana stia andando bene. Volevo prendere un momento per darvi un breve aggiornamento sul Server Meshing e condividere un piccolo riassunto, un report post-azione sui recenti playtest e uno sguardo sui nostri obiettivi per le prossime fasi.

Un breve riassunto

Nel marzo ’24, dopo il Test “A” del Server Meshing, abbiamo confermato un difetto di progettazione critico nel Network Message Queue (NMQ) usato dai server di gioco e dagli ibridi. Il NMQ è responsabile della trasmissione dei dati tramite socket UDP sia per il traffico affidabile che per quello non affidabile (eventualmente consistente), garantendo anche la sicurezza della trasmissione. Tutti i dati di gioco, incluse variabili serializzate, proprietà delle entità e chiamate di metodi remoti, passano attraverso questa coda di messaggi. Il difetto identificato causava problemi nel gestire grandi quantità di bind e messaggi, portando a colli di bottiglia che compromettevano le prestazioni. Anche il consumo di larghezza di banda di memoria era problematico. Per risolvere ciò, il team si è concentrato sullo sviluppo di un sostituto: la Replication Message Queue (RMQ).

L’RMQ è progettato per migliorare significativamente l’efficienza della larghezza di banda e mantenere la sicurezza per i server di gioco, i client e i replicanti. Soprattutto, mira a prevenire i principali colli di bottiglia di rete che i giocatori sperimenterebbero come ritardi prolungati nelle interazioni che influenzano più utenti contemporaneamente.

Come già condiviso, abbiamo introdotto la prima versione dell’RMQ nelle prime release 3.24.0 come “canarino” su shard selezionati. Ora è completamente distribuito su tutti gli shard della 3.24.1. Stiamo monitorando attentamente le prestazioni dell’RMQ in relazione all’età degli shard, poiché abbiamo osservato nella 3.23.1 che con l’invecchiamento degli shard, il numero di bind e messaggi aumentava significativamente.

Incidentalmente, da quando abbiamo implementato l’RMQ, abbiamo osservato chiari miglioramenti nelle nostre metriche e nelle catture delle prestazioni. Siamo ottimisti che queste tendenze positive persisteranno con l’invecchiamento degli shard, anche se continueremo a monitorare attentamente la situazione.

Test del Server Meshing

Con l’RMQ in funzione, insieme ad altri miglioramenti ibridi, abbiamo ripreso i test del Server Meshing utilizzando il codice patch attuale della versione 3.24.

I nostri obiettivi nei test sono:

  • Identificare le aree che necessitano di ottimizzazione per ottenere una replica a bassa latenza su larga scala con il gioco reale e giocatori veri.
  • Evidenziare le funzionalità di gioco che richiedono aggiustamenti per gestire alti numeri di giocatori.
  • Individuare ambienti di gioco che necessitano modifiche per gestire più giocatori.
  • Scoprire bug legati alla transizione tra server, recupero del server e altre problematiche introdotte dalla configurazione meshata.
  • Confermare cambiamenti e migliorare l’esperienza di gioco con un maggior numero di giocatori dal punto di vista della rete.

Puntiamo a un ciclo di iterazione rapido per testare correzioni e ottimizzazioni, assicurando progressi a ogni passo senza interferenze da altri cambiamenti nel gioco. L’obiettivo è condurre test settimanali fino a quando non sarà il momento di rientrare nel branch principale di sviluppo per le ondate della PTU 4.0.

Meshing Test “B” report post-azione

Il Meshing Test “B” è stato condotto il 12 settembre ed è stato il primo test sull’RMQ.

I risultati sono stati deludenti e inaspettati, ma è stato confermato che il collo di bottiglia precedentemente identificato nel Test “A” è stato risolto. Anche se il ritardo nelle interazioni su larga scala era migliorato, permettendoci di lasciare i giocatori a testare una configurazione 4:350, il problema persisteva. Il prossimo collo di bottiglia prestazionale da risolvere è stato identificato.

Meshing Test “C” report post-azione

Il Meshing Test “C” è stato condotto il 19 settembre e ha incluso ottimizzazioni delle prestazioni.

Il Test C è stato il primo a utilizzare una build con il sistema NMQ legacy rimosso. Questo è stato un passo importante perché l’RMQ è stato progettato per un maggiore parallelismo, ma queste ottimizzazioni non potevano essere sbloccate finché era necessario supportare l’NMQ. Il Test C ha incluso il primo round di queste ottimizzazioni pianificate e ha migliorato significativamente la nostra capacità di scalare prima che il ritardo nelle interazioni aumentasse e il gioco diventasse ingiocabile.

Questi primi risultati rappresentano passi avanti promettenti, ma siamo consapevoli che restano sfide. Siamo impegnati ad affrontare ogni ostacolo con iterazioni rapide, mirando sempre a migliorare la vostra esperienza di gioco.

Grazie per essere parte integrante di questo ambizioso progetto con noi!

LAST POST

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *