08.09.2019 Views

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

SHOW MORE
SHOW LESS

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>.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!