Progettazione e Sviluppo di un Multiplayer Online Game su Reti Peer-to-Peer
Alma Mater Studiorum Universit`a degli Studi di Bologna Facolta` di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze di Internet Tesi di Laurea in Laboratorio di Programmazione Internet
Alma Mater Studiorum Universit`a degli Studi di Bologna
Facolta` di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Scienze di Internet
Tesi di Laurea in Laboratorio di Programmazione Internet
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5.1. ANTI-CHEATING 101<br />
gioca<strong>to</strong>re viene esplulso dalla partita.<br />
Sistemi <strong>di</strong> Cheating come lo Speed Hacking e Au<strong>to</strong> Aiming, però, possono<br />
essere implementati anche ad <strong>un</strong> livello inferiore rispet<strong>to</strong> a quello applicativo<br />
in<strong>di</strong>vidua<strong>to</strong> dal Client. Utilizzando appositi programmi esterni è infatti<br />
possibile moni<strong>to</strong>rare e mo<strong>di</strong>ficare ogni singolo pacchet<strong>to</strong> invia<strong>to</strong> al Server al<br />
fine <strong>di</strong> trarne <strong>un</strong> vantaggio nel contes<strong>to</strong> delle <strong>di</strong>namiche <strong>di</strong> gioco.<br />
In <strong>un</strong>’architettura Client-Server si tende a delegare la logica <strong>di</strong> gioco ed<br />
i relativi controlli <strong>su</strong>l Server poichè si pre<strong>su</strong>me sia <strong>un</strong>’entità “trusted”, limitando<br />
il più possibile i Clients a quelle che sono le operazioni meno sensibili<br />
dal p<strong>un</strong><strong>to</strong> <strong>di</strong> vista dell’avanzamen<strong>to</strong> dello sta<strong>to</strong> <strong>di</strong> gioco.<br />
In <strong>un</strong>a logica <strong>Peer</strong>-To-<strong>Peer</strong>, la mancanza <strong>di</strong> <strong>un</strong> asset<strong>to</strong> centralizza<strong>to</strong> porta ad<br />
avere come <strong>un</strong>ici elementi potenzialmente “trusted” gli stessi <strong>Peer</strong>.<br />
In <strong>un</strong>a rete au<strong>to</strong>gestita, ques<strong>to</strong> implica da <strong>un</strong>a parte <strong>un</strong> sistema <strong>di</strong> Cheatdetection<br />
<strong>su</strong> ogni singolo <strong>Peer</strong>, e dall’altra <strong>un</strong>’organizzazione interna alla Memebership<br />
in grado <strong>di</strong> in<strong>di</strong>viduare <strong>un</strong>’au<strong>to</strong>rità a<strong>di</strong>bita al Cheat-management.<br />
Inoltre sistemi <strong>di</strong> sincronizizzazione temporale, come la Bucket Synchronization,<br />
possono essere aggirati sfruttando il ritardo tra la ricezione <strong>di</strong> eventi<br />
provenienti dagli altri <strong>Peer</strong> e la loro effettiva esecuzione: <strong>un</strong> <strong>Peer</strong> può ad esempio<br />
inviare <strong>un</strong> even<strong>to</strong> opport<strong>un</strong>amente crea<strong>to</strong> bastandosi <strong>su</strong>lle “intenzioni”<br />
ricevute ma non ancora eseguite (Look Ahead Cheat). O più semplicemente<br />
mo<strong>di</strong>ficare il TimeStamp <strong>di</strong> <strong>un</strong> even<strong>to</strong> così da ri<strong>su</strong>ltare essere sta<strong>to</strong> invia<strong>to</strong><br />
in <strong>un</strong> istante <strong>di</strong> tempo precedente (TimeStamp Cheat).<br />
Di segui<strong>to</strong> viene proposta l’implementazione <strong>di</strong> <strong>un</strong> Modulo de<strong>di</strong>ca<strong>to</strong> al<br />
Cheat-detection: come anticipa<strong>to</strong> nel capi<strong>to</strong>lo 1, tipicamente i MOGs che si<br />
basano <strong>su</strong> <strong>un</strong> modello <strong>Peer</strong>-To-<strong>Peer</strong> vengono <strong>su</strong>pportati com<strong>un</strong>que da <strong>un</strong>’architettura<br />
centralizzata, utilizzata come p<strong>un</strong><strong>to</strong> d’accesso alle partite, ed eventualmente<br />
come au<strong>to</strong>rità per la gestione dell’Anti-Cheating. Il contes<strong>to</strong> in<strong>di</strong>vidua<strong>to</strong><br />
del proget<strong>to</strong> <strong>di</strong> tesi, invece, non contempla ques<strong>to</strong> tipo <strong>di</strong> <strong>su</strong>ppor<strong>to</strong>.