Spelklienter – så fungerar de

En spelklient är i korta drag en mjukvara som kopplar upp sig mot spelets server och tillåter en att spela det. Servrarna måste kunna hantera uppkopplingar från många klienter på en och samma gång utan att krascha eller drastisk ökad latens.

2770126-abstract-computer-network-with-laptops-and-archive-or-database

Idag är det väldigt många spel som kopplar upp sig till en server, av många olika anledningar. Vissa spel har ingen multiplayer-funktion med använder sig ändå av en server för att hålla reda på saker som statistik och prestationer. För sådana spel är serverbelastningen ganska minimal, speciellt om man jämför med renodlade multiplayerspel som på FunnyGames, casinospel som på Full Tilt, eller arkadspel som på Miniclip.

De flesta spelklienter idag arbetar på ett sätt som kombinerar två olika metoder: klient-server och peer-to-peer nätverk.

Klient-server

Klient-server modellen är en distribuerad applikationsstruktur som partitionerar uppgifter eller arbetsbördan mellan den som tillhandahåller en resurs eller tjänst, som kallas servern, och den som begär tjänsten, kallad klienten.

Det är ofta fallet att klienten och servern kommunicerar över nätverk med olika hårdvara, men både klienten och servern kan finnas i ett och samma system. En server kan köra en eller flera serverprogram som delar sina resurser med klienterna, dessa klienter delar dock inte i sin tur sina resurser utan begär servers innehåll eller funktioner. Klienten är därför den som initierar kommunikationen med server som annars bara väntar på inkommande förfrågningar.

Ett konkret exempel på en sådan interaktion kan se ut som följande: en person använder sig av sin webbläsare, som i detta fall är klienten, för att få tillgång till en banks onlinetjänster. Klienten initierar en förfrågan till bankens webbserver, en applikationsserver tolkar denna förfrågan och returnerar ett svar beroende som antingen ger klienten tillgång eller inte beroende på om uppgifterna som angavs var korrekta eller inte.

Exempel på andra system som använder sig av en klient-server-lösning är e-post, nätverksskrivare och world wide web, som inte bör förväxlas med konceptet internet. Denna skillnad kan man läsa mer om här på NyTeknik.

Peer-to-peer

Peer-to-peer, oftast förkortat P2P är en distribuerad applikationsarkitektur som partitionerar uppgifter eller arbete mellan “peers”, vilket betyder användare med samma privilegier och likvärdiga deltagare i applikationen. Dessa användare sägs bilda ett P2P-nätverk av noder.

1528038-system-diagnosis

Användare i ett sådant nätverk gör en viss del av sina resurser tillgängliga till andra användare som deltar i samma nätverk. Detta kan vara saker som processorkraft, hårddiskutrymme eller bandbredd. Allt detta sker utan någon direkt koordination från en server eller liknande. Användarna är därför både den som tillhandahåller och konsumerar resurserna, till skillnad från klient-server-modellen där tillhandahållanden och användandet av resurserna är uppdelade.

Kollaborativa P2P-system har börjat gå bortom eran av användare som alla gör samma saker i delandet av resurser och ser istället mot att diversifiera användare för att hitta de som kan tillföra mer unika resurser och förmågor till virtuella samhällen och därigenom stärka dem så att de kan hantera större uppgifter som ingen enskild användare annars skulle klara av men som ändå är till nytta för alla användare. Mer om detta finns att läsa i en artikel på inklingMedia.

P2P-system har använts väldigt länge i datorers historia, men det var först 1999 som systemet populariserades. Detta var tack vare fildelningssystemet Napster. Konceptet inspirerade inte bara nya system utan också förvånande nog filosofier i många områden av interaktion människor emellan. Dessa idéer och tankar är delvis ansvariga för de sociala nätverk som finns på nätet idag.

Ett exempel på system som använder sig av detta är torrents, som använder sig av både ett program för att etablera kontakt med nätverket och filer som innehåller metadata om andra filer. När en sådan fil används av ett BitTorrent-program försöker programmet skapa anslutningar till andra användare som har dessa filer i sina egna system och därefter föra över dem till sitt eget system genom att ladda ned datan i bitar och sedan sammanställa denna till en fil.