Új hozzászólás Aktív témák

  • Spizzi

    aktív tag

    válasz Plata #2032 üzenetére

    A jelenlegi GTA V Online-t ne vedd ez esetben alapul. Alapból nem arra lett tervezve a játék, hogy 13+ évig live service modellben, emberek tízmilliói játszanak vele.

    #2033 hsz-ben jól írja a kollega, gyakorlatilag a konzolos multiplayert portolták át PC-re egy per egy. Holott ez már 2015-ben is egy elavult módszer volt többjátékos módhoz PC-n. A jelenlegi Online ún. peer-to-peer (P2P) rendszert használ. Ennek az a lényege, hogy több különböző dedikált szerver helyett csak egy központi szerver van, ami gyakorlatilag csak egy script. Pusztán annyiért felelős, hogy valamilyen keretbe foglalja a többjátékos módot, mentsen aktuális adatokat és közvetítsen a játékosok gépei között.

    De nézzük akkor gyakorlatban. Tegyük fel belépsz az Online-ba és te vagy az első játékos a session-be. Ilyenkor a te PC-d veszi át a host szerepét. Magyarán az egész session minősége azon áll, hogy neked milyen gyors PC-d van(főleg CPU), milyen gyors a neted és mennyi a pinged. Amikor becsatlakozik a második játékos, akkor konkrétan a te "szerveredre" csatlakozik rá.

    Az a legfőbb gond ezzel, hogy P2P kapcsolat esetén az összes résztvevő egyesével osztja meg a saját változóit mindenkivel. Könnyebb érthetőség végett GTA-s példa.: ha lelősz valakit a szinkront teljes egészében a te géped végzi. A játék a saját oldaladon számolja ki a lövedék pályáját, azt, hogy eltalálta-e a másikat, melyik testrészt érte a lövés és mekkora sebzést okozott. Ezek az adatok ezután közvetlenül(!) továbbításra kerülnek a session többi résztvevője felé, akiknek a gépe ezeket az információkat már nem ellenőrzi újra, hanem kész tényként fogadják el. Nincs központi szerver, amely összevetné a különböző kliensek állapotát vagy validálná, hogy a találat a másik játékos pozíciójához képest valóban reális volt e. Ennek következménye, hogy gyakran előfordulnak desync hibák. Az egyik játékosnál még nyílt terepen fut a karakter, miközben a másik oldalon már fedezék mögött van, a találat mégis érvényesnek számít.....és ami a legrosszabb, hogy egyetlen gyengébb kapcsolatú játékos is képes negatívan befolyásolni az egész session szinkronját, mert vagy késve küldi a saját változóit, vagy későn kapja másokét, vagy is-is.

    Ugyanez a logika érvényes a mentésekre is. Ahogy a lövéseknél is a kliens dönti el, mi történt, a jutalmaknál is a játékos gépe "jelenti le" az eredményt a központi szerver felé. Egy küldetés végén a kliensed közli, hogy siker volt, és mennyi pénz jár érte, a szerver pedig ezt elfogadja és elmenti. Nincs komoly ellenőrzés arra, hogy ez valóban összhangban van e azzal ami valójában történt. Ezért lehet pénzt addolni meg hackelni, főleg ha a mentés közben megszakad a kapcsolat vagy sessionváltás történik (akár direkt is ugyebár). A cheaterek ezeket a réseket használják ki, mert nincs egyetlen központi pont, ami mindig eldöntené mi számít érvényes adatnak.

Új hozzászólás Aktív témák