Sammelthread zum Thema Bots in Classic

Oder für neue Spieler. :wink:
Selbst wenn man wirklich gegen Bots vorgehen möchte, darf man sich nicht dazu verleiten lassen, das Spiel an die Bots anzupassen. Bots sind ein Störfaktor, aber im Mittelpunkt steht der Spieler.

Mh … wenn ich mir das so überlege … im Endeffekt ist Botten doch das Ziel aller WoW-Spieler!

Wir versuchen uns doch zu optimieren, so gut es geht: Im UI so wenig ablenkendes Geschnörkel wie möglich, mit so wenig Anzeigen wie möglich alle nötigen Informationen erhalten, so wenig Klicks/Tastendrücke wie möglich machen, um das optimale Ergebnis zu erzielen, anstatt hintereinander Pet: Angreifen und dann Mal des Jäger zu aktivieren schreibt man lieber ein Makro, welches das mit einem Klick erledigt. Jedes Mod soll unsere Spielweise ein wenig effektiver machen, die Rotation soll so perfekt wie nur möglich sein …
das bedeutet, daß wir erst in dem Moment, wo wir anfangen zu botten unsere Spiel-Optimierung perfektioniert haben!

Keine Klicks, keine Tastendrücke, trotzdem das gewünschte Ergebnis … MinMaxen in höchster Vollendung! :wink:

Wer erwartet das denn?

Jede professionelle Software spezifiziert Minimalanforderungen. Das ist das System/DieSysteme auf denen der Hersteller der Software garantiert dass sein Produkt läuft.

Wenn man versucht es auf einer anderen Plattform laufen zu lassen ist man auf sich allein gestellt. Das ist jedem Techniker nicht nur vollkommen klar, sondern für unsereiner sogar die willkommene Herausforderung :wink:

Edit:
„auf sich allein“ stimmt natürlich nicht ganz…man kann, grade im Linux-Umfeld, immer auf die Hilfe der Community bauen, denn irgendwer hat es schon vor einem probiert :sunglasses:

So würde ich das jetzt nicht sagen. Ich würd auch nochmal 60 Euro zahlen, wenn ich dafür einen offiziellen Linux-Client bekäme. Spieler mit VMs und Emulatoren generell kriminalisieren zu wollen ist ein diktatorischer Gedanke.

Nenne doch mal einen erfolgreichen Bot der so Arbeit.
Ich kann dir sagen das die erfolgreichsten es nicht tun. Schau dir den letzten Bot-Entwickler an der von Blizzard auf 8,6 Millionen Dollar Schadensersatz verklagt wurde und wie der Bot aufgebaut war.
Welcher Bot in WoW über Audio-Analyse läuft, darauf wäre ich auch gespannt, damit kannst du eventuell einen Bot für Guitar Hero schreiben, aber für WoW eher schwierig.
Screengrabbing ist möglich, allerdings müssen dafür die Keybinds stimmen, die Auflösung immer identisch sein, und der Bot muss idealerweise immer im Vordergrund laufen, wodurch man gezwungen wird für mehrere Bots gleichzeitig mit mehreren VMs zu arbeiten. Viele Addons etc. wären auch Tabu, das macht das ganze für komplexe Sachen einfach unpraktisch.
Wie erkennt ein Bot per Screengrabbing beispielsweise Pats in Instanzen? Indem er Pixel scannt? Wie gut funktioniert das sobald du die Texturen auf eine andere Stufe stellst als die vom Entwickler angedachte?

So ziemlich alle funktionieren so. Und zwar aus gutem Grund: Wie Evabaum weiter oben schon beschrieben hat sind solche Bots einfach zu schreiben, einfach zu testen, und für die meisten Anwendungsfälle komplett ausreichend. Da braucht es weder grossartige C++ Kenntnisse, noch reverse-Engineering des Clients. Simple Scripting-Kenntnisse, und der Wille sich in ein paar Tutorials zum Thema DirectX einzulesen reichen schon.

Zudem sind sie wesentlich schwerer zu entdecken.

Ein Programm dass in den RAM des Clients eingreift kann sich erstmal alle möglichen Tricks einfallen lassen um WARDEN zu umgehen (der genau dagegen entwickelt wurde). Klappen diese nicht, oder wird WARDEN geändert, setzt es nen Ban bevor man „Cheater“ sagen kann.

Ein Programm dass dagegen Keystrokes simuliert und bestimmte Pixel aus dem Screenbuffer beobachtet? Das wird schwer, besonders weil viele Programme die genau das tun,auch für ganz legale Zwecke auf Clients installiert sein können (Screencapture Software und Eingabehilfen zB.).

Warum sollte man eine Mondrakete bauen, wenn man nur zum Laden um die nächste Ecke will um Milch zu holen?

Aha, interessant. Ich wusste gar nicht dass es Statistiken zum Erfolg von Bots gibt.

Die Herrschaften aus Zwickau wurden nicht auf 8.6 Mille verklagt weil ihre Bots so toll wären, sondern weil diese kommerziell angeboten wurden.

Screengrabbing ist möglich, allerdings müssen dafür die Keybinds stimmen

Was zum Teufel haben die Keybinds mit Screengrabbing zu tun? Glaubst du die Bots drücken „Print“ und starten dann MS Paint, oder was?

die Auflösung immer identisch sein

Das ist sie ja auch, oder ändert sich deine Auflösung spontan? Jemand der so einen Bot schreibt sorgt normalerweise auch dafür dass dieser konfigurierbar ist. kA woher deine Kenntnisse in der Softwareentwicklung stammen, aber niemand der weiss was er tut würde solche Parameter hardcoden…

und der Bot muss idealerweise immer im Vordergrund laufen

Ähhh…nein?
Eine Screegrabbing software wie sie zB. von Streamern verwendet wird um ihr game zu streamen läuft auch nicht im Vordergrund…

Wie erkennt ein Bot per Screengrabbing beispielsweise Pats in Instanzen?

Auf dieselbe Weise wie ich bei Speedruns in Super Mario Bros. den Koopa-Troopas ausweiche: Indem von vornherein klar ist wo sie sind, wohin sie sich wie schnell bewegen, und wann ich welche Taste drücken muss um ihnen auszuweichen.

1 Like

Da mir die Diskussion hier zu müssig ist, und jeder der sich für das Thema generell interessiert dazu in Google 1000 Ergebnisse findet, inkl. der Vor- und Nachteile der verschiedenen Methoden klinke ich mich hier mal aus.
Ich will dir auch nicht deine Kompetenz absprechen, die ist ja zweifelsfrei vorhanden, mir kommt es eher so vor als unterschätzt du die Variablen in WoW sobald es etwas komplexer wird.

Das ist von der Komplexität doch absolut nicht zu vergleichen. Super Mario Bros verhält sich immer gleich, in WoW bist du nicht immer gleich schnell, ein bisschen Crit Luck, ein Stun für dich zuviel, ein Slow oder was auch immer und du bist in der WoW Instanz eine Sekunde zu schnell oder langsam bei der Pat, dann stimmt die Route des Bots schon nicht mehr, bzw die Pat ist woanders als er es erwartet.
Ein stinknormaler WoW Instanz Run hat deutlich mehr Variablen als ein Super Mario Level, da kannst du anders als bei einem Tool-assisted Speedrun oder ähnlichem nicht einfach Frame X den Keystroke Y zuordnen, da du dich bei 10 Versuchen bei Frame X jedes mal woanders befinden wirst.

1 Like

Das ist auch besser so, denn du machst dich lächerlich. Du magst ja googlen können, aber dass du keine Ahnung hast, wovon du redest, ist dennoch offensichtlich.

1 Like

WoW auch.

eine Sekunde zu schnell oder langsam bei der Pat

Ja, und dafür wurde sowas wie eine Uhr erfunden. Der Bot weiss wie lange er schon in der Instanz ist. Wenn ich die Laufwege der Pats und ihren Startpunkt kenne, dann kann ich für jeden Punkt T(sec) bestimmen wo sich die Pat gerade befindet. Wenn ich 16sec länger brauche als vorher, muss ich eben zb. mit T+27 statt T+11 rechnen.

Wie heisst es so schön in Hunt for Red October: „Keine Sorg Vasili. Gib mir eine Stoppuhr und eine Karte, und ich fliege durch die Berge in einem Flugzeug ohne Fenster.“

1 Like

Nichtmal das unbedingt. Sowas ist in der Regel schon von irgendwem in einer Library abstrahiert worden. Es gibt beispielsweise für Python gleich mehrere Libraries die den Aufwand fürs Screengrabbing auf eine Zeile runter brechen und das sogar plattformübergreifend.

Das wäre eine Möglichkeit. Aber ja, selbst dieses Problem könnte man mit Screengrabbing lösen. Wenn ich meinen Kamerawinkel, meine Mausposition, die Positionen von verschiedenen Spells mit unterschiedlichen Reichweiten und die Postion des Tooltips kenne, kann ich damit auch dynamisch herausfinden in welche Richtung und auf welcher ungefähren Entfernung sich welche Mobs befinden.

WoW macht es einem da auch noch zusätzlich leichter, weil man sich ein Addon schreiben kann, was gewisse Informationen einfach aufbereitet.

Richtig und genau da ist ein Schwachpunkt. Meinst du Blizz kann sowas nicht filtern ? Die kennen einfach alle bekannten Addons scannen die und stellen bei einem fest kennen wa nicht = flag. Danach wird manuell überprüft. Das Problem vor dem Blizz steht ist doch, zu wenig finanzieller Aufwand zum testen der Botschreiber und es gibt momentan wahnsinnig viele unterschiedliche. Die meisten sind zwar supergimpig aber halt 10 Minuten später wieder da.

Dir is schon klar dass man mit dieser superschlauen Idee auf einen Schlag die Entwicklung neuer Addons abwürgen würde?

Bei solchen Beiträgen muss ich mir immer wieder vor Augen halten wie schlecht der Informatikunterricht im DACH raum ist, sonst müsst ich mir aufs Hirn fassen.

Blizzard kann sowas defakto nicht filtern. Sie könnten irgendwann höchstens die API so weit einschränken, dass man damit wirklich nichts mehr machen kann, was auch nicht Sinn der Sache ist. Ich kann auch ganz einfach hergehen und mit Weakaura alle Infos irgendwo hin rendern, die ich möchte. Ich kann mir sogar auch Makros schreiben, die mir Infos auf dem Bildschirm rendern. Das kann und wird Blizzard weder alles scannen, noch irgendwie von Hand überprüfen. Die „Macht“ haben sie über solche Funktionen nur auf Ebene der API.

Deswegen sagte ich eh schon, dass ich bezweifel, dass Blizzard wirklich gute Möglichkeiten zur Erkennung solcher Bots hat. Wie gesagt: es gibt eigentlich nur zwei halbwegs effektive Mittel, die bis heute gegen Bots erfunden wurden: Honeypots oder Captchas. Letzteres will niemand, weil es nervig ist und die Immersion bricht und ersteres kann man schlecht gegen Bots in einem Online Spiel verwenden, ich hätte dazu jedenfalls keine Idee.

Also bleibt ihnen nichts anderes übrig als ihrem Erkennungsalgorithmus einfach immer neue bekannte Bots bei zu bringen und eventuell die ein oder andere Heuristik laufen lassen, die mit Sicherheit, wenn überhaupt, nur den aller letzten Murks erkennt. Ansonsten sind sie darauf angewiesen, dass Leute die Botuser melden und möglichst wenig Falschmeldungen machen, damit sie die Fälle tatsächlich untersuchen können. Und auch das ist natürlich alles andere als Bulletproof.

Ja, stimmt schon… wobei man ehrlich gesagt nicht erwarten kann, dass jemand, der offensichtlich keine Ausbildung in die Richtung genossen hat, viel von den hier besprochenen, doch sehr technischen Dingen versteht. Ich finde es nur erstaunlich wie viele Leute hier im Forum ständig auf ihrem Halbwissen beharren. Wenn ich keine Ahnung von etwas habe, dann sag einfach ganz klar wo mein Wissen aufhört und wo Vermutungen anfangen.

Wie hat es Dieter Nuhr nicht so schön gesagt?

„Aber ne Meinung haben ja alle, nicht wahr? Ich glaube ja, das ist damals falsch verstanden worden, mit der Demokratie: Man DARF in der Demokratie eine Meinung haben, man MUSS aber nicht…und das wär ganz wichtig dass sich das mal rumspricht. Wenn man keine Ahnung hat…einfach mal F_ halten.“

Wahre Worte :wink:

Ja, das waren noch Zeiten. Seit seine Auftritte mehrheitlich aus rechtspopulistischer Propaganda bestehen, wünscht man sich, er würde sich den eigenen Rat auch selbst mal zu Herzen nehmen.

2 Likes

Ja, is schade drum…wir haben hier in Österreich auch so machen Künstler der entweder ins eine oder ins andere Eck abgeglitten ist.

?? Ein Flag ist kein Bann du Genie, ein Flag ist nur ein Flag und man wird halt überprüft, wo soll da das Problem sein. Es werden eh fast alle Flags nochmal manuell überprüft.
Zum letzten Teil,
1.) Weißt du doch nicht ob du überprüft wirst, also weiß es der Addonentwickler auch nicht, warum sollte das die Entwicklung der Addons behindern ?
2.) von deinem mangelnden Textverständnis auf meinen Informatikunterricht zu schließen finde ich sehr gewagt.

Warum können sie die nicht filtern ?

?? Ein Flag ist kein Bann du Genie

Eine Anzeige ist auch keine Verurteilung. Trotzdem bin ich sicher dass du dich nicht besonders wohl fühlen würdest wenn dich irgendwer wegen eines Verbrechens anzeigt, dass du gar nciht begangen hast.

Weil man kein Addon braucht um die API anzusteuern. Alles was im Code eines Addons passiert, kannst du auch im Chat eingeben.

Willste jetzt jeden Flaggen der sich zB. eine Geschätzte Berechnung der Ehrenpunkte per Makro ausgeben lässt? Von diesen LUA-Makros gibts Tausende, und jeden Tag werden neue geschrieben. Da gibt es keine EInteilung in „bekannte“ und „unbekannte“

Die Frage zeigt auch sehr deutlich warum du vom Mitreden bei solchen DIskussionen abstand nehmen solltest. Du weisst nicht wie Addons funktionieren, du weisst auch nicht wie die Client API funktioniert, was sie kann, oder wie die Entwicklung eines Addons abläuf.

Und obendrein scheinst du zu glauben dass Blizzard zigtausende Mitarbeiter zur Verfügung hat, um Millionen von „Cheat-Flags“ manuell zu überprüfen, die so ein nutzloses Flagging system aufwerfen würde.

1 Like

ich habe von dem ganzen Quark hier wirklich 0 Ahnung, absolut Zero.

Finds trotzdem interessant und habe daher alle 158 beiträge gelesen.

eine offtopic frage habe ich da aber mal.

Ist das von dir geschrieben auch der Grund wieso ich mit nem bekannten elendig langen Makro-Scrit-/blahblah-gedöhns ingame schauen kann ob ich zum Beispiel schon eine quest erledigt habe, ohne das dieses spiel die Information sonst irgendwo irgendwie rausgibt ?

Das kannst du doch gar nicht vergleichen, du weißt von einem Flag gar nichts. Meldet Blizz ja nicht an, es gibt so viele Vermutungen und überprüfung.

Chat wird auch überwacht da gibts mit Sicherheit schon FIlter. Denn du benötigst ja nicht nur einen Befehl pro Minute um nen Bot zu steuern, da kommt ja schon mehr, dazu kommt das es eh sehr ungewöhnlich wäre. Möglich ist vieles, sinnvoll weniges.

Na die Befehle dafür sind natürlich völlig gleich :smiley: und können nicht gefiltert werden.

Schaffst du das auch ohne latente Beleidigungen ?

Genau das ist die Herausforderung, du kannst halt nur auf 2 Wegen auf die APi zugreifen, bei den derzeitigen Bots. Chat und Addon, zu filtern was für die Steuerung eines Bots nötig ist und was nicht, dürfte nicht mehr als Fleißarbeit bedeuten.

Ich denke 80 % sind realistisch übers profiling erreichbar.