Anti-Waffenhack

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Com.,


    ich habe soeben ein Antiwaffensystem geschrieben.
    Es ist ein Ressourcen-Sparendes Filterscript, das Anticheat an sich ist im Callback "OnPlayerUpdate" geschrieben und läuft nicht über einen ressourcenfressenden Timer.


    Es verfügt über das AntiCheat und über einen Befehl um die Waffen eines Spieler zu resetten: /disarm [playerid]. Der Befehl funktioniert nur, wenn der ausführende Spieler als RCON Admin eingeloggt ist.


    Das Filterscript wurde zuletzt mit den SAMP0.3e -Includes compiled [siehe .rar-Paket: Pawno: Includes]
    Pastebin:
    http://pastebin.de/26155


    .rar-Paket im Anhang.


    Liebe Grüße :)

    Liebe Grüße


    Marcel

  • Du bist dir ganz sicher, dass es mehr Sinn ergibt, OnPlayerUpdate anstatt einen Timer zu verwenden? Ich dachte immer, dass OnPlayerUpdate für solche Dinge nicht geeignet ist.
    Ist ziemlich simpel gehalten und wirklich neu ist es auch nicht. Eine richtige Bewertung gebe ich vorerst nicht ab, vielleicht teste ich das Filterscript ja noch.

  • Dieses Anticheat wäre effektver wenn du einfach alle Waffen weg nimmst.


    Dein FS sperrt einfach die Waffen die nicht erlaubt sind und nicht die die ercheatet worden sind.


    @AzkarGames
    Ich wiederhole mich gerne :S
    Ohne OnPlayerUpdate wären effektive Anticheatsystem gar nicht möglich

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ahja, Unwissenheit.
    OnPlayerUpdate wird mehr als nur 1x pro Sekunde aufgerufen, da ist ein Timer viel effektiver. Außerdem werden keine Waffen wirklich erfragt oder gespeichert. Dein Anti.Cheat ist sehr sinnlos. Du solltest eins machen, das keine Waffen "Clientside" gecheatet werden können. (Stichwort: Serverseitige Variablen).
    Als Beispiel unsere Anti-Cheat Timer, läuft nur alle 20 Sekunden einmal durch, trotzdem bannt er alle Waffenhacker ;-). Daran siehst Du das es möglich ist.


    OnPlayerUpdate ist für solche Sachen, meiner Meinung nach, definitiv nicht geeignet.

  • Dieses Anticheat wäre effektver wenn du einfach alle Waffen weg nimmst.


    Dein FS sperrt einfach die Waffen die nicht erlaubt sind und nicht die die ercheatet worden sind.


    @AzkarGames
    Ich wiederhole mich gerne :S
    Ohne OnPlayerUpdate wären effektive Anticheatsystem gar nicht möglich

    Ich denke allerdings, dass ein Anicheatsystem, welches gegen Waffen ausgerichtet ist, durchaus mit einem Timer funktioniert, welcher gerade mal alle 10 Sekunden aufgerufen wird.

  • Gegen die Funktionsfähigkeit hab ich ja auch gar nichts gesagt,
    aber in OnPlayerUpdate wäre das durchaus effektiver

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • BlackAce, Du hast einfach keine Ahnung. OnPlayerUpdate ist mit so einer Sache extrem Ressourcenfressend. Ist genau das gleiche Thema wie beim Godfather, wo da die Accounts gespeichert werden.


    Zitat

    This callback is called very frequently per second per player, only use it when you know what it's meant for.

    Zum Thema ob man sowas für solch eine Funktion nutzen sollte, aus dem Englischen Forum:

    Zitat

    Depends on how many people are on the server.
    OnPlayerUpdate gets called 30 times a second, so you do the math.
    I would recommend a 1 second timer though.

  • Ich respektiere BlackAce und kann dir daher nur sagen:
    Du irrst dich. Er hat mehr ahnung als du jemals haben wirst.


    Nun B2T:
    BlackAce hat mit seiner Aussage durchaus recht.


    //Edit:
    Die Tatsache das du sowas nachlesen musst?

    graphics frontend web

  • Am effektivsten wäre eigentlich OnPlayerTakeDamage.
    wenn du Waffe einer dieser Waffen ist, ban oder so.


    Außerdem bringt es, wie blackace schon sagt, nichts gegen das ercheaten von Waffen.


    Außerdem ist #define Filterscript auskommentiert.


    1/10

  • BlackAce, Du hast einfach keine Ahnung. OnPlayerUpdate ist mit so einer Sache extrem Ressourcenfressend.


    Ich glaub eher du hast keine Ahnung.
    OnPlayerUpdate ist nur dann Resourcenfressend wenn man mega viele Abfragen drin hat, wie halt im GF.
    Aber das GF wurde ja nicht konzipiert auf 0.2X, als OnPlayerUpdate erst eingeführt wurde.
    Das GF wurde für 0.2 bis 0.2.2 geschrieben.


    Das merkt man aber auch an der Scriptweise.


    Außerdem sollte die heutige Serverhardware ein einfaches Anti-Waffencheatsystem aushalten.


    Du kannst auch gerne mal einen Vergleich machen.
    Timer der alle 5 Sekunden aufgerufen wird und alle Spieler durchgeht
    und OnPlayerUpdate.


    Wenn du das ergebnis hast können wir uns gerne wieder sprechen, vorausgesetzt du möchtest mir nicht wieder Unwissenheit oder sonst was an den Kopf werfen.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Achja, also file öffnen und schreiben, ist eigentlich an sich gar nicht Ressourcenfressend. Nur macht es hier die Menge ;) Godfather angepasst hin oder her, beim GF war auch nur das Speichern der Daten in OnPlayerUpdate ;)
    Wie gesagt, unter 30 Playern, ist das unter OnPlayerUpdate alles gar kein Problem. Bloß ist selber da ein Timer Ressourcenschonender (wenn man das in einen bestehenen inkludiert).


    @§krillex:
    Du kennst mich nicht. Du weißt weder was ich kann, noch was ich bis jetzt alles erstellt habe. Mund halten lieber einmal.
    Der Grund warum ich das rausgesucht habe ist, dass die anderen hier mal sehen, dass dies FAKT ist.

  • Das Problem bei der Sache ist, dass ein Server nebenbei auch noch mit anderen Sachen beschäftigt ist, da ein Server wohl kaum bloß aus einem Ant-Waffencheatsystem besteht.. Wenn du nun einen Server besitzt der gut besucht ist, kann man sich eigentlich ausrechnen wie viel Leistung so etwas ziehen kann. Ich sage bewusst kann, da 'meine' Server-Community nicht so groß und aktiv ist wie bei anderen Servern und ich deshalb nicht so viel Erfahrung damit habe. Desweiteren haben nicht alle Server die besten Vorraussetzungen im Bezug auf Leistung.


  • Du kennst mich nicht. Du weißt weder was ich kann, noch was ich bis jetzt alles erstellt habe. Mund halten lieber einmal.
    Der Grund warum ich das rausgesucht habe ist, dass die anderen hier mal sehen, dass dies FAKT ist.


    Ich akzeptiere es habe jedoch ein RIESIGES Problem mit der Aussage:
    "Mund halten lieber einmal."
    Gründe:
    Kein korrektes Deutsch
    Eine Art Provokation die ich hasse

    graphics frontend web

  • Achja, also file öffnen und schreiben, ist eigentlich an sich gar nicht Ressourcenfressend. Nur macht es hier die Menge ;) Godfather angepasst hin oder her, beim GF war auch nur das Speichern der Daten in OnPlayerUpdate ;)


    Du verstehts es nicht oder?


    Das OnPlayerUpdate war als das GF geschrieben wurde, gar nicht vorgesehen.
    Deshalb wurde das auch nicht bedacht.


    @AzkarGames & .ibiq
    Wenn ungefähr 10% der Leute auf dem Desktop sind wird OnPlayerUpdate auch nicht aufgerufen oder wenn sie sich nicht bewegen wird das auch kaum aufgerufen.
    Es wird nur dann gerufen wenn der Spieler für den Server/die anderen Spieler geupdatet werden muss.
    Und dass kann unterschiedlich oft sein.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Dann renn mit deiner "unwissenheit" in der Hinsicht weiter herum. Ich sage nur, dass dieses Skript definitiv nix für Anfänger ist. Da wenn diese ein Erfolgreichen Server (30+, ist nicht unwarscheinlich) haben, dann uns hier die Ohren voll heulen.^^
    BTW: Als 10% aufm Desktop, keine Ahnung wie Du darauf kommst, trotzdem kann man drehen und Wenden wie man will. Dieses "Callback" ist nun mal für andere Sachen gedacht.
    Wie AzkarGames schon sagte, das wird nicht das einzigste sein was läuft.

  • Meine Herren...
    jetzt zofft euch nicht wegen diese dummen OnPlayerUpdate...
    Ich habe oben das mit der englischen Sprache gelesen - ja, das habe ich mit Absicht so gemacht. Einen plausiblen Grund habe ich nicht, allerdings muss ich doch nicht rechtfertigen warum ich da englisch nehm? Ich kann ja auch französich nehmen ^^


    Das mit dem "ercheaten" - das kann man wirklich besser machen, aber so finde ich es in Ordnung.

    Liebe Grüße


    Marcel

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen