Come funzionano i server di gioco?
Praticamente come qualsiasi altro server, tuttavia hanno compiti specifici legati al gioco. Ogni giocatore su un client remoto vede una visione parallela del mondo leggermente diversa e leggermente ritardata. Si parla di latenza, una componente importante della quale è il ritardo di propagazione TCP/IP "ping".
Gli eventi sono determinati generalmente sul client, ma il server deve arbitrare di tanto in tanto e deve occuparsi di qualsiasi paradosso.
Così potresti essere già stato ucciso sul PC del tuo avversario prima di lanciare quella granata....
Un buon esempio di arbitraggio è per i giochi con veicoli. Se entrambi saltate in un serbatoio vuoto si crea un paradosso. Il server deve espellere uno di voi. Si potrebbe dare la colpa al rimbalzo del contatto.
Anche i cambiamenti nel mondo ricevuti da un client devono essere propagati a tutti gli altri in modo "eventualmente coerente". Ci possono essere molti client, quindi per l'economia, gli eventi locali di un giocatore possono avere la priorità.
I server possono anche avere API e processi per le statistiche e ogni sorta di cose utili, così come analisi in tempo reale per il rilevamento degli imbrogli.
I server possono anche scaricare componenti di gioco su richiesta, mettere in coda i giocatori in attesa di slot (anche se questo può avvenire esternamente), e servire viste esterne, rotazione delle mappe e dati web borne. Tutto questo con il minimo traffico e il massimo di "tick" o stati aggiornati.
Articoli simili
- Quanto costa fare una server farm di circa 200 server che eseguono un gioco di sopravvivenza open world con circa 150 giocatori collegati ciascuno?
- Come impostare un server SMTP (imap.domain.com) che invia attraverso una rotazione di altri server SMTP (Amazon, Google, ecc.)
- Quali elementi compongono un server backend quando si parla di un server backend che servirà un'API costruita sullo standard REST?
- Cos'è un server di posta in entrata e un server di posta in uscita?