AntiHack-Plugin

Dieses Thema im Forum "Programmierung" wurde erstellt von Yellowphoenix18, 16. Oktober 2014.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Heyho,
    heute habe ich einmal eine generelle Frage,da ich derzeit dabei bin alle unsere Systeme(Plugins,etc.) selbst zu schreiben,brauche ich natürlich auch ein eigenes AntiHack,doch leider haben meine Versuche nichts bewirkt.Ich habe bis jetzt schon super viel im Internet gekramt doch nichts brauchbares gefunden.Doch brauche ich das Plugin dringend noch vor der Eröffnung am 1.Nov. . Daher nun meine Frage,ob jemand von euch eine Idee hat bzw. weiss, wie man gucken kann ob jemand Fly-Hack nutzt.

    Ich freue mich schon auf eure Antworten.

    mfg YellowPhoenix18
     
    #1
  2. [Dev] iTzSasukeHDxLP
    Offline

    [Dev] iTzSasukeHDxLP Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    938
    Ein eigenes AntiHackPlugin zu programmieren ist, wenn du nicht weißt, wie du anfangen sollst, ein sinnloses Unterfangen. Jedoch ist das Grundprinzip einfach: Du weißt, wie schnell sich etwas bewegen kann/darf. Du arbeitest, wie ein Blitzer auf der Straße. Wenn sich etwas in einer bestimmten Zeit weiter bewegt, als es in s = t*v könnte dann kann irgendetwas nicht stimmen. Wie man das beim Fliegen macht, muss man sich selber zurechtlegen. Am besten orientierst du dich an vorhandenen Plugins, wie NCP, aber ich kann dir sagen, dass du wenig Erfolg haben wirst.
    Es spricht nichts gegen die Verwendung des Originals.
     
    #2
  3. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Natürlich nicht,doch haben wir ein Netzwerk und wollen global kicken/per Mysql-Abfrage bannen. Ich hatte ja auch schon mehrere Ideen,aber am Ende kam heraus,das man es nicht über die Höhe machen kann,da Wasser nicht als Block gerechnet wird.Daher suche ich halt nach einem kleinen Denkanstoß ;)
     
    #3
  4. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    #4
  5. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Hab ich schon getetstet,leider geht das nicht.. ;(
     
    #5
  6. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Du könntest doch das PlayerKickEvent benutzen und bei der Kicknachricht schauen, ob diese von NCP ist. Wenn dies der Fall ist, trägst du den Spieler in die Datenbank ein und prüfst immer, wenn der Spieler auf den Server kommt , ob dieser gebannt ist etc.
    Leider gibt es keine Funktion, mit der man direkt prüfen kann, on der Spieler gebannt wurde bzw. Ein PlayerBanEvent.
     
    #6
  7. [Dev] iTzSasukeHDxLP
    Offline

    [Dev] iTzSasukeHDxLP Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    938
    @MiCrJonas1997 @Bl4ckSkull666
    Diskutiert das bitte in einer Unterhaltung. Wenn ihr euch auf eine gute Methode geeinigt habt, könnt ihr sie präsentieren. Die Posts lösche ich jetzt, da sie etwas vom Thema abdriften.

    Übersetzung von @manf:
    Diskutieren, ob wie und warum hier ein HashSet oder eine Arraylist ( Schnitzel oder Kotelett) nötig ist, könnt ihr gerne privat. Hier geht es um 'Denkanstöße' keine 100% mikrooptimierte Superlösung. Diskussionen über die Entscheidung von einzelnen Teammitgliedern könnt ihr auch gerne per Unterhaltung machen. Ansonsten haltet euch an die Forenregeln.
     
    #7
  8. Janhektor
    Offline

    Janhektor

    Registriert seit:
    10. Januar 2013
    Beiträge:
    11
    Du könntest die Fluggeschwindigkeit wie folgt berechnen:

    Code (Text):
    1. static final double MAX_BLOCKS_PER_SECOND = 3.0D;
    2.  
    3. Map<String, Location> positions = new HashMap<String, Location>();
    4.  
    5. Map<String, Long> moveTimes = new HashMap<String, Long>();
    6.  
    7. @EventHandler
    8. public void onPlayerMove (PlayerMoveEvent e) {
    9. Player p = e.getPlayer();
    10. if (positions.containsKey(p.getName())) {
    11. double blocksMoved = p.getLocation().distance(positions.get(p.getName()));
    12.  
    13. if (moveTimes.containsKey(p.getName()) {
    14. long diff = System.currentTimeMillis() - moveTimes.get(p.getName());
    15. double movedPerSecond = blocksMoved / (diff / 1000);
    16. if (movedPerSecond > MAX_BLOCKS_PER_SECOND) {
    17. // Spieler hat sich schneller bewegt, als möglich
    18. }
    19. }
    20.  
    21. }
    22. }
    23.  
    Natürlich müsstest du den Code noch weiter verändern (z.B. die Werte in die HashMap packen) und er lässt sich noch optimieren.
    Dies hier dient lediglich dazu, um dir zu demonstrieren, wie so eine Funktion ungefähr aussehen kann.

    Ich würde dir auch zu NoCheatPlus raten.
    Natürlich ist es schön, selbst ein AntiCheat-Plugin zu programmieren.
    Aber viel besser als das, was es schon gibt, wird es nicht werden, da die vorhandene Version schon alles weitgehend abdeckt.
    Und so weit ich weiß, stellt NCP sogar noch eine Schnittstelle für Entwickler bereit, womit du dein Vorhaben sicher auch gut umsetzen könntest.

    Janhektor
     
    #8
  9. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    "blocksMoved / (diff / 1000);" -> "
    blocksMoved / (diff / 1000D);"
    Und man kann auch einfach den Spieler in der Map als Keyboard benutzen, statt den Spielernamen.
     
    #9
  10. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Ich habe es nun hin bekommen,ich nutze nun einfach die Bukkit-Detection ;)
     
    #10
  11. 可愛い
    Offline

    可愛い

    Registriert seit:
    19. Mai 2014
    Beiträge:
    654
    Mal so ne ganz grundsätzliche Frage: Warum zur Hölle willst du alle deine Plugins selbst entwickeln? Entwickelst du auch dein eigenes Betriebsysteme einfach nur weil es geht? Es gibt Plugins, die genau das machen, was du suchst. Wenn du keine Ahnung hast, wie man eigene Cheats und Hacks in den Vanilla Client baut, dann brauchst du eigentlich nichtmal anfangen über ein Plugin nachzudenken, dass solche verhindern soll. Und ich nehm nun einfach aml an, dass du das nicht weißt weil sonst wär das für dich kein Problem zu wissen wie man gegen Cheats vorgeht. Das geht schließlich Hand in Hand.
     
    #11
    MiCrJonas gefällt das.
Status des Themas:
Es sind keine weiteren Antworten möglich.