mmofacts.com

Schutz gegen Cheater

gepostet vor 15 Jahre, 10 Monate von omarius

Hallo zusammen,

habe folgendes Problem, leider in der Suche nichts gefunden, vllt könnt ihr mir helfen:

Es gibt user die scripts schreiben, und diese per cronjob oder sonstwie in regelmäßigen zeitabständen, spielen lassen. Für mich gilt das natürlich als cheaten. Wenn man zB nachts schlafen geht und währenddessen macht das Script alles für dich. Und die ehrlichen Spieler kommen nicht mehr mit.

Deswegen will ich mein Game dagegen schützen. Technisch.

Habt ihr eine gute Idee wie man effektiv dagegen vorgehen kann?

danke im voraus

gepostet vor 15 Jahre, 10 Monate von buhrmi

Standardlösung sind in den Spielfluss eingebaute Captchas. Wenn du uns verrätst, an welchen Stellen im Gamekonzept sich die Bots bemerkbar machen, können wir dir vielleicht auch Änderungen am Konzept vorschlagen, die Botting unmöglich machen.

gepostet vor 15 Jahre, 10 Monate von Nerosmeel

Etwas was in meinen Augen etwas gegen Bots schützt ist wenn du in jedes Forumlar nen Hiddenfield stetzt und da einen Timestamp, evt auch verschlüsselt, packst und dann die Zeit misst die man zum Ausfüllen des Form braucht.

Klar auch das kann man umgehen aber es ist ein anfang, mir sind schon genug Bots untergekommen die an sowas scheitern.

gepostet vor 15 Jahre, 10 Monate von DrakeL

Original von omarius

Hallo zusammen,

habe folgendes Problem, leider in der Suche nichts gefunden, vllt könnt ihr mir helfen:

Es gibt user die scripts schreiben, und diese per cronjob oder sonstwie in regelmäßigen zeitabständen, spielen lassen. Für mich gilt das natürlich als cheaten. Wenn man zB nachts schlafen geht und währenddessen macht das Script alles für dich. Und die ehrlichen Spieler kommen nicht mehr mit.

Deswegen will ich mein Game dagegen schützen. Technisch.

Habt ihr eine gute Idee wie man effektiv dagegen vorgehen kann?

danke im voraus

Gegen gezieltes Cheaten kannst du wenig machen, nur die Hürden kannst du höher setzen (bei Captchas natürlich auch für die Benutzer, nicht nur für die Bots). Ansonsten dürftest unter dem Thema "Botschutz" doch genug finden.

Ein alternativer Ansatz hat buhrmi schon angedeutet: Wenn dein Spielkonzept bzw. Teile davon sich so einfach durch automatische Dinge steuern lässt solltest du entweder das Spielkonzept anpassen oder diese Automatismen selbst anbieten.

Zum Beispiel das Zusammentragen der Rohstoffe von dutzenden Kolonien wo einfach nur dumm geklickt werden muss um jeden Tag von jeder Kolonie ein Rohstofftransport zu machen. Wenn du solche Dinge hast, biete selbst Automatismen an.

Natürlich sollte der Benutzer trotzdem noch genug Entscheidungen haben, dass nicht alles Automatisiert ist, sonst geht der Spielspaß irgendwann verloren wenn der Benutzer nichts mehr machen kann. :)

gepostet vor 15 Jahre, 10 Monate von rami95

Bei Gangstertime hatte ich tatsächlich schon Bots (meist klicksimulierende Programme auf einem Userrechner z.B. GhostMouse etc.), die so "blöd" waren, in exakt regelmäßigen Abschnitten zu klicken (z.B. immer um XX:XX:11). Sowas kann man auch automatisiert schnell finden. Ansonsten den User nachts anschreiben. Wenn jemand alle 11 Minuten klicken kann, aber keine PMs bemerkt, finde ich das sehr verdächtig. Aufschluss über identische Abfolgen können auch Serverlogs geben.

Volkstümliche CAPTCHAs sind auf die Dauer recht nervig (siehe u.a. SchülerVZ), CAPTCHAs, bei denen man in einen nicht geschlossenen Kreis klicken muss u.ä. sind extrem leicht geknackt (haben ein Bekannter und ich aus Spaß mal ein PHP-Skript geschrieben das mit hoher Wahrscheinlichkeit die CAPTCHAs von [bekanntes-obdachlosenspiel].de knackt).

Der einzig wirksame Schutz ist wie bei Multiaccounting: Erlauben oder inattraktiv machen.

gepostet vor 15 Jahre, 10 Monate von Kallisti

Original von Nerosmeel

Etwas was in meinen Augen etwas gegen Bots schützt ist wenn du in jedes Forumlar nen Hiddenfield stetzt und da einen Timestamp, evt auch verschlüsselt, packst und dann die Zeit misst die man zum Ausfüllen des Form braucht.

Klar auch das kann man umgehen aber es ist ein anfang, mir sind schon genug Bots untergekommen die an sowas scheitern.

Dergleichen ist absoluter bullshit. Damit haelt man niemanden ab, im Gegensatz, man motiviert die Scripter eher noch. Das ist pure security by obscurity und hilft gar nicht weiter, ausser dass es danach schreit bei diversen normalen Usern Probleme zu bringen, weil irgendein Cache, altes Tab oder Privacy-/Antivirensoftware dazwischenfunken.

Natuerlich scheitern die ersten Bots daran, aber die scheitern eben auch an anderen Dingen. Wer ein Captcha knacken kann, fuer den sind dergleichen Massnahmen absolut laecherlich und lediglich weiterer Ansporn.

Imho fuehrt an einem Captcha und Log Analyse auf Basis von Heuristiken kein Weg vorbei. Ich kenne kein kompetatives Browsergame, in dem man keine Vorteile durch Bots erlangen kann, ausser die Menge an Handlungen ist extrem limitiert und man muss auf nichts reagieren, aber dann reizt mich ein Spiel nicht.

gepostet vor 15 Jahre, 10 Monate von mar1us

Original von Kallisti

Imho fuehrt an einem Captcha und Log Analyse auf Basis von Heuristiken kein Weg vorbei. Ich kenne kein kompetatives Browsergame, in dem man keine Vorteile durch Bots erlangen kann, ausser die Menge an Handlungen ist extrem limitiert und man muss auf nichts reagieren, aber dann reizt mich ein Spiel nicht.

Also ich denke, deine Aussage bezieht sich in erster Linie auf das Gerne der Aufbauspiele, wo es immer ein Vorteil ist, einen Bau- /Forschungsauftrag nach dem nächsten durchzuführen, bezieht. Aber z.B. bei einem BG wie meinem (s. Signatur), bei dem man ein Fussballteam leitet, bringt ein Script eigentlich gar nix.

gepostet vor 15 Jahre, 10 Monate von TheUndeadable

Abgesehen davon emulieren gute Bots keinen Browser, sondern steuern direkt einen Browser fern:

Als Beispiel:

http://www.codeproject.com/KB/vb/kirangoka.aspx

Gegen diese Art von Bots bist du nahezu machtlos. Es sei denn du baust Captchas und andere Dinge ein, die aber von der Spielerschaft im Regelfall nicht angenommen wird.

Abgesehen davon kann man mit Hilfe eines Bot-Netzwerkes und eines Captcha-Abnickers dieses Problem auch umgehen.

gepostet vor 15 Jahre, 10 Monate von knalli

Tokens in (wichtige) Formulare baut man nicht wegen Bots ein.. man baut die der Sicherheit wegen ein!

gepostet vor 15 Jahre, 10 Monate von Drezil

Original von knalli

Tokens in (wichtige) Formulare baut man nicht wegen Bots ein.. man baut die der Sicherheit wegen ein!

naja.. mit XSS (und vllt. auch mit CSRF) + ajax kann man das auch locker umgehen ..

ich sag dazu nur "but most of all, samy is my hero" :D

gepostet vor 15 Jahre, 10 Monate von Dunedan

Original von Drezil

naja.. mit XSS (und vllt. auch mit CSRF) + ajax kann man das auch locker umgehen ..

Und ich dachte die baut man zum Schutz vor CSRF ein. ;-)

gepostet vor 15 Jahre, 10 Monate von omarius

super jungs, danke für eure Antworten

Ich hab mal geschaut was die Bots machen, es geht fast immer um Einheiten ausbilden.

Wahrscheinlich löst sich das Problem sobald man mehrere Einheiten in einer Queue ausbilden kann, bin bisher noch mit anderen dingen beschäftigt gewesen.

Sonst ist mein Spiel eigentlich so gemacht, dass man keine Bots braucht.

gepostet vor 15 Jahre, 10 Monate von knalli

Original von Dunedan

Original von Drezil

naja.. mit XSS (und vllt. auch mit CSRF) + ajax kann man das auch locker umgehen ..

Und ich dachte die baut man zum Schutz vor CSRF ein. ;-)

Aber nicht unbegrenzt automatisch, Stichwort Origin Policy. > Anderes Thema.

@Op: Naja, könnte aber sein, dass die Bots dann auf Queue-Building umsteigen. Solltest du dann weiter beobachten.

gepostet vor 15 Jahre, 10 Monate von Kallisti

Original von mar1us

Also ich denke, deine Aussage bezieht sich in erster Linie auf das Gerne der Aufbauspiele, wo es immer ein Vorteil ist, einen Bau- /Forschungsauftrag nach dem nächsten durchzuführen, bezieht. Aber z.B. bei einem BG wie meinem (s. Signatur), bei dem man ein Fussballteam leitet, bringt ein Script eigentlich gar nix.

Nein, ich beziehe mich wirklich auf jegliche Spiele in denen man im Wettbewerb steht und die Möglichkeit hat mehr zu tun als zu chatten (etwas übertrieben ausgedrückt).

In den meisten Sportspielen kann man beispielsweise trainieren. Und wenn das Spiel es erlauben soll durch Können und Wissen besser zu sein als andere (was imho ein Spiel tun sollte, da es sonst keinen Mehrwert gegenüber einem Chat hat), dann muss es Wege geben, um diese Vorteile zu erlangen. Und ich kenne eben kein Spiel in dem sich das nicht automatisieren lässt, außer vielleicht etwas komplexes und perfektes wie Go - und auch da wird es irgendwann kommen.
Und selbst wenn das Script nur im großen Stil Datamining macht und es dann erlaubt aufgrund einer großen Datenbank die Spielmechanik zu analysieren und Vorteile daraus zu schlagen, ist das ein Anwendungsbeispiel für Bots.

Auch wenn die Scripts nicht wie in Undeadables Beispiel den Browser steuern, ist die Intelligenz in http mechanizing libs mittlerweile extrem weit und man kann so Kinderkacke wie tokens mit einer Zeile Code umgehen oder beispielsweise einfach sagen "schick das erste Formular auf der Seite ab und trag vorher Name und Passwort ein". Ich glaub einige haben echt eine falsche Vorstellung wie extrem simpel scripting geworden ist.

Klar kann man Captchas verteilt lösen lassen und man kann auch für ein paar Euro / 1k Captchas Leute einkaufen, die das machen, aber dafür muss ein kommerzielles Interesse dahinter stehen und einiges mehr an krimineller Energie, als das durchschnittliche Scriptkiddie an seinem Schreibtisch aufbringen kann und will. Und gerade die captcha pr0n proof of concept Sache ist sicher kein Argument, dass Captchas nutzlos sind. Es hat nun einmal nicht jeder eine gut besuchte pr0n Seite an der Hand und man kann ja in das Captcha die echte URL schreiben.

gepostet vor 15 Jahre, 10 Monate von knalli

Wie gesagt: Tokens sind aus anderen Gründen unerlässlich. Und diese anderen Gründen tangieren zumindestens noch nicht mit Bots, können aber kriminellen Ursprung haben (je nach Sichtweise).

Scripting ist natürlich einfach, man schaue sich nur mal Greasemonkey ein. Gibt's auf der ersten Seite der Userscripts haufenweise Material für Travian, komplette Maps und so weiter (ich kenn das Spiel nicht, aber trivial ist das ganze nicht).

Ansonsten ist Kallistis Post sehr, sehr schwarz... :|

gepostet vor 15 Jahre, 10 Monate von Kallisti

Schon klar mit den Tokens, ich bezog mich ja auch nicht auf dich. :) Wobei man bei Tokens imho sehr aufpassen sollte, dass man tabbed browsing nicht killt. Aber das gehört nicht hierhin. CSRF ist schon ein kritisches Thema, erfordert aber natürlich auch einige Voraussetzungen, um exploited zu werden und ist daher ziemlich speziell.

Das wirklich Wichtige ist nur, dass man sich niemals auf den Kampf gegen Windmühlen einlässt und nicht anfängt Pseudomaßnahmen zu implementieren, wie wechselnde Formularfeldnamen, hidden fields und dergleichen. Es gibt für das Ego eines Scriptes nichts schöneres als Hürden über die man mit Genuss und Leichtigkeit springt. :P Das ist quasi gelebte Selbstbestätigung (und genau die suchen die meisten Scripter und Cheater ja an erster Stelle) und das Gegenteil von dem was man erreichen möchte.

Erst einmal sollte man natürlich versuchen extrem triviale Aufgaben möglichst aus dem Spielkonzept zu tilgen, wie der Threadersteller es mit einer Build-Queue bereits schreibt. Das ist niemals vollständig möglich, reduziert aber die Effektivität von Bots schon einmal ein wenig und erfordert weit mehr Arbeit.

Ich tendiere momentan dazu ein Captcha zu schreiben das 3-4 Bilder anzeigt, die jeweils mit diversen Imagemagick filtern gemorpht / verzerrt / verfärbt werden und dann eben eine Frage dazu ala "welches Bild zeigt den Elefanten?" - oder die Katze, für die Fetischisten hier im Forum... Oder umgekehrt ein Bild zeigen und multiple choice antworten, was darauf ist. Wenn die Filter gut gewählt sind, ist das imho ziemlich sicher, Botuser fühlen sich erst sicher, weil sie mit 25% Success Rate reinkommen, können aber anhand der Erfolgsrate eben sehr schnell gebannt werden. Für Mailprovider oder so ist so etwas natürlich nicht brauchbar, da ist selbst 1% vernichtend, aber in einem Spiel ist es kein Thema. Und vor allem kostet es den User kaum Zeit (ein Mausklick) und man kann das Captcha problemlos alle 1-2 Stunden einblenden und neu lösen lassen.

Ist keine neue Idee, aber imho die eleganteste Lösung. Dazu dann eine Logging Datenbank für jede kritische Aktion, die dann regelmäßig mit versch. Algorithmen und einem Scoring System ausgewertet wird hinsichtlich Multi- und Scripting Heuristiken.

Das sollte so das beste sein, was man machen kann.

gepostet vor 15 Jahre, 10 Monate von Fodazd

@Kallisti:

Nein, ich beziehe mich wirklich auf jegliche Spiele in denen man im Wettbewerb steht und die Möglichkeit hat mehr zu tun als zu chatten (etwas übertrieben ausgedrückt).

Da bin ich anderer Meinung. Betrachte es mal so: Welche Aufgaben kann dir ein Bot eigentlich erleichtern?

1. Onlinezeit:
Wenn man in einem Spiel einen Vorteil dadurch erhält, wenn man ständig online ist, dann liegen die Vorteile eines Bots auf der Hand... Wenn das nicht der Fall ist (z.b. weil man seine offline-Aktivitäten schon im Vorhinein festlegen kann, z.b. durch Baulisten), dann bringt der Bot hier keinen wirklichen Vorteil.

2. Reaktionsfähigkeit:
In einem Spiel, wo schnelle Reaktionszeiten und genaues Timing von Nöten sind, ist ein Bot überaus nützlich... Wenn es sich aber um ein ruhiges Runden/Ticksystem handelt, kann der Bot hier nicht weiterhelfen.

3. Optimalstrategie:
Ein Bot kann in einem Spiel, wo es um das Finden einer optimalen Strategie/Buildorder/Kampftaktik geht sehr viel Denkzeit sparen... Wenn solche Dinge aber nicht von zentraler Bedeutung (Bzw. durch Selbstregulierung ausbalanciert) sind, dann bringt er nix.
*Mal ganz davon abgesehen, dass ich darin kein Problem sehen würde... Gibt ja schließlich auch gute Spieler, die ihre Strategie freiwillig weitersagen.*

4. Mechanikanalyse:
Versteckte Spielmechanik kann von einem Bot aufgedeckt werden - daraus lassen sich unfaire Vorteile schlagen... Was aber vollkommen egal ist, wenn sie Spielmechanik von vornherein offen gelegt ist.
*Ehrlich: Ich halte versteckte Spielmechanik ohnehin für keine gute Idee.*

Ok, es gibt nicht viele Spiele, bei denen Bots keine Vorteile bringen, aber imo gibt es sie. Bei bestimmten Spielelementen (vor allem solche, bei denen das Verhalten meines Gegners eine Rolle spielt, bzw. Verhandlungen unter den Spielern) hat es ein Bot ziemlich schwer...

Als Beispiel möchte ich mal mein Kampfsystemkonzept nennen (Mittelalter/Fantasy-RPG): Du musst festlegen, wie viele Angriffe du in der nächsten Runde parieren willst, und wie oft du angreifen willst. Je weniger Angriffe und Paraden du ansagst, desto effektiver werden die einzelnen Attacken/Paraden, aber wenn gegen dich mehr Attacken geführt werden, als du Paraden angesagt hast, kannst du dich gegen die überzähligen Angriffe nicht verteidigen - schlecht. Außerdem spielt es noch eine Rolle, wer seine Attacken zuerst ausführt - hier spielt zwar der Zufall mit rein, aber man kann sich entscheiden, seine Chancen zu verbessern, indem man einen Teil seiner Kampfkraft darauf investiert. Wenn man jetzt also alles auf eine Karte setzt und zig Angriffe ohne Verteidigung ansagt, kann es einem passieren, dass der Gegner zuerst dran ist, und dich mit einer einzigen, guten Attacke außer Gefecht setzt - oder du bist zuerst dran, hast aber zu viele Attacken angesagt, wodurch einige erst gar nicht treffen und der Rest in der Verteidigung des Gegners hängen bleibt... Gegen seinen Gegenangriff bist du dann schutzlos.

Weil bei diesem System sehr viel davon abhängt, was der Gegner macht, wird es ein Bot hier schwer haben - er kann zwar eventuell auswerten, wie viele Gegner durchschnittlich welche Taktik spielen, aber da sich das prinzipiell jederzeit ändern kann, ist die erfahrung eines guten Spielers hier imo mehr wert als die Statistik eines Bots... Korrigiert mich, wenn ich falsch liege. ^^

gepostet vor 15 Jahre, 10 Monate von knalli

Schon klar mit den Tokens, ich bezog mich ja auch nicht auf dich. :) Wobei man bei Tokens imho sehr aufpassen sollte, dass man tabbed browsing nicht killt. Aber das gehört nicht hierhin. CSRF ist schon ein kritisches Thema, erfordert aber natürlich auch einige Voraussetzungen, um exploited zu werden und ist daher ziemlich speziell.

Eine URL (meine: GET) sollte ja keine veränderenden Status verursachen - sondern nur eine Anfrage. Dafür gibt es Formulare und POST, und dort kann ich auch einen Token einsetzen. Insofern gibt es keine Probleme mit Tabbing, wenn man ein sauberes System von URLs sowie Bestätigungsdialogen einsetzt. Außerdem kann man ja unterscheiden: Das Starten eines Skills/Forschung ist weniger schlimm (sofern es keine Änderungen mit sich zieht) als das Abbrechen.

Ansonsten, Bots haben leider immer einen Sinn.. und man kann dagegen nichts machen. Das ist für mich ein hausgemachtes Problem von Webanwendungen.

Was willst du machen? In einem Online-Spiel die Online-Aktivität (egal ob direkt oder indirekt) nicht mehr belohnen? Nur noch rundenbasierte Elemente einbauen? In der FAQ einen kompletten Guide einbauen, wie du optimal das Spiel bestreitest? Dann lies ein Buch, das ist dann genauso spannend..

Selbst wenn du eine Queue für Skills/Forschungen/Ausbildung erstellst.. man wird ja evtl. diese Queue limitieren. Oder man kann nur soviel bauen, wie viel Rohstoffe/Punkte man zur Zeit hat. Voila, der Bot kommt zum Zug. Das ist für mich nur ein Versuch, den Bot kurzfristig uninteressant zu machen.. langfristig hat man das Problem nicht behoben.

Obwohl ich den Einwand, man solle doch das Spielprinzip so designen, dass diese Probleme nicht entstehen, nachvollziehen kann: Das ist leider nicht zu Ende gedacht und beschränkt die Vielfalt der möglichen Spiele.

gepostet vor 15 Jahre, 10 Monate von Fodazd

@knalli:

1.:
Doch, ich will Online-Aktivität belohnen, aber "Online-Aktivität" sollte meiner Meinung nach nichts sein, was im Prinzip auch ein Bot erledigen kann... Wenn das nämlich so wäre, dann müsste ich mir ernsthafte Sorgen um die Qualität meines Spiels machen. Ok, ich hab einen gewissen Vorteil, weil ich ein RPG machen will - wie willst du einen Bot für eine Quest schreiben, die du nicht kennst? Und wenn du sie kennst, warum solltest du sie dann nochmal lösen wollen?

2.:
Rundenbasierte Elemente sind toll! =)

3.:
Ja, eine Limitierung macht schon Sinn... Aber wenn man das Limit hoch genug ansetzt (12, eventuell 24 Stunden), dann sollte das kein Problem sein. Außerdem kann man der Queue ja sagen "Mach das, sobald ich genug Rohstoffe/Punkte habe!".

4.:
Ja, es beschränkt die Vielfalt der möglichen Spiele... Was einem aber egal sein kann, wenn man nur ein einziges Spiel machen will! :p

gepostet vor 15 Jahre, 10 Monate von Kallisti

Du kannst ja mit Javascript auch Post CSRF machen... nicht nur get. Und ich habe bislang noch kein Spiel gesehen bei dem nicht zumindest der Logout Button ein einfaches Get ist. ;) Auch die meisten Bestätigungsdialoge sind nur logisch eine Bestätigung und nicht praktisch. Im Normalfall variiert man dabei nur die Parameter. Nötig ist aber dass man den Zustand serverseitig speichert. Und das kann eben schon ein Problem sein, wenn man das in einem Hintergrundtab macht, dann im andern Tab weitersurft und später (lass es mehrere Stunden sein) das Formular im Hintergrund wieder benutzen möchte. Die Session ID als Token ist da ein guter Ansatz, aber selbst das bringt gewisse Limitierungen mit sich.

In Sachen Gamedesign kann man schon Kompromisse machen. Generell seh ich es auch unabhängig von Bots so, dass man triviale Aktionen vermeiden sollte. Tut imho dem Gameplay gut. Dumm nur, dass die Mehrheit der Spiele rein aus trivialen Aktionen besteht. ;)

Weil bei diesem System sehr viel davon abhängt, was der Gegner macht, wird es ein Bot hier schwer haben - er kann zwar eventuell auswerten, wie viele Gegner durchschnittlich welche Taktik spielen, aber da sich das prinzipiell jederzeit ändern kann, ist die erfahrung eines guten Spielers hier imo mehr wert als die Statistik eines Bots... Korrigiert mich, wenn ich falsch liege.

Nunja... Ich hab gesagt in einem kompetativen Spiel. :P Wenn das Ganze primär vom Zufall abhängt (nichts anderes sind nicht vorhersagbare Bedingungen ja erst einmal), dann ist schon klar, dass es sowieso scheiß egal ist, was dabei rum kommt. Und ja, ich glaube dass eine statistische Analyse des Verhaltens des Gegenübers in vorherigen Kämpfen weit mehr bringt als "Erfahrung" eines Spielers. Denn was ist denn Erfahrung, wenn nicht einfach eine Sammlung von Daten? Und die ist bei der Maschine definitiv korrekter.

Man kann also sammeln wie andere spielen, Statistiken anfertigen, wie der typische menschliche Gegenspieler auf eigene Aktionen reagiert und vorhersagen, wie er mit großer Wahrscheinlichkeit auf eine andere Strategie bzw. einen Wechsel der Taktik reagieren wird.

Wenn du nur eine Runde Stein-Schere-Papier spielst und den Gegner nicht kennst, ist es nun einmal eine rein zufällige Geschichte und hat nichts mit Können zu tun. Und den Gegner kennen und einschätzen können, ist nichts als Datamining.

Etwas anderes ist das bei persönlichem Kontakt wie z.B. beim Poker. Wenn du die Person siehst, dann sind eben Mimik, Gestik, Geschwindigkeit, Zucken usw. extrem wichtig. Das ist nicht so leicht maschinell zu analysieren. Ansonsten ist es aber wieder eine rein mathematische Sache auf Basis von Wahrscheinlichkeiten. Man muss eben nur aufpassen, dass der Algorithmus selbst nicht so gradlinig ist, dass er durchschaubar wird (Stichwort Bluff).

Darüber hinaus gehe ich davon aus, dass das Kampfsystem nicht alles ist, was man in deinem Spiel machen kann, sondern gerade in einem RPG Möglichkeiten bestehen, um seinen Charakter zu verbessern, die vor allem Zeit kosten...

gepostet vor 15 Jahre, 10 Monate von Fodazd

@kallisti:

Nunja... Ich hab gesagt in einem kompetativen Spiel. :P Wenn das Ganze primär vom Zufall abhängt (nichts anderes sind nicht vorhersagbare Bedingungen ja erst einmal), dann ist schon klar, dass es sowieso scheiß egal ist, was dabei rum kommt. Und ja, ich glaube dass eine statistische Analyse des Verhaltens des Gegenübers in vorherigen Kämpfen weit mehr bringt als "Erfahrung" eines Spielers. Denn was ist denn Erfahrung, wenn nicht einfach eine Sammlung von Daten? Und die ist bei der Maschine definitiv korrekter.

Hmm, Naja... Sobald ein Spieler drauf kommt, dass seine Standardtaktik ständig verliert, wird er anfangen, sie anzupassen - das meine ich mit Selbstregulierung: Es kann gar keine optimale Strategie geben, wenn es zu jeder Strategie eine Konterstrategie gibt - und damit kommen die meisten Bots ganz einfach nicht zurecht. Du hast natürlich Recht, wenn du sagst, dass das ganze eigentlich "Zufall" ist, aber wenn man damit kein Problem hat, dann hat man auch kein Problem mit Bots: Versuch mal, einen Algorithmus für Stein-Schere-Papier zu entwickeln - wenn du keine Zufallsvariable reinnimmst, dann werde ich als Mensch immer gewinnen (Wenn ich darauf achte, nach welchen Kriterien er bisher gespielt hat). Wenn du eine Zufallsvariable reinnimmst, dann brauchst du im Prinzip keinen Bot. Würfeln kann ich selber auch! ;)

Bezüglich Verbesserungsmöglichkeit über Zeit:
Ja, gibt es... Aber ich halte halt nix davon, dass man dafür online sein muss. Farming, wie es in vielen aktuellen RPGs stattfindet, ist langweilig und unkreativ - und genau deswegen ein ideales Einsatzgebiet für Bots.

gepostet vor 15 Jahre, 10 Monate von Kallisti

Zufall ist imho aber eben kein Beweis als Gegenkonzept zu Bots. :P Um Zufall zu erleben muss ich kein Spiel spielen, da fehlt mir der "e-sports" Aspekt, mich durch Skill von der Masse abheben zu können.

gepostet vor 15 Jahre, 10 Monate von knalli

CSRF.. da geht's doch darum (Praxis), dass ich durch den Besuch einer Seite nicht meinen Account lösche, Person X mein Gold sende oder mein Skill abbricht. Durch POST wird ein normaler Link erschwert (also Formular/Javascript).. durch den Token klappt das dann auch nicht mehr. Streng genommen müsste Logout also auch so geschützt werden, allerdings ist "Logout" nicht so sicherheitsrelevant bzw. hat meistens keinen Sinn.

Ein Benutzer einer komplexen Anwendung darf erwarten, dass sein stundenlanges Formular ungültig ist; hat man als Entwickler seine Aufgaben ordentlich gemacht, muss der Benutzer das Formular anschließend einfach nur nochmal abschicken, die Werte stehen idealerweise noch drin oder lassen sich übertragen.

Mehr soll die Tokengeschichte doch gar nicht verhindern.. und das ist auch der Grund, warum es im Moment vermehrt diese Click-Bugs gibt, wo eben genau diese Bestätigung versucht wird auszuhebeln (über visuelle Tricks).

Ok, ich hab einen gewissen Vorteil, weil ich ein RPG machen will

Selten so gelacht.. das ist doch das, was ich eben meinte: Nicht jeder will ein RPG basteln. Und haltet euch fest: Nicht jeder will eins spielen. Ich zum Beispiel, ich mag die als Spieler nicht. ;)

Prinzipiell Farming schlecht darzustellen, halte ich für verkehrt. Die Frage ist natürlich, welchen Umfang es in einem Spiel hat und vor allem wie wichtig es ist. Also, ich meine damit jetzt alles, Forschung/Skillen/Farmen. Denn Tatsache ist, dass mein Weiterkommen in den meisten Fällen eben doch von Wissen/Technologie/Skills/Geld abhängt, wovon mindestens ein Teil davon abhängt.

Eliminiere ich eine Komponente aus dem Spiel (sagen wir Skills), dann hat das Auswirkungen. Wie soll das Kampfsystem funktionieren? Stein-Schere-Zufalls-Taktiken? Genial, das wird ein Pausenfüller. Mehr nicht.

Es ist ja nicht so, als würden nur Browsergames darunter leiden - man hat hier nur die einfacheren Tools (Flash/Java ist schon aufwendiger). Bei einer echten Spieleanwendung benötigt man schon etwas mehr Erfahrung, Wissen sowie Tools, um einen Bot technisch aufzubauen. Und dennoch gibt es Cheattrainer, usw. was das Zeug hält.

Bei Browsergames ist man dabei, das HTML/JS-Buch eingepackt.

gepostet vor 15 Jahre, 10 Monate von altertoby

Captchas im Sinne von Zahlen oder Buchstaben abtippen ist aber schon lange kein guter Schutz mehr... 

dieses "Klicke in den vollen Kreis" ist genauso unsicher...

bleibt nur noch das bereits erwähnte Identifizieren von Dingen oder: 

http://valleywag.gawker.com/246656/tech/hot-or-not/a-face-only-a-bot-could-love

(Hotcaptcha scheint aber imo? down zu sein, aber das von Mircrosoft sieht auch ganz interessant aus :) )

gepostet vor 15 Jahre, 10 Monate von Fodazd

@Kallisti:

Reiner Zufall ist natürlich langweilig, da geb' ich dir recht... Skill muss auch irgendwo eine Bedeutung haben - bei einem RPG kommt dann halt noch die Unterscheidung zwischen Skill des Spielers und Skill des Charakters dazu, aber da sich letzteres indirekt aus ersterem ergibt sehe ich da weniger ein Problem. Wenn jetzt aber ein User einen Bot benutzt, um besser zu sein als die anderen, dann würde ich persönlich ihn erstmal nicht bannen, sondern ihn stattdessen fragen, was für einen Vorteil er denn da eigentlich draus zieht... Wenn er dann sagt "Ich will mir die optimale Strategie berechnen lassen!", dann wird er entweder keinen Erfolg haben, oder ich weiß, dass ich an der Balance was ändern muss. Wenn er sagt "Ich will schneller leveln als die anderen", dann wird er damit keinen Erfolg haben, oder ich weiß, dass ich bessere Automatisierungsmethoden anbieten muss. Ich bin der Meinung dass Skill (Spielerskill meine ich jetzt) nichts mit Statistikauswertungen oder Daueronline-sein zu tun haben sollte... Warum gibt es überhaupt Stein-Schere-Papier (Als Designprinzip)? Damit man die Dominanz einer einzelnen Taktik vermeidet, und dem Spieler damit mehr sinnvolle (also gewinnversprechende) Möglichkeiten offen lässt.

@knalli:

Was hindert dich dran, Quests in ein Aufbauspiel einzubauen? ^^
Ok, es ist nicht so weit verbreitet, wie in RPGs, aber das Prinzip ist das selbe. Wenn du aber nicht nur was gegen RPGs hast, sondern auch gegen Quests... Ok, dann hast du Recht.

Aber: Tatsache ist, dass die meisten Spiele die Möglichkeit bieten, Zeit in irgendwas umzuwandeln, egal ob das Erfahrungspunkte, Geld, Rohstoffe oder Techs sind... Sollte das nicht der Fall sein, gibt's Probleme mit der Langzeitmotivation, also gehen wir einfach mal davon aus, dass es der Fall ist - Ich nenne diesen Vorgang jetzt einfach mal "farming". Jetzt könnten wir uns fragen, welche Umsetzung von Farming besser ist:

-> Farming heißt, die gleiche Prozedur immer und immer wieder durchzuführen, um sich zu verbessern.
-> Farming heißt, sich eine Vorgehensweise für ein bestimmtes, in ähnlicher Form wiederkehrendes, nontriviales Problem zu überlegen, und je nachdem, wie gut man es gelöst hat, wird man besser.

Ich mag letztere Möglichkeit eigentlich lieber... Von daher: Bots müssen nicht unbedingt was schlechtes sein - ich für meinen Teil denke sogar drüber nach, daraus ein Spielelement zu machen. Motto: Jeder Spieler kann für sich selbst eine Verhaltensweise definieren, nach der sein Charakter handelt, wenn er grad offline ist.

Vorraussetzung dafür ist, dass es in der Spielmechanik keine offensichtlich "beste Strategie" gibt, bzw. sich die "beste Strategie" je nach Gegner ändert. Wenn Zufall grundsätzlich schlecht ist, warum ist Stein-Schere-Papier dann auch in Strategiespielen so beliebt? Bei *Speere->Reiter->Bogenschützen->Speere* kann ich ja vorher auch nicht sagen, wie mein Gegner seine Armee zusammenstellen wird...

gepostet vor 15 Jahre, 10 Monate von Kallisti

Du bringst da gerade zwei Dinge durcheinander.

Stein-Schere-Papier im Strategiejargon steht ja nur dafuer dass jede Einheit andere Schwaechen und Staerken hat, so dass es fuer jede Taktik wieder einen Konter gibt.

Es steht allerdings nicht dafuer, dass man bis zur Ergebnisberechnung nicht weiss, worauf man sich einlaesst. Was meinst Du wieso im professionellen RTS gaming scouting so enorm wichtig ist und die Leute Replays ihrer Gegner gucken, um sich darauf einzustellen?

Und ein Computer kann eben sehr wohl die optimale Gegenstrategie fuer den Gegner errechnen und entsprechend vorgehen. Es gibt einen optimalen Weg.

Sobald es eine Moeglichkeit gibt, sich zu differenzieren und "besser" zu sein als andere, gibt es auch Moeglichkeiten zu cheaten. Das totzureden ist imho naiv.

Wenn du dagegen vorgehen moechtest, dass Spieler versuchen erfolgreiche Strategien auszuarbeiten oder erfolgreicher zu sein als andere, dann gehst du effektiv gegen die Moeglichkeit der Spieler vor, sich von anderen abzuheben. Und damit toetest du den Wettbewerb und den wirklichen Reiz eines Spiels. Was uebrig bleibt ist ein bunter Chat.

gepostet vor 15 Jahre, 10 Monate von Fodazd

@Kallisti:

Es steht allerdings nicht dafuer, dass man bis zur Ergebnisberechnung nicht weiss, worauf man sich einlaesst. Was meinst Du wieso im professionellen RTS gaming scouting so enorm wichtig ist und die Leute Replays ihrer Gegner gucken, um sich darauf einzustellen?

Das würde dann zutreffen, wenn ein Spieler immer die gleiche Taktik spielen würde, was aber nicht der Fall ist. Scouting ist wichtig, weil ein guter Spieler eben *nicht* immer gleich handelt, denn wenn er das machen würde, dann wäre er berechenbar und somit leicht besiegbar - Scouting dient dazu, nicht von unerwarteten (aha!) Aktionen/Taktiken des Gegners überrascht zu werden, und sich selbst drauf einzustellen. Ich wage zu bezweifeln, dass man in professionellen RTS-Bereich seinen Gegner locker besiegen kann, nur weil man ein paar seiner Replays geguckt hat (auch wenn das natürlich hilfreich ist). Von daher: Auch (und vor allem!) im professionellen RTS gaming weiß man vorher nicht, worauf man sich einlässt!

Und ein Computer kann eben sehr wohl die optimale Gegenstrategie fuer den Gegner errechnen und entsprechend vorgehen. Es gibt einen optimalen Weg.

Ja, klar... Das glaub ich erst, wenn ich es sehe.

Sobald es eine Moeglichkeit gibt, sich zu differenzieren und "besser" zu sein als andere, gibt es auch Moeglichkeiten zu cheaten. Das totzureden ist imho naiv.

Das hab ich ja auch nie bezweifelt... Ich hab nur bezweifelt, dass es überall mittels Bots geht.

Wenn du dagegen vorgehen moechtest, dass Spieler versuchen erfolgreiche Strategien auszuarbeiten oder erfolgreicher zu sein als andere, dann gehst du effektiv gegen die Moeglichkeit der Spieler vor, sich von anderen abzuheben. Und damit toetest du den Wettbewerb und den wirklichen Reiz eines Spiels. Was uebrig bleibt ist ein bunter Chat.

Gegen diese Möglichkeiten will ich auch gar nicht vorgehen... Alles, was ich sage, ist folgendes: Auch wenn es natürlich viele Möglichkeiten dazu gibt, nicht erfolgreich zu sein, sollte es definitiv mehr als nur eine Möglichkeit geben, erfolgreich zu sein, von denen keine dominant ist, und von denen keine nicht auf irgendeine Art gekontert werden kann. Und jetzt kommt meine eigentliche Kernaussage: Wenn es keine absolut optimale Strategie gibt, dann hast du mit einem Bot, der dir die optimale Strategie berechnet, ganz einfach verschissen...

gepostet vor 15 Jahre, 10 Monate von Kallisti

Es gibt keine absolute optimale Strategie unabhaengig der Situation, aber es gibt immer eine optimale Strategie, die alle Rahmenbedingungen beruecksichtigt. Und das kann ein Bot eben perfekt.

Wenn die Rahmenbedingungen nicht bekannt sind, kann auch ein Spieler nicht darauf reagieren und sich eben auch nicht durch Skill abheben. Genau davon red ich doch. Auch wenn man alles kontern kann, geht es darum im richtigen Moment den richtigen Konter fuer den Gegner zu haben. Und wenn man das nicht herausfinden kann, ist auch ein Mensch rein vom Zufall abhängig und nicht von seinem Können.

Skill ist nichts anderes als:

1. Angewandtes Wissen

2. Informationen sammeln und nutzen

3. Agieren und reagieren

4. Geschwindigkeit

5. Präzision

In allen Punkten ist ein Bot einem Menschen überlegen.

gepostet vor 15 Jahre, 10 Monate von altertoby

Nehmen wir einfach mal als Beispiel "Schach" - eins der wohl komplexesten Strategiespiele. Und hat nur bedingt was mit Zufall zu tun (Fehler des Gegners).

Selbst dort sind Bots sehr sehr nützlich: Zusammentragen von Informationen (Auswerten von tausenden Partien), Analysen der Strategien (als Mensch kann man wohl in ähnlicher Zeit sich nicht annährend so viele Partien anschauen), Berechnen einer Konterstrategie, Finden von Fehlern,....

Spielen muss der Spieler noch selber (mal davon abgesehen, dass Spieler vs PC auch möglich ist, aber da wohl die PCs so langsam die Nase vorn haben), aber der Bot kann einem sehr viel bringen in der Vorbereitung. Klar, der Gegner kann auch plötzlich ne andere Eröffnung spielen und man hat sich umsonst vorbereitet, aber das wird nicht alzu oft vorkommen (bzw. wenn man dann die Strategie wechselt, dann ist man da selber auch meist unerfahrener).

gepostet vor 15 Jahre, 10 Monate von TheUndeadable

Kallisti:

Du hast eines vergessen:

Gerade in kompetitiven Spielen ist Kreativität gefragt und dort mangelt es gigantisch bei den verschiedenen Bots. Sie konzentrieren sich nur auf das Implementierte und sind nicht in der Lage gegebenfalls neue Strategien 'auszudenken'.

Aber in einem Punkt stimme ich dir zu: Bots, gepaart mit einem kreativen Programmierer, sind anderen Menschen weit überlegen.

gepostet vor 15 Jahre, 10 Monate von Fodazd

@Kallisti:

Ja, das stimmt schon... Was machst du aber, wenn nur ein Teil der Rahmenbedingungen bekannt ist, bzw. das Erfahren der Rahmenbedingungen schon Teil der Strategie ist? Zu Beginn einer RTS-Partie weiß man ja auch noch nicht, was der Gegner machen wird... Und dazu braucht man eben Scouts. ^^

Daher: Skill muss nicht unbedingt vorraussetzen, dass man *alle* Rahmenbedingungen kennt - Im Gegenteil: Wenn man alles wissen würde, wäre es meiner Meinung nach fad...

@altertoby:

Du hast Recht, im Schach fühlt sich ein Computer pudelwohl... Könnte dran liegen, dass es zwar sehr komplex, aber trotzdem berechenbar ist. ;)

@TheUndeadable:

Kommt drauf an, auf welchem Einsatzgebiet... Wobei ein kreativer Programmierer natürlich immer weiter hilft.

gepostet vor 15 Jahre, 10 Monate von Kallisti

Klar, die meisten Bots sind simpel. Weil eben auch die meisten Spiele simpel (das ist nicht unbedingt etwas schlechtes, ich finde auch Starcraft, Warcraft und WoW simpel und genau deshalb sind diese erfolgreich, auch wenn da natuerlich eine Menge Spielmechanik zu Grunde liegt, die sehr komplex sein kann) sind und das zum beabsichtigten Erfolg genuegt.

Bestes Beispiel: Diablo 2 Bots.. es gab gnadenlos stupide Bots, die lediglich per brute force und mit overpowered gear / Skillung Erfolg haben konnnten. Dafuer reichten statische Skripte, teils sogar mit festen, nicht variablen Koordinaten. Man musste im Grunde nur beinahe dieselben Pakete einmal loggen und dann wieder und wieder senden. Es gab aber auch ein paar private Bots (/wave Sheppard), die z.B. intern kommuniziert haben und mit 8 Bot-Spielern verschiedener Klassen autark geleveled haben und zusammen gespielt haben. - und nebenbei die Ladder angefuehrt haben....

Ja natuerlich muss der Programmierer kreativ sein, aber es gibt imho kein RTS oder MMORPG Spiel mit einer so enormen Spieltiefe, dass man es nicht in KI abbilden koennte. Man waehlt eben nur meist den einfachsten Weg zum Erfolg und selten ist wirkliche KI noetig.

Und ob die Rahmenbedingungen erst in Erfahrung gebracht werden muessen oder nicht: Wenn es nicht moeglich ist, dann kann auch ein Spieler nicht "skilled" sein, wenn es moeglich ist, dann kann es auch ein Bot tun. ;) Das ist lediglich eine Frage von Aufwand. Um da wieder auf die Diablo Bots zurueckzukommen: Ein simpler Bot geht nur ein vordefiniertes Script ab und kann nur wenige Bosse killen (Pindleskin, Eldritch, Shenk), weil die Dungeons ansonsten dynamisch generiert werden. Ein guter Bot liest die Karteninformationen aus dem Speicher oder aus den Informationspaketen beim Gamejoin aus und ist in der Lage Pathfinding zu implementieren und sich selbst den besten Weg zu suchen. Oder er stellt sich dumm und laeuft den Weg in seinem Sichtradius ab, wie es ein Spieler tun muesste. Alles kein Problem - nur eine Frage wie viel Arbeit man herein steckt, was natuerlich viele Scriptkiddies abschreckt.

Aber die schreckt ein Captcha mindestens genauso ab. ;) Und wer ein gutes Captcha ueberwindet, fuer den gibt es auch sonst kaum Huerden. Genau das ist eigentlich die Essenz dessen, was ich sagen moechte.

gepostet vor 15 Jahre, 10 Monate von Tron

Setz die erforderliche Berechnungstiefeund die Freiheitsgrade hoch und der Bot ist wieder doof wie er soll. Kommt nicht ganz von ungefähr, das feiste Mainframes bemüht werden um Schachgrossmeistern das Wasser reichen zu können. Nein, so einfach ist das mit den Bots nicht. Sicher sind seichte Mathespielchen prima programmatisch zu lösen, aber ist es den das, was ein gutes Spiel auszeichnet? Imnsho sind doch die besten und langfristig spannendsten Spiele die, in der ich Gegnerzüge antizipieren muss, vielleicht Allianzen schaffen muss um zu überleben. Simple Spielkonzepte in denen sich der Spieler isolieren kann sind doch eher was für Flashappetizer zwischendurch. Spielt man ne Weile und sucht sich dann das nächste.

my2pesos

Stefan

gepostet vor 15 Jahre, 10 Monate von Fodazd

@Kallisti:

Ja, in Diablo ist Botting relativ einfach... Aber versuch z.b. mal einen wirklich guten Bot für WC3 zu schreiben (das du ja selbst als simpel bezeichnest)! ;)
Mit "wirklich gut" meine ich übrigens, dass er auch gegen etwas bessere Spieler gewinnen können sollte... Ich bezweifle hier nicht, dass es geht, sondern nur, dass es einfach ist.

Wie du ja selbst schon sagst: Sobald Scripting mal schwer genug ist, dass man einiges an Arbeit reinstecken müsste, sind die meisten Leute schon mal abgeschreckt... Und diejenigen, die es trotzdem schaffen, stören mich eigentlich nicht wirklich - im Gegenteil: Von denen kann ich wahrscheinlich sogar noch was lernen! ^^

...Das jetzt mal völlig unabhängig davon, ob's überhaupt geht oder nicht, denn da kennst du meine Ansicht ja schon, und wirst sie höchstwahrscheinlich genausowenig ändern können wie ich deine.

gepostet vor 15 Jahre, 10 Monate von Kallisti

Dann zeigt mir doch die Browsergames in denen die "Berechnungstiefe und Freiheitsgrade" so hoch gesetzt sind, dass man Mainframes braucht, um Spieler zu besiegen. Bei einem RTS braucht man nun einmal nicht ansatzweise die Praezision eines Schachcomputers, um besser zu sein als ein Mensch. Das verzeiht doch viel mehr Fehler. ;)

Es sagt auch niemand, dass ein Bot jeden Aspekt des Spiels nutzen und kennen muss - eben im Gegenteil, die Kunst ist es den Bot so auszulegen, dass er Schwachstellen ausnutzt und mit moeglichst wenig Aufwand, moeglichst viel unlauteren Vorteil erwirtschaftet. Bei vielen Spielen reicht es eben dieselben 1-2 HTTP Requests regelmaessig zu wiederholen, egal wie toll Kampfsystem oder was auch immer sein moegen, weil die Elemente bereits genug Vorteil bringen, dass sich der Bot lohnt.

"Allianzen schaffen" - 1. steht es nicht im Gegensatz dazu, denn es hat niemand behauptet wir wuerden hier von rein autarken Bots reden, es steckt ja immer noch ein Spieler dahinter, der lediglich Vorteile sucht, 2. 98% der Spiele bekommen es nicht hin ein "Allianz"-konzept zu designen, dass nicht darin resultiert, dass ein Kraefteungleichgewicht entsteht, 3. das ist Macromanagement auf hohem level und seeeehr langfristig angelegt - kein Spiel kann nur mit Macro allein ueberleben, ohne schnell sehr langweilig zu werden.

Und Fodazd: Die Essenz der Aussage war allerdings, dass es sich nicht lohnt konzeptionell gegen Scripting vorzugehen, weil es nie erfolgreich sein kann und weil man bereits mit einem Captcha eine ebenso grosse Huerde setzt und weitere Anstrengungen verlorene Liebesmueh sind.

Machen wir es doch anders herum. Postet mir eure Spiele von denen ihr meint, sie sehen nicht anfaellig fuer Bots und ich sage euch, was ich darueber denke. xD

gepostet vor 15 Jahre, 10 Monate von Fodazd

@Kallisti:

Und Fodazd: Die Essenz der Aussage war allerdings, dass es sich nicht lohnt konzeptionell gegen Scripting vorzugehen, weil es nie erfolgreich sein kann und weil man bereits mit einem Captcha eine ebenso grosse Huerde setzt und weitere Anstrengungen verlorene Liebesmueh sind.

Ok, hier bin ich aber der Meinung, dass es auch ohne Scripter im Hinterkopf Sinn macht, bestimmte Aktionen automatisieren zu lassen - ist imo einfach Benutzerfreundlichkeit. Und sobald man das macht, berschränkt sich das Einsatzgebiet von Bots ohnehin auf die Geschichte mit "optimale Strategie berechnen".

Machen wir es doch anders herum. Postet mir eure Spiele von denen ihr meint, sie sehen nicht anfaellig fuer Bots und ich sage euch, was ich darueber denke. xD

Hmm, tja... Wenn ich so ein Spiel kennen würde, dann hätte ich schon längst was zum Spielen und müsste nicht mehr mein eigenes schreiben... oO'

@Tron:

Setz die erforderliche Berechnungstiefeund die Freiheitsgrade hoch und der Bot ist wieder doof wie er soll. Kommt nicht ganz von ungefähr, das feiste Mainframes bemüht werden um Schachgrossmeistern das Wasser reichen zu können.

+1... Auch wenn ich bisher halt noch kein BG kenne, das das wirklich schafft.

Simple Spielkonzepte in denen sich der Spieler isolieren kann sind doch eher was für Flashappetizer zwischendurch.

Demnach besteht ein Großteil der momentan vorhandenen BGs aus "Flashappetizern"...

gepostet vor 15 Jahre, 10 Monate von Tron

Original von Fodazd

Demnach besteht ein Großteil der momentan vorhandenen BGs aus "Flashappetizern"...

Wenns denn so ist, schade eigentlich ;) Kann aber gut sein, es gibt nicht wirklich viele Browsergames die rundum stimmig sind.

Original von Kallisti

Dann zeigt mir doch die Browsergames in denen die "Berechnungstiefe und Freiheitsgrade" so hoch gesetzt sind, dass man Mainframes braucht, um Spieler zu besiegen. Bei einem RTS braucht man nun einmal nicht ansatzweise die Praezision eines Schachcomputers, um besser zu sein als ein Mensch. Das verzeiht doch viel mehr Fehler. ;)

Dann schau dir mal im Vergleich Brettspielkonzepte an (von denen ein Grossteil der Browsergameideen ohnehin abgeschaut sind) und zeig mir gute Computerspielumsetzungen mit KI, die lohnt, dagegen zu spielen: 1830? No-brainer, der Computer muss schummeln und widersinnig Computergegner zusammenspielen lassen, um eine Herausforderung zu bieten. Diplomacy? Braucht man garnicht erst versuchen. Civilization? Auch keine rechte Herausforderung.

Ich kann dir aus dem Kopf keine Browsergames nennen, die in dem Punkt mit Schach vergleichbar sind, aber das war auch nicht mein Punkt. Man könnte es machen, wenn man es nicht tut, ok, dann lebt man halt mit Bots.

Man konzentriere sich halt auf die Stärken des Menschen, je mehr Unbekannte, desto mehr greift Intuition und Erfahrungswerte. Und darin sind Bots einfach furchtbar schlecht ;)

Saludos,

Stefan

gepostet vor 15 Jahre, 9 Monate von dreaddy

Was würde eigentlich gegen ein wirkliches zum Thema passendes minispiel sprechen, dass zum Spielkonzept passt, statt den User mit captchas oder klick die katzen zu nerven?
Wenn eine Quest angenommen wird, halt mal ne Runde erschieß das Monster(was natürlich nicht automatisierbar erledigt werden sollte).

Ich mein jeder, der irgendwas gegen Cheater oder Spammer unternehmen will, nimmt sofort Captchas ohne auch nur ansatzweise über andere Möglichkeiten nachzudenken.

gepostet vor 15 Jahre, 9 Monate von Fobby

Minispielchen sind für den User schlimmer als Captchas. 2 mal bestenfalls witzig, ab da nur noch nervig. Davon mal abgesehen werden auch diese Minispielchen botbar sein.

gepostet vor 15 Jahre, 9 Monate von dreaddy

Große Spiele wie Fallout 3 zeigen doch sehr gut, dass man Minispiele in Form von Computer hacken/Schloss knacken/Zutaten mischen etc. einbinden kann, ohne den User damit zu langweilen oder die Spiele länger als das Eingeben eines Captchas dauern zu lassen.

Und dass sich das Minispiel dann leichter automatisieren lässt als ein Captcha bezweifle ich stark, eher das Gegenteil sollte der Fall sein.

gepostet vor 15 Jahre, 9 Monate von Fobby

Ich habe nicht behauptet, dass es leichter automatisierbar wäre :)

Aber gerade das Computerknacken aus Fallout 3 ist etwas, das ein Bot mit Leichtigkeit und viel schneller schaffen wird als ein menschlicher Spieler. Es ist einfach schwierig, eine Captchaalternative zu finden. Das Minispielchen müsste in wenigen Sekunden absolvierbar sein, botresistent und es sollte keine zusätzlichen Programme benötigen (also nichts, was nicht im Rest des BGs von Nöten ist).

Ich glaube einfach nicht, dass sich jemand so viel Zeit für soetwas nimmt. Da ist es ja vielleicht auch nicht mit einem Minispielchen getan, denn im Idealfall sollte es zur Situation passen.

Belehre mich eines Besseren aber ich bleibe skeptisch ;)

gepostet vor 15 Jahre, 9 Monate von Nerosmeel

Ich hab vor geraumer Zeit mal an einen System gearbeitet, das auf Bildern basiert.

Einfach nen Bild 3 buttons auf den richtigen klicken fertig. Das Bild wurde immer unter anderem Namen geladen damit ein Bot da keinen zusammenhang erkennen kann, zudem habe ich die Bilder von der Ausgabe immer ein wenig bearbeite like der alten Rapidshare Captchas. In der Theorie wars nen recht guter Schutz und man hat nie mehr als 3-4 Sekunden gebraucht.

Leider kam es nie zum Einsatz da das Projekt bis heute auf Eis liegt

gepostet vor 15 Jahre, 9 Monate von shadows

Die Namen der Bilder sind eigentlich uninteresant, nimm einfach nen Hashwert und vergleiche die...

gepostet vor 15 Jahre, 9 Monate von Todi42

Wenn ich eine Wirtschaftsimulation habe, kann ich die Spieler wohl kaum vorher eine Runde Ego-Shooter spielen lassen. Diese Spiele haben einfach sehr unterschiedliche Zielgruppen.

gepostet vor 15 Jahre, 9 Monate von Bringer

Original von Todi42

Wenn ich eine Wirtschaftsimulation habe, kann ich die Spieler wohl kaum vorher eine Runde Ego-Shooter spielen lassen. Diese Spiele haben einfach sehr unterschiedliche Zielgruppen.

Dann lass ihn aus 5 angezeigten aktuellen Aktionkursen den wählen der Aktuell seinen bisherigen Tagestiefststand hat.
Selbstredend aus einer Grafischen Kursanzeige ;)

Ich bezweifle im übrigen sehr stark, das es sich für einen Botschreiber lohnt,  individuelle Minispiellösungen überhaupt zu beachten. Wenn die Minigames auf das jeweilie Hauptspiel zugeschnitten und gut integriert sind, stören sie die Spieler überhaupt nicht - sehr wohl aber denjenigen, der 20 Verschiedene Bots für 20 verschiebene Spiele schreiben müsste, da die Minigames sich in jedem Hauptspiel unterscheiden.

Das Problem an den Captchas ist in meinen Augen nicht, das sie einfach zunacken wären. Ich denke eher das die Verbreitung derselben erst das Interesse erweckt, denn am Ende ist doch das Grundprinzip immer dasselbe - und damit wesentlich leichter automatisiert zu umgehen als ein kleines Spiel.

Und sind wir mal ehrlich - wenn man sich 100 Internetseiten ansieht die Captchas verwenden, dann findet man 2 oder 3 Mal genau diesselbe Plugin-Lösung - gerade bei Seiten die auf PHP basieren. Entweder weil der Seitenbetreiber zu faul - oder zu doof war. Da wird es doch erst interessant mal einen kleinen Bot von der Leine zu lassen.

gepostet vor 15 Jahre, 9 Monate von Blabbo

Also mich machen formular-captchas langsam aber sicher aggressiv.

Am besten muss man 10 Zeichen eingeben, die man mit normalen menschlichen Augen kaum wahrnehmen kann, dann braucht man schon mal drei versuche. Selbstredend sind nach jedem Versuch zumindest die Passwortfelder (natürlich immer 2, weil man könnte sich ja vertippen) wieder leer, gerne auch mal die Zustimmung zu den AGB oder einfach das komplette Formular. Dann ein Häkchen vergessen und der ganze Spass geht von vorne los.

Dann doch lieber manuelle Freischaltung (bei registrierungen) oder "klick-in-den-Kreis-der-unterbrochen-ist"-Captchas, das is wesentlich userfreundlicher und auch nicht unbedingt einfacher zu knacken.

gepostet vor 15 Jahre, 9 Monate von Tron

Ich finde die Minispiel alternative zum Captcha garnicht schlecht. Muss ja nicht so komplex sein, wie wärs mit einem: "Welches Objekt passt nicht?"

Du präsentierst vier Bilder, drei Zeigen z.B. Schmetterlinge, eins eine Blume. Bots sind da sauschlecht im erkennen ;)

Gegenargument: "Was, wenn jemand eine Datenbank der Bildnamen erstellt? Oder über hashes der Bilddaten"

Kein Problem, man serviere die Bilder über Imagemagic, verschiebt den Ausschnitt  und generiere die Namen zufällig. Zur Not verzerren wir noch etwas.

Gegenargument:"Was ist, wenn jemand ne Bilderkennung bastelt für seinen Bot, die das erkennt?"

Biet ihm nen Job an bevor die NASA es tut und du ihn nicht mehr bezahlen kannst.

gepostet vor 15 Jahre, 9 Monate von Kallisti

Das hat imho aber nichts mit "Minispielen" zu tun, sondern ist eben nichts als eine Form von Captchas, die ich vor einigen Wochen hier schon beschrieben habe..

gepostet vor 15 Jahre, 9 Monate von Blabbo

ich versteh das mit den minispielen auch nicht.

Man kann sowas ja machen, aber nur wenns ins spiel passt, nicht als botschutz.

Dann ist es einfach nur ein komplexeres Captcha

gepostet vor 15 Jahre, 9 Monate von Bloodredangel

Aber wenn ich das so hier lese stellt sich doch eindeutig die Frage:

Ist es denn so schlimm, dass man immer betrügen kann?
Anpassung des Spielkonzeptes macht es weniger lukrativ, unvollkommene Lösungen wie Zeitmessen und ähnliche "leichte" Hürden werden den größten Teil der Cheater ja schon entdecken / aushebeln / abhalten.

Die, die übrigbleiben beschäftigen sich ohnehin mit dem Thema sehr und würden sich vermutlich erst mit sehr sehr viel investierte Eigenleistung in Hürden (aufwendige Captchas mit mehreren Varianten, Bildern, ....) abschrecken lassen oder es als Ansporn betrachten. Und erkennen lassen durch Onlinezeiten usw. sollten sie sich ja auch nicht, wenn sie so gut sind. Ich muss ehrlich sagen: Wenn jemand so gut betrügt, dass man ihm nicht nachweisen kann, ein Bot zu sein und weit oben mitspielt: Dann soll erst. Solange die Comm nicht das Gegenteil beweisen kann ist er n echter Spieler und ab dafür. (Bzw. wenn sich die Beschwerden häufen halt manuell mal überprüfen, wenns der 1. platzierte ist oä.)

Ich bin mir genauso wie kallisti sicher, dass man für jedes Problem einen Bot schreiben kann, der besser ist als ein Mensch. Aber der Aufwand ist oft so gigantisch, dass es kaum einer versuchen würde (auch Datamining dürften die wenigsten in Erwähung ziehen, von KI mäßigen auswerten und herausfinden guter Strategien mal ganz abgesehen).

Also: Who cares? =)

gepostet vor 15 Jahre, 9 Monate von knalli

Um auf deine letzte Frage direkt einzugehen: Wenn die anderen Spieler aus verschiedenen Gründen* keine Lust mehr haben und sich dem Spiel frustiert abwenden.

* Handlungsunfähigkeit der Administration und/oder Willkür, Erlauben von Cheatern (solang man nicht weiß, wie es geht, will es keiner), offensichtliche Chancenlosigkeit, usw.

gepostet vor 15 Jahre, 9 Monate von Tron

Original von Kallisti

Das hat imho aber nichts mit "Minispielen" zu tun, sondern ist eben nichts als eine Form von Captchas, die ich vor einigen Wochen hier schon beschrieben habe..

die Deckung zwischen Captcha und Spiel ist vom Prinzip schon gegeben. Mann kann könnte traditionelle Zerrcaptchas auch als "in diesem Bild sind sechs Buchstaben versteckt" bezeichnen, und schon hast du ein Spiel. Wo es hintendiert ist doch nur ne Frage was man betont...

An sich ist ein captcha nix anderes als eine Art Puzzle

gepostet vor 15 Jahre, 9 Monate von Bloodredangel

Original von knalli

Um auf deine letzte Frage direkt einzugehen: Wenn die anderen Spieler aus verschiedenen Gründen* keine Lust mehr haben und sich dem Spiel frustiert abwenden.

* Handlungsunfähigkeit der Administration und/oder Willkür, Erlauben von Cheatern (solang man nicht weiß, wie es geht, will es keiner), offensichtliche Chancenlosigkeit, usw.

Offensichtlich hab ich mich unklar ausgedrückt.

Die Administration sagt nat. nie, dass es Cheater "hinnnimmt" (was so ja auch nicht stimmt, da ich ja wie gesagt auf jeden Fall Hürden einbauen würde, dass nur "bessere" Cheater unerkannt bleiben).
Und die offensichtlichen Fälle wird man auch rausfiltern können (ist wie beim Testen: Wenn es eine oft genutzte 'Variante' fürs cheaten gibt, kann man die auch automatisch rausfiltern lassen und sperren / wasauchimmer). Nur die wirklich schlauen Burschen sind weder automatisch, noch (ohne enormen Überwachungsaufwand) manuell aufzudecken. Er spielt dann einfach besser als alle anderen in Rahmen der Möglichkeiten. Und da es sich auf wenige Einzelpersonen beziehen dürfte (und nicht die Top10), ist auch die Frage wie sehr das aufstößt.

Wenn es einer schafft bei ner 12h Queue unerkannt automatisch die Queue zu verlängern, ist das nichts, was ein normaler Spieler nicht auch schaffen können sollte (und wenn er alle Hürden schafft nach der Definition des Entwicklers ein normaler Spieler).
Wenn aber jemand zB. automatisch immer kurz vor jedem Angriff saved, kann man das herausfinden (entweder manuell oder automatisch - wahrscheinlich ne Automatik die manuell getriggert wird und Daten sammelt -> beim Save-Beispiel zB. Massenangriffe und schauen ob jedes mal (sinnloserweise) gesaved wird etc., also ob die Seiten besucht werden obwohl beim 1. Angriff bereits gesaved etc.)

Gruß Bloodredangel

gepostet vor 15 Jahre, 5 Monate von BlackScorp

Note: if you do not know the answer to this question,

reload the page and you'll get another question

Ich denke bei solchen Captchas muss der Traffic auf dem Server ziemlich hoch sein wenn alle user ständig die Page reloaden:D ne aber mal zurück zum Schutz:

ich habe mal eine einer Fotobewertungsseite sowas gesehen dass per Zufall die Bewerungsbuttons verschoben wurden und stattdessen ein kleiner Werbebanner auftauchte. Habe nähmlich mal für sowas ein Macro geschrieben der einfach nur klickt paar sekunden wartet ,bisschen die maus nach links verschiebt wieder klickt usw usw, morgens augestanden und hatte mehrere browsern mit werbung offen gehabt aber nicht wirklich das angeklickt was ich eigentlich wollte. man könnte doch sowas ähnliches umsetzen dass man per zufall ab und zu so eine werbung einblenden lässt über den aktionsbuttons. somit kann es dann eigentlich passieren dass wenn man ein script über nacht laufen lässt, dass es dann werbung anklickt anstatt irgendwelche ingame aktionen durchzuführen

MFG

gepostet vor 15 Jahre, 5 Monate von altertoby

Original von BlackScorp

Note: if you do not know the answer to this question,

reload the page and you'll get another question

Ich denke bei solchen Captchas muss der Traffic auf dem Server ziemlich hoch sein wenn alle user ständig die Page reloaden:D ne aber mal zurück zum Schutz:

ich habe mal eine einer Fotobewertungsseite sowas gesehen dass per Zufall die Bewerungsbuttons verschoben wurden und stattdessen ein kleiner Werbebanner auftauchte. Habe nähmlich mal für sowas ein Macro geschrieben der einfach nur klickt paar sekunden wartet ,bisschen die maus nach links verschiebt wieder klickt usw usw, morgens augestanden und hatte mehrere browsern mit werbung offen gehabt aber nicht wirklich das angeklickt was ich eigentlich wollte. man könnte doch sowas ähnliches umsetzen dass man per zufall ab und zu so eine werbung einblenden lässt über den aktionsbuttons. somit kann es dann eigentlich passieren dass wenn man ein script über nacht laufen lässt, dass es dann werbung anklickt anstatt irgendwelche ingame aktionen durchzuführen

MFG

Also das Captcha kann mann doch ohne Probleme im Kopf lösen :-) Da bin ich von meine Analysis Klausur letzte Woche andere Dinge gewohnt Ich denke trotzdem Computer lösen solche Captchas im Durchschnitt besser als Menschen :)

Deine Idee hat 2 Hacken:

1. Wirst du (als Betreiber) evt. wegen der hohen Klickrate beim Werbeanbieter gesperrt.

2. Es gibt auch die (sehr populäre) Möglichkeit, den Quelltext zu analysieren und dann entweder selber HttpRequests zu senden oder dafür den Browser fernzusteuern. Gegen diese "Attacken" bringt dir dein "Werbung drüber einblenden" leider nix!


Aber ich hätte auch mal eine Frage bezüglich Schutz gegen Cheater:

Wir planen bei uns das komplette Interface über Ajax laufen zu lassen, es existiert also praktisch zu jeder Funktion eine passende Schnittstelle (REST ähnlich). Diese können ja nicht nur von der Webseite sondern auch von anderen aufgerufen werden (wenn auch vllt. nicht umbedingt direkt, aber Aufrufe durch Editieren des JS der Webseite [Firebug, Greasmonkey] kann ich wohl nicht unterbinden). Und was ist praktischer für einen Scripter als eine fertige API die Daten in einem schönen Format ausspuckt :)

Hat da jemand Erfahrungen wie man sich vor soetwas am Besten schützt?

Ich dachte bisher an einem (Captcha)- geschützen Login und die API kann nur nach dem Login angesprochen werden. Aber falls die Hürden beim Login vom "Angreifer" überwunden wurden, stehe ich praktisch nakt da :-)

gepostet vor 15 Jahre, 5 Monate von Fobby

Genauso wie man jetzt AJAX-Requests immer und überall abrufen kann, konnte man vorher genauso uneingeschränkt Formulare absenden, obwohl man gar nicht auf der ensprechenden Seite ist. Als Scripter hat man es jetzt lediglich leichter wenn man schickes JSON zurückbekommt und keinen HTML-Code auswerten muss ;)

Dementsprechend sind die Gegenmaßnahmen auch wieder die selben: Geschickt loggen mit Filterfunktionen im Backend und das Ganze ohne die User zu warnen. Nicht ist einfacher als einen Scripter ausfindig zu machen, der regelmäßig 5 Requests/s losschickt weil er nicht daran denkt dass das auffällig sein könnte.

gepostet vor 15 Jahre, 4 Monate von FlashingPumpkin

Deswegen will ich mein Game dagegen schützen. Technisch.

Habt ihr eine gute Idee wie man effektiv dagegen vorgehen kann?

Anstatt es zu verbieten, explizit ne API anbieten die jeder nutzen kann? :)

Ansonsten ReCaptcha logins.

PS: Ich hab jetz nich den ganzen thread durchgelesen

Auf diese Diskussion antworten