Anti Cheat

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallo.

    Das es möglich ist kann ich mir denken, aber wie?

    Hab da so ein kleines Game, das durch die Schnelligkeit des Mouseklicks einen guten Score erreichen kann. Nun möcht ich verhindern dass das mit einem autoklick gecheatet werden kann.

    Lösungsansatz:

    Ich würde gerne die zeiten zw. den letzten 10 Mouseklicks vergleichen, und wenn diese identisch sind soll das Game neue starten!

    Wie kann man so was lösen?



    Gruss Wildor
    Aktuelles Game: "Pikslar" mit Online Hiscore





    PS: Will mit dieser Frage mal fragen, ob jemand zur zeit, Zeit hat. Suche Grafiker/Pixler










  • Der GM ist Eventgesteuert, d.h.
    Zeiten kannst du nicht vergleichen lassen und wenn du vergleichst wie viele Steps
    zwischen den Klicks vergangen sind kann es passieren,
    dass jemand, der einfach nur schnell klickt als Cheater bezeichnet wird.

    Aber hier mal für die Klicks:
    Ein eigenes Objekt wäre gut geeignet

    Create Event

    GML-Quellcode

    1. step = 0
    2. //Mausklicks
    3. MKlick1 = 0
    4. MKlick2 = 0
    5. MKlick3 = 0
    6. MKlick4 = 0
    7. MKlick5 = 0
    8. MKlick6 = 0
    9. MKlick7 = 0
    10. MKlick8 = 0
    11. MKlick9 = 0
    12. MKlick10 = 0
    Alles anzeigen


    Step Event

    GML-Quellcode

    1. //Ein Stepzähler
    2. step+=1


    Global mouse button pressed

    GML-Quellcode

    1. MKlick10 = MKlick9
    2. MKlick9 = MKlick8
    3. MKlick8 = MKlick7
    4. MKlick7 = MKlick6
    5. MKlick6 = MKlick5
    6. MKlick5 = MKlick4
    7. MKlick4 = MKlick3
    8. MKlick3 = MKlick2
    9. MKlick2 = MKlick1
    10. MKlick1 = step


    End Step

    GML-Quellcode

    1. /*Vergleichen, wenn 10 Steps bereits erfolgt sind.
    2. Ich würde es mit Bedinungen lösen, aber die Schleife jetzt auszuarbeiten
    3. ist mir zu viel Arbeit.
    4. */
    5. if step > 9
    6. {
    7. //Code
    8. }


    So sollte es gehen. Ich empfehle soetwas aber nicht,
    da oben beschriebenes Problem auftreten kann.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Shapow ()

  • Danke Danke!

    Ja, an dein oben beschriebenes Problem hab ich eben auch gedacht und das es aufwendig sein wird leider auch. Na ja, ich kanns nun mal noch nicht.

    Zu deinem Code: Wenn ich ne Raumgeschw. von 50 habe, bekommt er den Cheatauslöser nur wenn er über 50 Click/sec liegt, bleibt er darunter kommt er damit durch. Oder seh ich da was falsch?

    GML-Quellcode

    1. if step > 9
    Dort kann ich die Klickgeschw. abfragen, oder?

    Sofern ich das da oben verstanden habe, hätte ich es ähnlich gelöst, (was ich nicht wollte) indem ich durch Klick ein Obj. Create das sich nach kürzerster Zeit selbst zerstört und sollte es eine Collision mit sich selbst haben = Cheat!!!

    Oder vergleicht dieser Code doch auch ne Gleichmässigkeit der Klicks?

    Ich will wenn dann auf jeden Fall, den Cheat nur durch gleichmäsigkeit der Klicks auslösen, alles andere wäre nicht hilfreich für das Game!

    Aber danke für deinen Denkansatz!!

    Gruss
    Aktuelles Game: "Pikslar" mit Online Hiscore





    PS: Will mit dieser Frage mal fragen, ob jemand zur zeit, Zeit hat. Suche Grafiker/Pixler










    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von Wildor ()

  • versuch es mit einem Trick zu lösen. In etwa So:

    Als erstes erstellst du 5 Variablen. und noch eine als Zähler.
    Der Zähler zählt die Steps, die seit dem letzten Mausklick vergangen sind.

    Wenn jetzt ein Mausklick erfolgt, rücken alle Werte der oberen 5 Variablen eins weiter, und die erste Variable erhält dann den Zählerwert, dann wird dieser auf 0 gesetzt.

    Nun Vergleichst du einfach den Unterschied. Wenn alle 5 Werte gleich sind, dann Cheatalarm...
  • Danke Biochemic,

    aber das wird leider auch zu ungenau sein, denn die Schwankungen des Spielers werden hin und wieder zu gering abweichen und dann mit einer Stepzahl gleich gerundet. Nur wenn ich eine ganz hohe Raumgeschw. wähle, dann wäre das sicher eine Super Lösung.

    Das stellt die Frage in den Raum, wie viel Klicks bekommt ein z.B. Schlagzeuger pro sec. denn auf die Mouse, und wie fein werden die Unterschiede da sein?

    Gruss!
    Aktuelles Game: "Pikslar" mit Online Hiscore





    PS: Will mit dieser Frage mal fragen, ob jemand zur zeit, Zeit hat. Suche Grafiker/Pixler










    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Wildor ()

  • Das stellt die Frage in den Raum, wie viel Klicks bekommt ein z.B. Schlagzeuger pro sec. denn auf die Mouse, und wie fein werden die Unterschiede da sein
    Da musst du den roomspeed auf sowas wie 200 stellen. Da wirst du nicht rumkommen.
    Weist du wie ein die GML funktioniert? Also was die Ausführung des Codes betrifft.
    Wenn ja, mussten solche Dinge dir eigentlich klar sein.

    EDIT (20.11.2011 - 15:45 Uhr):
    Viel Spaß beim Selbsthelfen. -.-

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Shapow ()

  • Ich finde das ganze ist ein wenig undurchdacht. Normalerweise macht sich sowie niemand die Mühe, ein GM-Spiel zu hacken, aber einigen wir uns mal auf das Szenario, dass es passieren könnte.

    Ich finde ein Spiel. Und denke. "Ha, jetzt knacke ich den Onlinescore." Okay. Ich cheate mir mehrere hundert Klicks hintereinander mit meinem selbstgeschriebenen C++-Programm. Oh, verdammt, er bemerkt dass ich hacke. Wie dass denn? Er kann nicht auf eine Nummer prüfen, denn dann würde er Ausnahmetalente, die besonders schnell klicken ausschließen. Wahrscheinlich prüft der die Zeitintervalle. Gut.

    Und dann? Fügt man einen zufällig veränderten Zeitintervall ein, der trotzdem noch übermenschliche Geschwindigkeit hat, und blup. Deine "Anti-Cheat" Arbeit war überflüssig.

    Hey Leute, wieso versucht ihr es eigentlich? Ihr werdet den Kampf sowieso verlieren. Jedes kommerzielle Game kann genauso mit CheatEngine und Co gehackt werden, wie ein GM-Game. Wenn die es nicht schaffen, schafft ihr es mit einer Zeitintervallprüfung auch nicht. Tut mir leid, aber so sieht die Wahrheit aus.

    Bei einem Onlinegame, nutzt den Server um Cheaten vorzubeugen, ansonsten, lasst es bleiben, eure Lebenszeit ist zu wertvoll, es zu versuchen.
  • Hallo MeRobin,

    hier gehts, zumind. mir nicht, um Hacker ect... Es geht viel mehr darum dem Spiel einen ehrlichen Hiscore zu ermöglichen, der eben nicht leicht mit automatic Mousefunktionen im kommerziellen Stiel gecheatet werden kann!

    Was Hacker machen is mir eigentlich egal. Die gibt halt! Und wie du meiner Meinung nach richtig bemerktest:

    Normalerweise macht sich sowie niemand die Mühe, ein GM-Spiel zu hacken
    .. und @shapow
    Da musst du den roomspeed auf sowas wie 200 stellen.
    hatte ich schon erwähnt!
    Nur wenn ich eine ganz hohe Raumgeschw. wähle, dann wäre das sicher eine Super Lösung.
    Die Frage war ja darauf aus, zu erfahren, wie hoch dann die Raumgeschw. zu wählen wäre. Ob 200 schon ausreichen?

    Danke und Gruss
    Aktuelles Game: "Pikslar" mit Online Hiscore





    PS: Will mit dieser Frage mal fragen, ob jemand zur zeit, Zeit hat. Suche Grafiker/Pixler










    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Wildor ()