Domanda

Non sto scrivendo in realtà questo software me stesso, ma mi venne in mente che non ho idea di come risolvere il problema. Come il modo migliore per spiegare il problema, vi descriverò uno scenario specifico da un ipotetico multi-player gioco in prima persona sparatutto ...

  • Il giocatore A si nasconde in alcuni cespugli di fronte a ovest
  • Il giocatore B è furtivamente sul giocatore A da est, o furtivamente dietro il giocatore A

Un popolare "hack", scritto per questo gioco sarebbe per il giocatore A per avere un radar mostrandogli la posizione del giocatore B, anche se lui non può vedere il giocatore B sul suo schermo, e il gioco non supporta un radar . Questo hack è possibile perché il server invia informazioni al cliente il giocatore di A sul tutti i giocatori all'interno di un certo range (forse entro piano di ritaglio giocatore di A). Non sarebbe realistico (per quanto ne so), per il server per tentare di inviare solo informazioni al cliente il giocatore di A sul giocatore giocatori all'interno di una cornice vista. Poiché il server deve inviare informazioni su tutti i giocatori vicini a cliente giocatore di A, il giocatore A potrebbe scrivere un hack che si sovrappone un radar sul suo schermo, che è popolata da guardare per i dati inviati al cliente e tirando fuori gli aggiornamenti dello stato giocatore nemico. Penso che questi sono comunemente noti come "radar" o hack "muro".

C'è un modo per offuscare o nascondere gli aggiornamenti di stato dei giocatori nemici nelle informazioni inviate al cliente? Da quello che ho capito, la crittografia non sarebbe possibile per le soluzioni in tempo reale? Anche se il server è stato in grado di inviare solo gli aggiornamenti di stato su giocatori all'interno lettore di una cornice di vista, questo sarebbe ancora permettere mod giocatore di A per mostrare i giocatori che si nascondono dietro mimetiche o coprire gli oggetti (che erano presumibilmente trasparente in modo minore).

L'unica cosa che potevo davvero pensare sarebbe quello di implementare un certo tipo di soluzione "PunkBuster". Cioè, hanno cliente giocatore di una scansione regolarmente per i processi illegali. L'idea è che ogni hack popolari sarebbe stata monitorata. hack impopolari interesserebbero una piccola base di giocatori abbastanza che sono troppo piccoli per andare dopo.

È stato utile?

Soluzione

Questo è l'unico modo. Oltre a PunkBuster, si dovrebbe fare qualche ricerca su Warden (al di là di wikipedia, c'è un sacco di cose interessanti che non voglio link qui). E 'una battaglia molto interessante data la del mondo online disegno ...

  

Il cliente è nelle mani del   nemico.

Un altro elemento ad essa è che la gente andrà a sostituire i loro driver video con i driver modded che danno loro vantaggi (cose opache o evidenziata, i giocatori non possono essere "accecati", ecc). Non sono sicuro se tutti i giochi verificare la presenza di driver modded o meno.

Altri suggerimenti

crittografia semplice potrebbe essere valida in tempo reale con l'hardware di oggi, ma il problema è che, al fine per il cliente di accedere ai dati crittografati deve avere la chiave. Se il cliente ha la chiave che probabilmente non sarà troppo difficile per un programma di imbroglione per trovare e recuperare esso. Il modo migliore è per il server solo per inviare la posizione di B ad A se è a tutto il possibile per vedere B. Sarà ancora possibile imbrogliare ma in misura minore.

Una possibile soluzione per i casi in cui B si nasconde, ma una piccola parte può essere visibile è per il server di dire semplicemente che ci sia qualcosa alla posizione del B. Può essere una roccia o quant'altro. Il problema è che, per il cliente sia in grado di rendere il qualcosa , il server deve dare una descrizione abbastanza accurata. Dato bassa latenza che oggi giochi multiplayer falso simulando ciò che il server fa, questo è molto probabilmente non fattibile finché non avremo le reti ultra-bassa latenza.

C'è stato un programma chiamato "eqmon" che ha fatto qualcosa di simile per il gioco Everquest. In un primo momento, i pacchetti di gioco erano completamente in chiaro e conteneva tutti i personaggi (sia per PC e NPC) per l'intero livello. Alla fine, hanno finito per utilizzando la crittografia per rendere più difficile a curiosare i pacchetti, ma eqmon ottenuto intorno che bruta costringendo la chiave di crittografia (una nuova chiave è stato creato dal server ogni volta che si è inserito un livello, quindi a volte sono voluti pochi minuti per decifrare la chiave). Hanno poi cambiato in modo che il cliente ha ricevuto solo gli aggiornamenti per PC o NPC entro un certo intervallo della vostra posizione. Ciò ha reso eqmon meno utile per il campeggio e il monitoraggio "spawn rare" lontano nello stesso livello.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top