Als Cheat (englisch für Betrug, Schwindel) wird die Möglichkeit bezeichnet, in einem Computerspiel selbst oder durch externe Programme den Spielverlauf in einer nicht dem gewöhnlichen Verlauf entsprechenden Weise zu beeinflussen. Es handelt sich dabei beispielsweise um Tricks, mit denen für manche Spieler zu schwere Abschnitte eines Levels übersprungen werden können. Aber auch das Verschaffen von zum Beispiel unendlicher Lebensenergie, mehr Munition oder weiteren Einheiten werden meist von Cheats abgedeckt. In der Regel sind diese Funktionen zu Testzwecken für die Entwicklungsphase des Spiels einprogrammiert.
Das Anwenden von Cheats hat einen großen Einfluss auf den Spielablauf, da grundlegende Regeln des Spiels durch den Cheat außer Kraft gesetzt werden. Während dies in Singleplayer-Spielen geduldet ist, und die Möglichkeit zu cheaten heute meist bereits vom Spieleentwickler eingebaut (oft raffiniert versteckt) ist, so ist es bei Mehrspieler-Spielen geächtet. Solche unfairen Spieler werden als Cheater bezeichnet und meist, soweit möglich, vom Spiel ausgeschlossen.
Gerade bei reinen Mehrspieler- bzw. Onlinespielen und im E-Sport liegt es im Interesse des Spieleentwicklers, das Cheaten möglichst zu unterbinden, da sonst der Spielspaß bei den fair spielenden Teilnehmern leidet und somit auch der kommerzielle Erfolg eines Spiels bedroht wird. Besonders betroffen sind zurzeit dabei Spiele wie zum Beispiel Counter-Strike und Diablo 2. Den Einsatz von ungewollten Cheats zu verhindern, ist für Spielehersteller ein hoher Aufwand und kann niemals völlig garantiert werden. Der Spieleentwickler Blizzard Entertainment hat auf seiner Online-Spieleplattform Battle.net teilweise schon zu drastischen Mitteln gegriffen, um das Cheaten zu unterbinden. So wurden bei potentiellen Cheatern Benutzerdaten gelöscht (in diesem Fall: Spielercharaktere) oder ganze Spielerkonten gesperrt. Diese Möglichkeit der Einflussnahme besteht allerdings nur, wenn das Onlinespiel auf den zentralen Servern des Spieleherstellers gehostet wird, was bei den meisten Onlinespielen nicht der Fall ist – die meisten erfordern nur eine direkte Verbindung zwischen den Rechnern der Spieler mit einem Gameserver im Internet, die jedoch selten einer Überwachung durch die Spielehersteller unterliegt. Es gibt aber auch die Vernetzung von Computern auf so genannten LAN-Partys.
Es kann grundsätzlich zwischen mehreren Techniken des Cheatens unterschieden werden.
Das Ausnutzen von Programmfehlern, auch Bugusing oder Bugabusing genannt, die vom Spielentwickler bisher nicht entdeckt oder korrigiert worden sind, erlaubt dem Spieler, Aktionen im Spiel auszuführen, die vom Entwickler nicht vorgesehen waren. Das Finden solcher Fehler erfolgt meist zufällig und erfordert bei gezielter Suche meist eine Menge Zeit. Auch das Ausnutzen solcher Fehler erfordert teilweise einiges an Übung, bis der gewünschte Effekt erzielt wird. Bei Online-Spielen werden Spieler, die solche Fehler ausnutzen, häufig als Buguser (frei übersetzt Fehlernutzer) oder Exploiter, Bugabuser (beides Fehlerausnutzer, Fehlermissbrauchender) bezeichnet.
Bugusing kann auch bei PHP, JavaScript, Perl und anderen Programmiersprachen auftreten, es gibt dabei keine Beschränkung auf Skriptsprachen für dynamische Internetseiten. Letztere werden unter anderem für Browserspiele verwendet (Beispiel: OGame). Durch Sicherheitslücken in der Sprache können Programmabläufe geändert, Daten gelöscht oder ein uneingeschränkter Zugriff auf den Server geschaffen werden.
Eine Cheatvariante, die dem Bugusing ähnelt, ist das Cheaten durch spielinterne Skripts. Viele Spiele, wie zum Beispiel Counter-Strike, bieten eine interne Skriptsprache an, die im Mehrspielermodus normalerweise nur für harmlose Befehle genutzt werden kann. Durch bestimmte Kombinationen dieser Befehle kann es jedoch zu Effekten kommen, die den Cheatprogrammen z.T. stark ähneln. Solche Effekte sind zum Beispiel:
Das Scriptcheating ähnelt dem Bugusing sehr stark und überschneidet sich z.T. auch, beim Bugusing wird jedoch sehr oft auf andere Art und Weise gehandelt als beim Scriptcheating. Dennoch werden auch Scriptcheater als Exploiter bezeichnet.
Oft ist der Übergang von Script-Cheating und tuning der Einstellungen einer Gameengine fließend. So kann z.B. auch ein Verändern der Gamma-Werte zur Aufhellung dunkler Bereiche als Cheaten gewertet werden.
Makros sind Programme oder Skripte, die dem Spiel Spielereingaben wie Tastendrücke und Mausbewegungen vorgaukeln. Der Spieler kann so einen Vorteil gegenüber anderen erlangen, weil Eingaben durch Makros schneller, präziser oder ausdauernder durchgeführt werden können, als es der Spieler selbst könnte.
Bots (vom englischen Robots = Roboter) sind im Grunde eine Erweiterung des Makro-Konzepts. Sie analysieren die Ausgaben des Spiels und reagieren auf erkannte Informationen oder Ereignisse mit simulierten Eingaben.
Da Makros und Bots Eingaben an das Spiel nicht anders als „reale“ Spieler senden, sind sie bedeutend schwerer zu entdecken als Cheats, die sich anderer Methoden bedienen.
Folgende Cheats können als Makros / Bots eingestuft werden:
Eine verbreitete Cheatmöglichkeit ist die Manipulation des Spiels selbst. In der Regel geschieht dies zur Laufzeit, also sobald das Spiel in den Arbeitsspeicher des Computers geladen ist. Cheat-Programme, so genannte Trainer, sind in der Lage, die Stelle im Arbeitsspeicher zu finden, an der das Spiel eine wichtige Information wie zum Beispiel den Punktestand des Spielers speichert und können diese manipulieren oder einfrieren, was beispielsweise bei den Lebenspunkten des Spielers sinnvoll ist.
In der Regel läuft das Trainer-Programm im Hintergrund parallel zum Spiel und horcht auf einen bestimmten Tastendruck des Spielers. Wird dieser Tastendruck empfangen, wird der Trainer aktiv.
Anstatt in das laufende Programm einzugreifen, besteht auch die Möglichkeit, gespeicherte Spielstände zu manipulieren. Dies geschieht entweder per Hand mit einem Hex-Editor oder mit einem Programm, das diesen Vorgang automatisiert.
Bei den weniger verbreiteten Open-Source-Spielen ist eine Manipulation auch durch die direkte Bearbeitung des Quellcodes möglich. Damit kann beispielsweise automatisiertes Schießen ermöglicht werden, oder auch das Anzeigen von Gegnern hinter Wänden. Dies alles wäre bei Closed-Source-Spielen nur durch Verwendung von Bots oder ähnlichem möglich. Aber auch das Übertragen falscher Informationen an den Server bzw. die anderen Clients ist möglich. So kann der Spieler von seinem Client vorgeben lassen, sich plötzlich an einer ganz anderen Stelle zu befinden („Teleportieren“). Dies setzt jedoch voraus, dass der Server die von den Clients erhaltenen Informationen über Position, abgegebene Schüsse und ähnlichem nicht oder nur unzureichend auf mögliche Inkorrektheit hin überprüft.
Die Manipulation der Spielgrafik kann dem cheatenden Spieler auf vielfältige Weise Vorteile verschaffen.
Fast immer ist die Technik hinter der Manipulation die gleiche. Bedingt durch technische Einschränkungen und Schutzmaßnahmen des Betriebssystems kann ein Cheat nicht ohne weiteres auf den Bildschirm zeichnen und nur sehr eingeschränkt auf die Zeichnungen eines Spiels zugreifen.
Um die Grafik dennoch analysieren, verändern und sogar anreichern zu können, lenken Cheats die Grafikdaten, die eigentlich direkt über den Grafiktreiber zur Grafikkarte gesendet werden sollten, zu sich selbst um. So bekommt der Cheat Zugriff auf die Grafikdaten und kann sie nach der Manipulation selbst zum Grafiktreiber senden.
Folgende Cheats arbeiten mit dieser Technik:
Ein Maphack ist ein populärer Cheat, der es in Echtzeit-Strategiespielen ermöglicht, die normalerweise nicht vollständig sichtbare Spielkarte gänzlich aufzudecken. Dies verschafft dem Spieler einen unfairen Vorteil gegenüber den anderen Spielern, da er in der Lage ist sämtliche Aktionen im Spielgeschehen zu verfolgen, die anderen Spieler hingegen weiterhin nur alles in ihrem vom Spiel festgelegten Sichtbereich sehen können. Maphacks gab und gibt es in verschiedenen Ausführungen häufig für beliebte Spiele des Strategiespielgenres, insbesondere bei Spielen wie Warcraft 3 oder StarCraft.
Multihacks sind ein Paket aus vielen verschiedenen Hacks, die alle gleichzeitig eingesetzt werden können, um dem Spieler so den ultimativen Vorteil zu verschaffen. Sie sind nötig, da viele Cheats in Kombination bedingt durch ihre Funktionsweise Konflikte auslösen und möglicherweise nicht funktionieren.
In dieser Variante der Cheats werden beim Erstellen des Spielstands einfach Namen eingegeben, die z.B. unendliche Munition bewirken. Diese Methode benötigt einen kompletten Neustart des Spielstands, da man diese Cheats meist nicht auf laufende Spiele anwenden kann.
In den meisten Spielen sind absichtlich bestimmte Cheats als Testfunktionen integriert. Hiermit können Spieleentwickler beispielsweise während der Entwicklung eines Levels verschiedene Details testen, ohne dabei jedes Mal ein reguläres Spiel starten zu müssen. Diese Cheats können in der Regel auch von Spielern im Einzelspielermodus genutzt werden, falls eine bestimmte Stelle im Spiel zu schwer erscheint. Derartige Cheats sind in den meisten Fällen im Mehrspielermodus deaktiviert und nicht zur Nutzung durch die Spieler vorgesehen, können zu Testzwecken aber je nach Spiel und Einstellung auch dort aktiviert werden.
Einige häufig auftretende Entwicklercodes sind:
Bekannte oder bedeutende Cheat-Codes:
Es kommt häufig vor, dass Programmierer bewusst Cheatmöglichkeiten in ihre Spiele einbauen; oftmals einfach aus Spaß oder auch um es ungeübten Spielern leichter zu machen, das Spiel durchzuspielen. Auch für das Spielebalancing finden Cheats Verwendung. Meist werden diese Cheats durch die Eingabe bestimmter Zeichenfolgen über die Tastatur oder – bei Konsolenspielen – über das Gamepad aktiviert.
Die Cheat-Möglichkeiten äußern sich häufig so, dass der Spieler durch solche Cheat-Codes neue Level, Spielfiguren, Waffen oder Vehikel freischalten kann. Cheat-Codes, die lustige, aber keinen Vorteil verschaffende Dinge freischalten (zum Beispiel ein Foto der Entwickler oder einen Mülltransporter in einem Rennspiel), sind im eigentlichen Sinne keine Schummeleien und werden als Easter Eggs bezeichnet.
Beispiel für 2: Beispiel-Programme sind PunkBuster und Cheating-Death, die auf dem Rechner des Multiplayer- bzw. Onlinespielers installiert sein müssen, damit er an einem Spiel teilnehmen kann. Der Spielserver lässt nur Spieler zu, auf deren Computer das entsprechende Programm gestartet ist. Wird entdeckt, dass ein Spieler cheatet, so wird er vom Server entfernt. Da das Programm lokal auf dem entsprechenden Rechner läuft, kann es nach den bekannten Cheattechniken Ausschau halten und bei Bedarf Alarm schlagen. Es ist eine effektive Methode, Cheaten zu unterbinden, die auch von verschiedenen Spieleentwicklern unterstützt wird. Durch geeignete Gegenmaßnahmen lassen sich jedoch auch solche Programme wiederum aushebeln. Das Szenario ist hierbei etwa mit Computerviren vergleichbar, ein stetiges Hin und Her zwischen Entwicklern und Cheatern [1].
Die Entwickler von Blizzard Entertainment haben ein Clientmodul namens „Warden“ (englisch für Wächter) entwickelt, welches regelmäßig Daten wie beispielsweise die Namen der Programmprozesse im Arbeitsspeicher und andere Daten an den Server übermittelt. Bei jeder Aktualisierung der World of Warcraft-Clientsoftware wird auch der Warden verändert und jedes Zugangskonto ist mit einer anderen Version des „Warden“ verknüpft. Nicht allen Entwicklern von Cheats gelingt es immer rechtzeitig, sich an solche Neuerungen anzupassen und so konnte das Unternehmen zum Teil große Erfolge beim Erkennen und Sperren von Cheatern vorweisen – auf Kosten der Privatsphäre aller Nutzer. Der „Warden“ späht nämlich nicht nur Speicherbereiche und CPU-Prozesse aus, welche ausschließlich für die Spielesoftware relevant sind, sondern alle. Zwar sendet der Client die gesammelten Informationen nicht im Klartext an den Server, doch wird hier offensichtlich die Privatsphäre verletzt. In der Nutzungsvereinbarung muss der Spieler sein Einverständnis erklären oder auf das Spiel verzichten. Dass Millionen von Spielern freimütig in ihren Rechten eingeschränkt werden, führt aber nicht zwangsläufig zu einer cheatfreien Spielwelt. Intelligente Gegenmaßnahmen passen sich an die unterschiedlichen Wächterversionen an, gaukeln dem Schutzprogramm vor, dass sich alles innerhalb normaler Parameter befindet, scannen ihrerseits die Wardensoftware und entfernen sich und die Cheatprogramme selbsttätig aus dem Arbeitsspeicher, sobald eine unbekannte Version des Wächtermoduls erkannt wird. Diese Anti-Anti-Cheat-Software ist für gewöhnlich nicht kostenlos erhältlich.
<ref>
-Tag. Der Name „rebell_at“ wurde mehrere Male mit einem unterschiedlichen Inhalt definiert. Referenzfehler: Ungültiges <ref>
-Tag. Der Name „rebell_at“ wurde mehrere Male mit einem unterschiedlichen Inhalt definiert.