Un joc online cu mii de jucători rulează pe servere care păstrează starea lumii de joc, primesc acțiunile fiecăruia și trimit înapoi doar ce are nevoie fiecare să vadă. Trucul este împărțirea muncii. LumeaTehnologiei explică mai jos, pe înțeles, cum se întâmplă asta.
Dacă te interesează cum circulă datele între calculatoare, merită să citești mai întâi explicațiile despre tehnologie și internet, pentru că rețeaua este jumătate din poveste.
Serverul decide, clientul afișează
Jocul de pe calculatorul tău se numește client și face două lucruri: trimite ce apeși și desenează imaginea. Adevărul despre joc stă însă pe server. Dacă fiecare client și-ar decide singur rezultatul, ar fi simplu să trișezi, iar jucătorii ar vedea lumi diferite.
Serverul primește comenzile, verifică dacă sunt permise, actualizează lumea și transmite rezultatul de mai multe ori pe secundă.
Cum se împarte încărcarea
- zone sau instanțe: harta este împărțită în regiuni, fiecare gestionată de alt server sau alt proces;
- fragmentare pe lumi: jucătorii sunt distribuiți în servere separate, ca să nu se adune toți într-un singur loc;
- filtrarea după interes: fiecare jucător primește informații doar despre ce e în apropierea lui;
- servicii separate pentru chat, autentificare și inventar, ca să nu depindă totul de aceeași mașină.
Filtrarea după interes este esențială. Dacă pe ecran apar zece jucători, nu ai nevoie de mișcările celor de la capătul hărții, deci rețeaua se încarcă mult mai puțin.
Latența și sentimentul de fluiditate
Informația are nevoie de timp ca să ajungă la server și înapoi, iar acest timp se numește latență. Ca să nu simți întârzierea, jocul folosește predicția: clientul îți mișcă personajul imediat, iar serverul corectează ulterior dacă a apărut vreo diferență.
Pentru ceilalți jucători, jocul estimează unde se vor afla pe baza direcției și vitezei lor. Dacă apar mici sărituri ale personajelor, de multe ori vezi tocmai o astfel de corecție.
Cum se previne trișatul
Într-un joc cu mulți jucători, trișatul strică experiența tuturor, așa că serverul nu are încredere oarbă în client. El verifică dacă viteza personajului este posibilă, dacă o lovitură a fost plauzibilă și dacă resursele cerute există cu adevărat. Un client modificat poate minți, dar serverul refuză ce nu se potrivește cu regulile.
Pe lângă verificările de pe server, multe jocuri folosesc programe care caută modificări suspecte pe calculatorul jucătorului. Nu există protecție perfectă, însă combinația dintre server autoritar și monitorizare face trișatul mult mai dificil. LumeaTehnologiei te poate ajuta să înțelegi mai bine astfel de mecanisme de securitate.
Ce rol are rețeaua ta
Un joc este sensibil mai ales la stabilitate. O conexiune care pierde pachete sau variază mult produce întârzieri mai deranjante decât una lentă, dar constantă. Cablul este de regulă mai stabil decât Wi-Fi-ul, iar apropierea de router sau un server mai apropiat de tine ajută. Pentru bazele rețelelor, vezi și secțiunea despre internet și rețele.
Pe scurt, un joc cu mii de jucători funcționează pentru că serverele împart munca, trimit doar datele relevante și ascund latența prin predicție. Dacă vrei să înțelegi mai bine ce se petrece în spatele ecranului, LumeaTehnologiei îți oferă explicații fără jargon inutil.

