Impedire ai giocatori di eseguire il wallhacking in un FPS online?


14

Perché ci lamentiamo ancora dei wallhacker negli sparatutto in prima persona multiplayer?

Non è possibile eseguire l'abbattimento dell'occlusione per tutti i giocatori sul lato server? Ad esempio, inviare le informazioni del giocatore xyz al client solo quando il giocatore è visibile nel frustum del cliente e non è occluso da alcun oggetto? Anche se la geometria della collisione è molto, molto semplificata, la maggior parte delle volte l'imbroglione non riceverà informazioni tattiche.

Perché non farlo?

Risposte:


19

Pensi di essere in ritardo ora? Aspetta 'fino a quando non devi ottenere informazioni sull'occlusione in tempo reale dal server. Ora puoi camminare da dietro un muro e i cattivi appariranno all'improvviso mentre il server raggiunge e ti invia i dati di occlusione aggiornati.

Quindi il mio commento accigliato dice tutto. Probabilmente il motivo principale per non farlo è il ritardo e il carico del server. Se vuoi che il server sappia quando un altro giocatore è visibile per te, ciò significa che il server deve sapere esattamente quale geometria sta guardando ogni giocatore e calcolare quell'occlusione.

Sono d'accordo che exploit come l'hacking a parete possano rendere il gioco non divertente. E vedo che gli sviluppatori si preoccuperebbero di questo perché vogliono rendere il gioco il più divertente possibile. Tuttavia, quando gli sviluppatori arrivano al punto in cui le loro contromisure anit-cheat / hack riducono il gioco e / o la soddisfazione dei clienti, perderanno molti più clienti rispetto a quando li avessero lasciati soli . Vedi DRM .


3
+1 per aver sollecitato le contromisure anti-cheat / hack non dovrebbero mai diminuire l'esperienza di un cliente innocente.
doppelgreener,

17

È fattibile, ed è stato già provato nella ricerca; per un confronto tra gli schemi di gestione degli interessi, consultare http://dl.acm.org/citation.cfm?id=1230069

Come ha detto Byte56, potrebbe richiedere più CPU, ma potrebbe ridurre la larghezza di banda e ridurre la probabilità di attacchi a muro.

E come ha detto Byte56, un'area di interesse strettamente limitata all'area di occlusione del giocatore può ridurre la reattività sul lato client: gli agguati impiegheranno almeno la metà di un round-trip per essere visualizzati. Tuttavia, potresti rendere l'area di interesse del giocatore leggermente più grande dell'area di occlusione, in modo che il cliente riceva un'imboscata dell'avversario pochi secondi prima che accada. In questo modo, gli hack del muro sono ancora possibili, ma solo all'ultimo momento.


Bene, grazie per aver portato alcune ricerche effettive alle risposte. Benvenuti in GDSE.
MichaelHouse

4

La risposta breve è che sì, è possibile l'abbattimento dell'occlusione lato server, ma spesso non viene eseguito a causa della complessità e dei vantaggi limitati.

Tieni presente che per gran parte dei moderni giochi FPS, l'occlusione completa è rara. I personaggi oggigiorno usano la copertura o il nascondiglio nell'erba e le uniformi e il camuffamento effettivi hanno un impatto sulla visibilità. Pareti e corridoi svolgono ancora gran parte della battaglia online, ma non tanto quanto negli anni passati.

I giochi con molti corridoi stretti e superfici opache possono (a volte hanno) usato l'abbattimento dell'occlusione sul server per il filtro degli eventi. Questo non funziona così bene per grandi ambienti aperti e giochi realistici di cover / camo.

L'hacking a parete è anche solo una piccola parte degli imbrogli nei giochi online e la correzione di ogni singolo hack non ha funzionato bene finora. I migliori approcci sono stati semplicemente la creazione di partite di alta qualità e i sistemi di valutazione dei giocatori che filtrano gli imbroglioni e riducono la probabilità di essere messi in una partita frustrante.


-4

Gli sviluppatori di giochi non possono semplicemente scrivere un programma laterale che in pratica prende il pieno controllo del PC e non consente il caricamento di alcun software di terze parti mentre il gioco è in esecuzione? Non devono caricare gli iniettori dopo che il gioco è stato avviato e mappato in memoria? Quindi basta mettere in black list tutto ciò che non è in esecuzione. Devono creare un tipo di controllo dell'account utente per interrompere il caricamento dei servizi dopo il caricamento del gioco.

L'altra mia idea per prevenire completamente l'hacking è un po 'più complessa e prevede l'esecuzione di giochi come un sistema operativo live drive linux. Fondamentalmente il gioco non usa affatto Windows ma usa il proprio sistema operativo ridotto che è progettato per caricare solo i giochi. Quindi i giocatori potrebbero voler riprodurre in streaming o riprodurre musica durante il gioco, ma questo nuovo modo di eseguire un gioco non lo consentirà .. Un grosso problema, gli sviluppatori potrebbero inserire nella whitelist programmi e cose ma non mi preoccuperei .. stai provando a giocare a gioco, se vuoi multi task avere un laptop vicino ecc. Essenzialmente vuoi eseguire il gioco in modalità sandboxie con crittografia .. Penso che sia come si chiama .. È come far funzionare un gioco in un ambiente virtuale che è Controllato al 100% dal creatore del gioco.

E questa modalità sandboxie sarebbe molto simile al funzionamento del sistema operativo e dei giochi della console .. Non vediamo molti hack sulla console .. Mi chiedo perché? Perché non possono caricarli sulla console e se potessero le console os non sarebbero nemmeno in grado di leggerlo riconoscerlo.


1
No, uno sviluppatore di giochi non può scrivere un programma laterale che prenda il pieno controllo del PC. Ecco cos'è un sistema operativo. Un sistema operativo deve registrarsi con il kernel quando il computer si avvia per ottenere i suoi privilegi e ri-invocarli altrimenti è costoso. Inoltre, chiamiamo i programmi secondari che prendono il controllo di un PC "non sicuro" e "virus" perché lo sono. Il programma che ha il pieno controllo significa anche che la sicurezza nel gioco è ancora più importante, poiché qualsiasi hack che può causare la comunicazione tra i programmi client può letteralmente rubare tutti i dati da tutti i dispositivi client . Questo è male.
Delioth,

1
Come altro punto, mi stai dicendo che dovrei riavviare il mio PC in questo sistema operativo barebone solo per giocare? Chiedo un rimborso poiché non ci dovrebbero essere 5-10 minuti di avvio e spegnimento per il tuo gioco, in cui non posso fare nulla con i miei due schermi perché il computer è spento . E non tutti possono permettersi di acquistare un laptop aggiuntivo solo per il multitasking mentre giocano a un gioco specifico (è meglio essere dannatamente bravi se ci vogliono 20 minuti solo per iniziare e fermarmi e mi costringe a spendere $ 400 per avere musica / reddit in background ).
Delioth,

Bene, allora affronta le persone che rovinano i giochi su PC .. Gli sparatutto in questi giorni sono completamente cancellati perché sono pieni di esp, ecc. Bf1 su PC è un buon esempio .. Non so nemmeno perché si preoccupano di rilasciarli più su PC, è stato violato prima ancora che venisse fuori.
TJ L
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.