Verhindern, dass Spieler in einem Online-FPS ein Wallhacking durchführen?

14

Warum beschweren wir uns immer noch über Wallhacker in Multiplayer-Ego-Shootern?

Ist es nicht möglich, ein Okklusions-Culling für alle Spieler serverseitig durchzuführen? Senden Sie beispielsweise Spieler-XYZ-Informationen nur an den Kunden, wenn der Spieler im Kundenstumpf sichtbar ist und von keinem Objekt verdeckt wird. Selbst wenn die Kollisionsgeometrie sehr, sehr vereinfacht ist, erhält der Betrüger die meiste Zeit keine taktischen Informationen.

Warum machst du das nicht?

Patryk Czachurski
quelle

Antworten:

19

Denken Sie, dass Sie jetzt hinterherhinken? Warten Sie einfach, bis Sie Echtzeit-Okklusionsinformationen vom Server abrufen müssen. Jetzt können Sie hinter einer Mauer herumgehen, und böse Jungs werden plötzlich sichtbar, wenn der Server aufholt und Ihnen die aktualisierten Okklusionsdaten sendet.

Also mein verschneiter Kommentar sagt alles. Wahrscheinlich ist der Hauptgrund, warum dies nicht der Fall ist, die Verzögerung und die Serverauslastung. Wenn der Server wissen soll, wann ein anderer Spieler für Sie sichtbar ist, bedeutet dies, dass der Server genau wissen muss, welche Geometrie jeder Spieler betrachtet, und diese Okklusion berechnen muss.

Ich bin damit einverstanden, dass Exploits wie Wall-Hacking das Spiel nicht lustig machen können. Und ich sehe, dass Entwickler sich darüber Sorgen machen würden, weil sie das Spiel so unterhaltsam wie möglich gestalten wollen. Wenn Entwickler jedoch den Punkt erreichen, an dem ihre Gegenmaßnahmen gegen Betrug und Hack das Spielverhalten und / oder die Kundenzufriedenheit beeinträchtigen, verlieren sie weitaus mehr Kunden, als wenn sie es einfach in Ruhe gelassen hätten . Siehe DRM .

MichaelHouse
quelle
3
+1 für das Drängen, dass Anti-Cheat- / Hack-Gegenmaßnahmen niemals die Erfahrung eines unschuldigen Kunden beeinträchtigen sollten.
Doppelgreener
17

Es ist machbar und wurde bereits in der Forschung erprobt. Einen Vergleich der Zinsmanagementsysteme finden Sie unter http://dl.acm.org/citation.cfm?id=1230069

Wie Byte56 bereits sagte, benötigt es möglicherweise mehr CPU, verringert jedoch möglicherweise die Bandbreite und verringert die Wahrscheinlichkeit von Wall-Hacks.

Und wie Byte56 sagte, kann ein Interessenbereich, der streng auf den Okklusionsbereich des Spielers beschränkt ist, die Reaktionsfähigkeit auf Kundenseite verringern: Hinterhalte benötigen mindestens eine halbe Hin- und Rückfahrt, um angezeigt zu werden. Sie können jedoch den Interessenbereich des Spielers geringfügig größer als den Okklusionsbereich machen, sodass der Client einige Sekunden vor dem Ereignis den Hinterhalt des Gegners erhält. Auf diese Weise sind Wall-Hacks immer noch möglich, aber nur im allerletzten Moment.

Gentimouton
quelle
Schön, danke, dass Sie die Antworten auf Ihre Fragen recherchiert haben. Willkommen bei der GDSE.
MichaelHouse
4

Die kurze Antwort lautet: Ja, serverseitiges Okklusions-Culling ist möglich, wird jedoch aufgrund der Komplexität und des eingeschränkten Nutzens häufig nicht durchgeführt.

Denken Sie daran, dass für einen Großteil der modernen FPS-Spiele eine vollständige Okklusion selten ist. Heutzutage verwenden Charaktere Deckung oder Verstecken im Gras, und die tatsächlichen Uniformen und Tarnungen wirken sich tatsächlich auf die Sichtbarkeit aus. Mauern und Korridore spielen immer noch eine große Rolle im Online-Kampf, aber nicht so viel wie in den vergangenen Jahren.

Spiele mit vielen engen Korridoren und undurchsichtigen Oberflächen können (manchmal) Okklusions-Culling auf dem Server zur Ereignisfilterung verwenden. Dies funktioniert einfach nicht so gut für große offene Umgebungen und realistische Cover / Camo-Spiele.

Wall-Hacking ist auch nur ein kleiner Teil des Betrugs in Online-Spielen, und die Behebung jedes einzelnen Hacks hat bisher nicht gut funktioniert. Die besten Ansätze waren einfach hochqualitative Matchmaking- und Spielerbewertungssysteme, die die Betrüger herausfiltern und die Wahrscheinlichkeit verringern, dass sie in ein frustrierendes Match verwickelt werden.

Sean Middleditch
quelle
-4

Neugierige Spielentwickler schreiben einfach ein Nebenprogramm, das im Grunde die volle Kontrolle über den PC übernimmt und keine Software von Drittanbietern lädt, während das Spiel läuft? Müssen sie die Injektoren nicht laden, nachdem das Spiel gestartet und dem Speicher zugeordnet wurde? Also nur schwarze Liste alles, was nicht mit dem Laufen zu tun hat. Sie müssen eine Art UAC erstellen, um das Laden von Diensten nach dem Laden des Spiels zu verhindern.

Meine andere Idee, das Hacken vollständig zu verhindern, ist etwas komplexer und beinhaltet das Ausführen von Spielen wie ein Linux-Live-Laufwerk. Grundsätzlich würde das Spiel überhaupt keine Fenster verwenden, sondern ein eigenes abgespecktes Betriebssystem, das nur für das Laden von Spielen ausgelegt ist. Spieler möchten vielleicht Musik streamen oder spielen, während sie spielen, aber diese neue Art, ein Spiel zu starten, lässt es nicht zu. Die Entwickler könnten Programme und ähnliches auf die Whitelist setzen, aber ich würde mich nicht darum kümmern, dass Sie versuchen, ein zu spielen Spiel, wenn Sie mehrere Aufgaben gleichzeitig ausführen möchten, einen Laptop in der Nähe usw. Im Wesentlichen möchten Sie das Spiel im Sandbox-Modus mit Verschlüsselung ausführen. Ich denke, das nennt sich. Es ist, als würde man ein Spiel in einer virtuellen temporären Umgebung ausführen 100% vom Spielehersteller kontrolliert.

Und dieser Sandboxie-Modus ähnelt der Funktionsweise von Konsole und Spielen. Wir sehen nicht viele Hacks auf der Konsole. Warum? Weil sie sie nicht auf die Konsole laden können und wenn sie könnten, könnten die Konsolen es nicht einmal lesen, um es zu erkennen.

TJ L
quelle
1
Nein, ein Spielentwickler kann kein Nebenprogramm schreiben, das die volle Kontrolle über den PC übernimmt. Das ist ein Betriebssystem. Ein Betriebssystem muss sich beim Start des Computers beim Kernel registrieren, um seine Berechtigungen zu erhalten. Andernfalls ist das erneute Aufrufen der Berechtigungen kostspielig. Zusätzlich nennen wir Nebenprogramme, die die volle Kontrolle über einen PC übernehmen, "unsicher" und "Viren", weil sie es sind. Das Programm, das die volle Kontrolle hat, bedeutet auch, dass die Sicherheit im Spiel noch wichtiger ist, da jeder Hack, der die Kommunikation zwischen Client-Programmen verursachen kann, buchstäblich alle Daten von allen Client-Geräten stehlen kann . Das ist schlecht.
Delioth
1
Ein weiterer Punkt ist, dass Sie mir sagen, ich müsste meinen PC in diesem Barebones-Betriebssystem neu starten, um Ihr Spiel zu spielen. Ich fordere eine Rückerstattung an, da es für Ihr Spiel keine 5-10-minütige Start- und Stoppzeit geben sollte, da ich mit meinen beiden Bildschirmen nichts anfangen kann, weil der Computer ausgeschaltet ist . Und nicht jeder kann es sich leisten, einen zusätzlichen Laptop für Multitasking zu kaufen, während er ein bestimmtes Spiel spielt (Es ist besser, verdammt gut, wenn es 20 Minuten dauert, nur zu starten und anzuhalten, und mich zwingt, 400 Dollar auszugeben, um Musik / Reddit im Hintergrund zu haben ).
Delioth
Naja, dann beschäftige dich mit Leuten, die Spiele auf dem PC ruinieren. Schützen sind heutzutage vollständige Abschreibungen, weil sie mit Esp usw. durchsetzt sind. Bf1 auf dem PC ist ein gutes Beispiel. es wurde gehackt, bevor es überhaupt herauskam.
TJ L