Jump to content
Unity Insider Forum

Multiplayer Anti-Cheat


Shalafi

Recommended Posts

Hi,

zur Zeit bastle ich mit einem Freund an einem Multiplayer FPS.


Was gibt es da für Möglichkeiten, um Cheating zu verhindern?
Das Ganze läuft schon als Authoritative Server, aber wie kann man sachen wie Aimbots oder Wallhacks verhindern?

 

Hat da jemand Tipps bzw. Anregungen für mich?


Gruß

 

 

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schau dir halt mal an, wie Profis das machen. In CS:GO zeichnet der Server alles auf, Spieler können andere des Cheatens verdächtigen und andere Spieler können sich die Replays aus der Sicht des Beschuldigten ansehen, um dann abzustimmen, ob hier gecheatet wurde. Daran, dass selbst Valve das so macht und nicht durch irgendeinen Code, kann man gut erkennen, dass es einfach keine Möglichkeit gibt, das durch Code zu lösen. Was auf dem Rechner des Spielers passiert, liegt letztendes zu 100% in dessen Kontrolle. Da kann man nichts gegen machen. Mit Streaming-Diensten wie Stadia würde Anti-Cheat super einfach werden, aber das dauert noch eine Weile, bis das Zeug etwas taugt.

Man könnte jetzt versuchen, kleine Hürden einzubauen. Aber ich würde sagen, dass jemand, der einen Aimbot bauen will, das auch tun kann. Ob sich da der Aufwand lohnt, solchen Leuten Steine in den Weg zu legen... eher nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe damals selber hacks, und cheats geschrieben, weil ich sowas interessant fand (nicht um zu cheaten). Es ist tatsächlich sogar ziemlich einfach gewesen damals "Wallhacks" für CS 1.6 zu schreiben. Aimbot usw und ESP(wo man namen sieht durch die Wände usw) war schon schwieriger weil man das berechnen muss. 

Was als Tipps gegeben wurden damals waren "Benutzt keine Namen, die überall verwendet werden". Also die Variablen dürften nicht was mit "Wallhack" oder "Aimbot" zu tun haben. Somit hatte VAC Probleme Signaturen raus zu finden. Natürlich abgesehen davon wird auch überprüft, ob im Spiel wichtige Stellen verändert wurde, aber das im Laufzeit. Punkbuster war bei sowas schnell kann ich mich erinnern. Innerhalb 3 Sekunden konnte es eine Veränderung finden. Der hat auch nicht gebannt, sondern nur gekickt. VAC bzw Steam macht es clever. Einfach erst mal alle Cheater sammeln und am Ende alle gleichzeitig bannen. Nervig für Spieler, aber dafür schwieriger für Hack Entwickler.. weil sie das nicht sofort erkennen können, ob ihr Hack funktioniert.

Deswegen werden Public Hacks schneller gefunden und gebannt als private bzw. die speziell für eine kleine Gruppe entwickelt wurde. Ich weiß noch als meine modifizierte DLL Datei verwendet habe, obwohl 3 Jahre vergangen waren, hat es immer noch funktioniert :D. Heute geht es aber nicht mehr. 

Was ich daher sagen kann ist, dass man gegen Cheater bzw. Hacks nicht 100%ig vorgehen kann, aber gibt gute Anti-Cheat Tool die sowas schnell erkennen.

Und daher das Beste was Spiele machen können ist was Sascha schrieb. Einfach Zuschauer-Modus, Replay usw.
Selbst Dota 2, was ein Moba ist, hat Hacks. Sowas wie Auto-Aiming, Auto Spell Casts und auch Maphack. Wobei ein MapHack sich vermeiden lässt, aber in Dota nicht so aufgebaut ist. Und durch Replay sieht man direkt, dass dort gecheatet wurde.

Gegen Aimbot kann man da nichts machen. Gibt einfach zu viele Arten wie ein Aimbot geschrieben wird und da das ja clientsided ist erkennt man das schwer.

(Bitte mich nicht deswegen anschreiben und fragen wie man sowas programmiert).

EDIT: Sätze umgeschrieben. Kein Plan warum ich da etwas manchmal sinnloses stehen hatte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...