AC - Negativity [Spigot 1.7+, Sponge! & BungeeCord] [Optimized] 1.1.1

It's an anti cheat !

  1. Elikill58
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    Contributors:
    RedNesto
    Languages Supported:
    French, Portuguese, Norwegian, Russian
    Please, use latest version !

    You need PacketGate on Sponge

    banniere_twitter_neg_3.png
    - ForceField | KillAura
    - FastPlace
    - Speed | SpeedHack
    - AutoClick
    - Fly
    - AntiPotion | Zoot
    - AutoEat
    - AutoRegen | Regen
    - AntiKnockback | NoVelocity
    - Jesus | WaterWalk
    - NoFall
    - Blink
    - Spider
    - Sneak
    - FastBow | RapidBowShot
    - Scaffold
    - Step
    - NoSlowDown
    - FastLadders
    - Phase
    - AutoSteal
    - Edited Client | Cheat Engine

    - If you want to check a player:
    /negativity verif <player> [(optional) cheats, by default it's all cheats]

    - If you want to get some information about a player:
    /negativity <player>

    - If you want to report someone:
    /report <player> <reason>

    - If you want to do some mod thing (be invisible...):
    /mod

    - To ban people:
    /nban <player> <def(true/false) | time (ex: 2h5m)> <reason>
    - To unban people:
    /nunban <player>

    - To suspect a player:
    /suspect <message>

    [​IMG]
    tableau_negativity  3.png

    Code (Text):

    ###################################################################
    #                                                                 #
    #                            Negativity                           #
    #                      AntiCheat by Elikill58                     #
    #                                                                 #
    #              If you have a problem or a suggestion,             #
    #                    You can contact me on:                       #
    #                  - Discord: @Elikill58#0743                     #
    #       - my Discord server: https://discord.gg/KHRVTX2           #
    #               - Mail: [email protected]                    #
    #                   - SpigotMC: Elikill58                         #
    #                  - Minecraft.fr: Elikill                        #
    #                                                                 #
    ###################################################################
    log_alerts: true
    tps_alert_stop: 19 # if you get less TPS then this value, all alert will be disabled
    # To enable or disable /report
    report_command: true
    # To enable or disable /nban /nunban
    ban_command: true
    unban_command: true
    # To enable or disable /suspect . Auto disable if the 'suspect.enabled' is on false.
    suspect_command: true
    Database:
      isActive: false
      # To get the information. We use the player uuid to get the information.
      # We get only what you write. We never add or remove something.
      # We don't save your private information about your database
      url: "127.0.0.1/myDb"
      user: root
      password: "myPassword"
      table_perm: "myTable"
      table_lang: "myTable"
      table_ban: "ban"
      column_perm: "rank"
      column_lang: "lang"
      saveInCache: false # To do less request to your database
    inventory:
      alerts:
        no_started_verif_cheat: false # Don't see if the player isn't analsye for this cheat
        only_cheat_active: true # The cheat with an active detection
      inv_freeze_active: true
    # Bypass when you add effects
    #
    items:
      #ITEM_NAME:
      # when: WHEN_DISABLE_DETECTION
      # cheats: CHEATS_DETECTION_DISABLED (it's the ID of the cheats like fly, speedhack)
      #
      # when available:
      # always : disable when the player get it in their hand
      # right_click : disale when the player right click
      # left_click : disale when the player left click
      #
      COMPASS:
        when: always
        cheats: speedhack,fly
    #
    # Configuration about the permissions (basic and custom)
    #
    Permissions:
      defaultActive: true
      #
      # Only if it's an integer.
      # It's if your rank system work with power.
      # For example: If a player have 50, and you write 40, he would can use it
      #
      canBeHigher: false
      # Use "," to split all possibilites of custom permission
      showAlert:
        default: "negativity.alert"
        custom: "MOD,ADMIN"
      verif:
        default: "negativity.verif"
        custom: "MOD,ADMIN"
      mod:
        default: "negativity.mod"
        custom: "MOD,ADMIN"
      manageCheat:
        default: "negativity.managecheat"
        custom: "MOD,ADMIN"
      report_wait:
        default: "negativity.reportwait"
        custom: ""
      # To bypass ban system
      notBanned:
        default: "negativity.notbanned"
        custom: "ADMIN"
      ban:
        default: "negativity.ban"
        custom: "MOD,ADMIN"
      bypass:
        active: false
        all:
          default: "negativity.bypass.all"
          custom: "ADMIN"
        forcefield:
          default: "negativity.bypass.forcefield"
          custom: "ADMIN"
        fastplace:
          default: "negativity.bypass.fastplace"
          custom: "ADMIN"
        speedhack:
          default: "negativity.bypass.speedhack"
          custom: "ADMIN"
        autoclick:
          default: "negativity.bypass.autoclick"
          custom: "ADMIN"
        fly:
          default: "negativity.bypass.fly"
          custom: "ADMIN"
        antipotion:
          default: "negativity.bypass.antipotion"
          custom: "ADMIN"
        autoeat:
          default: "negativity.bypass.autoeat"
          custom: "ADMIN"
        autoregen:
          default: "negativity.bypass.autoregen"
          custom: "ADMIN"
        antiknockback:
          default: "negativity.bypass.antiknockback"
          custom: "ADMIN"
        jesus:
          default: "negativity.bypass.jesus"
          custom: "ADMIN"
        nofall:
          default: "negativity.bypass.nofall"
          custom: "ADMIN"
        blink:
          default: "negativity.bypass.blink"
          custom: "ADMIN"
        spider:
          default: "negativity.bypass.spider"
          custom: "ADMIN"
        fastbow:
          default: "negativity.bypass.fastbow"
          custom: "ADMIN"
        scaffold:
          default: "negativity.bypass.scaffold"
          custom: "ADMIN"
        step:
          default: "negativity.bypass.step"
          custom: "ADMIN"
        noslowdown:
          default: "negativity.bypass.noslowdown"
          custom: "ADMIN"
        fastladders:
          default: "negativity.bypass.fastladders"
          custom: "ADMIN"
        phase:
          default: "negativity.bypass.phase"
          custom: "ADMIN"
        autosteal:
          default: "negativity.bypass.autosteal"
          custom: "ADMIN"
        edited_client:
          default: "negativity.bypass.edited_client"
          custom: "ADMIN"
    Translation:
      no_active_file_name: "messages.yml" # where are the messages if the translation are not active
      active: false # enable or disable the translation
      lang_available:
      - en_US
      - fr_FR
      - no_NO
      - pt_BR
      - ru_RU
      use_db: true # to get the lang
      default: en_US
    #
    # You can put this plugin on your Bungeecord/Waterfall !
    # Why ? You can know when a player hack even if you're not on the same spigot's server !
    #
    hasBungeecord: false
    # The time between 2 /report
    # in millisecondes
    time_between_report: 1000
    ban:
      active: true
      # If you want to destroy BDD line / File line
      destroy_when_unban: false
      reliability_need: 90
      alert_need: 5
      # How to calculate the time during the player will be banned
      # IN MILLISECONDES
      time:
        # %reliability% : reliability of last alert
        # %alert% : number of alert sent
        caculator: "360000000 + (%reliability% * 10 * %alert%)"
      def:
        # Number that you need to be ban definitly
        ban_time: 4
      # To save banned player on config file (/plugins/Negativity/dir)
      #
      file:
        isActive: false
        dir: "ban"
      db:
        isActive: false
        column:
          # For the UUID
          uuid: "uuid"
          # To know when the player is unbanned
          time: "time"
          # If the ban is def
          def: "def"
          # reason of ban
          reason: "reason"
          # All other column that it must be filled
          other:
            # Replace olders:
            # %uuid% : player's uuid
            # %name% : player's name
            # %reason% : ban reason
            # %gm% : player's gamemode
            # %walk_speed% : player's walk speed
            # %level% : player's level
            # %life% : player's life
            #
            name: "%name%"
    suspect:
      # Start cheat detection when people suspect a player
      #  Suspecting detected with the chat and with /report
      #
      enabled: true
      chat: true
      with_report_cmd: true
    cheats:
      #
      # WARNING: An auto verification of all cheat can be create some lag on your server.
      #
      # Forcefield is to hit more entity than real people in the same time and further
      forcefield:
        reach: 3.97 # In blocks !
        ping: 150
        exact_name: "ForceField"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # Jesus is to walk on the water
      jesus:
        ping: 150
        exact_name: "Jesus"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # AntiPotion remove bad potion effect
      antipotion:
        ping: 150
        exact_name: "AntiPotion"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # NoFall remove fall damage
      nofall:
        ping: 150
        exact_name: "NoFall"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # AutoEat is to eat something instantly
      autoeat:
        ping: 150
        exact_name: "AutoEat"
        isActive: true
        reliability_alert: 60
        autoVerif: false
        setBack: false
        kick: false
        alert_to_kick: 5
      # FastPlace place a lot of block for you
      fastplace:
        ping: 150
        exact_name: "FastPlace"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # SpeedHack makes you run faster
      speedhack:
        ping: 150
        exact_name: "SpeedHack"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # AutoClick is to get more click than real people
      autoclick:
        click_alert: 20
        ping: 150
        exact_name: "AutoClick"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # Fly enable you to fly
      fly:
        ping: 150
        exact_name: "Fly"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # AutoRegen help you to get your health
      autoregen:
        ping: 150
        exact_name: "AutoRegen"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # AntiKnockback remove knockback effect
      antiknockback:
        ping: 150
        exact_name: "AntiKnockback"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # Blink enable you to teleport by simulating lag
      blink:
        ping: 150
        exact_name: "Blink"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # FastBow shoot bow quicker
      fastbow:
        ping: 150
        exact_name: "FastBow"
        isActive: true
        reliability_alert: 60
        autoVerif: false
        setBack: false
        kick: false
        alert_to_kick: 5
      # Spider make you walk on the wall
      spider:
        ping: 150
        exact_name: "Spider"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # Sneak make you sneaking but with basic speed
      sneak:
        ping: 150
        exact_name: "Sneak"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # Scaffold place block under you
      scaffold:
        ping: 150
        exact_name: "Scaffold"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # Step make you jump 2 blocks
      step:
        ping: 150
        exact_name: "Step"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # NoSlowDown remove slow down effects (like with soul sand)
      noslowdown:
        ping: 150
        exact_name: "NoSlowDown"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # FastLadders is to climb ladders quickler
      fastladders:
        ping: 150
        exact_name: "FastLadders"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # Phase is to glitch on block
      phase:
        ping: 150
        exact_name: "Phase"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # AntoSteal help with inventory (Take verything ...)
      autosteal:
        ping: 150
        exact_name: "AutoSteal"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # AntoSteal help with inventory (Take verything ...)
      edited_client:
        ping: 150
        exact_name: "Edited Client"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5
      # For all cheats
      all:
        ping: 150
        exact_name: "All"
        isActive: true
        reliability_alert: 60
        autoVerif: true
        setBack: false
        kick: false
        alert_to_kick: 5

     

    Everything is editable !

    There are permissions for all cheat.
    The first line in config is the most important. There is: if you want to log alert, if you want to disable /report and the whole permission system (Default system used by PermissionEx, GroupManager ... and other) with SQL support.
    For permissions:
    • showAlert: with it, you can see all alerts
    • verif: with it, you can activate checks on all players
    • mod: with it, you can do /mod
    • manageCheat: with it, you have a cheat manager in /mod, to edit this config but in game
    • report_wait: with it, you don't need to wait between 2 reports
    • bypass: with one of them, you bypass the alert of the specified part (for example, with bypass.forcefield, you bypass all alerts of forcefield)
    There is a translation system !
    • You can disable it
    • Unlimited lang
    • Available with SQL
    • Default lang
    You can enable and disable Bungeecord (this is automatically enables if you put the plugin on bungeecord).

    Then, there is a big part for all cheats:
    • exact_name: The display name
    • isActive: if you want to disable it
    • reliability_alert: required reliability to see alert
    • autoVerif: if the plugin auto check if player is using this cheat
    • setBack: rollbacks the cheat action (for fly, it's to tp the player on ground)
    • kick: if we must kick the player
    • alert_to_kick: required alert to kick the player

    Class utils:
    - Cheat (Enum: com.elikill58.negativity.spigot.utils)
    Code (Text):
    // Methods:

    String getName()
    boolean isActive()
    boolean setActive(boolean active)
    boolean needPacket()
    Material getMaterial()
    Class<?> getProtocolClass()
    int getReliabilityAlert()
    boolean isSetBack()
    boolean setBack(boolean back)
    int getAlertToKick()
    boolean allowKick()
    boolean setAllowKick(boolean allowKick)
    boolean isAutoVerif()
    boolean setAutoVerif(boolean auto)

    static Optional<Cheat> getCheatFromString(String name)
    There is 3 Event when a player is cheating.
    Firstly, "PlayerCheatEvent" is called. You can only get information.
    Then, "PlayerCheatAlertEvent" is called. With it, you can get information about the cheat and the cheater and say if you want to cancel the alert.
    Lastly, "PlayerCheatKickEvent" is called. It's the same as PlayerCheatAlertEvent but with the kick of the player.
    For information: if in the config, there is that the kick is disabled, by default, if you don't interact with this event, the kick will not appear.
    All available method for theses event:
    Code (Text):
    // in PlayerCheatEvent

    Player getPlayer()
    int getReliability()
    Cheat getCheat()
    Code (Text):
    // in PlayerCheatAlertEvent

    Player getPlayer()
    int getReliability()
    Cheat getCheat()
    boolean isCancelled()
    void setCancelled(boolean cancel)
    boolean hasPermToBypass()
    boolean hasManyReliability()
    boolean isAlert()
    void setAlert(boolean alert)
     
    Code (Text):
    // in PlayerCheatEvent

    Player getPlayer()
    int getReliability()
    Cheat getCheat()
    boolean isCancelled()
    void setCancelled(boolean cancel)
     
    Code (Text):
    // in PlayerPacketsClearEvent

    Player getPlayer()
    SpigotNegativityPlayer getNegativityPlayer()
     
    With Sponge, it's a little bit different.
    Class utils:
    - Cheat (Enum: com.elikill58.negativity.sponge.utils)
    Code (Text):
    // Methods:

    String getName()
    boolean isActive()
    boolean setActive(boolean active)
    boolean needPacket()
    ItemTypes getMaterial()
    Class<?> getProtocolClass()
    int getReliabilityAlert()
    boolean isSetBack()
    boolean setBack(boolean back)
    int getAlertToKick()
    boolean allowKick()
    boolean setAllowKick(boolean allowKick)
    boolean isAutoVerif()
    boolean setAutoVerif(boolean auto)

    static Optional<Cheat> getCheatFromString(String name)
    The main difference is here. I'm using the system of Sponge, so:
    Code (Text):
    PlayerCheatEvent (AbstractEvent, TargetPlayerEvent)

    Cause getCause() // With: The plugin, and the player
    Player getTargetEntity()
    Cheat getCheat()
    int getReliability()

    ////////////////////////////////////

    PlayerCheatEvent.Alert (PlayerCheatEvent, Cancellable)

    boolean isCancelled()
    void setCancelled(boolean cancel)
    boolean isAlert()
    void setAlert(boolean alert)
    boolean hasManyReliability()
    boolean hasPermToBypass()

    (+ all PlayerCheatEvent method)

    ////////////////////////////////////////

    PlayerCheatEvent.Kick (PlayerCheatEvent, Cancellable)

    boolean isCancelled()
    void setCancelled(boolean cancel)

    (+ all PlayerCheatEvent method)

    ////////////////////////////////////////

    PlayerPacketsClearEvent

    Player getPlayer();
    SpongeNegativityPlayer getNegativityPlayer();

     
    I'm working on it everyday (When i have the time to) !​
    You have a suggestion ? A bug ? A question ? You can contact me via :
    Donations : (Thanks you <3)
    [​IMG]

    Download wall:

    100 : Thanks you ;)
    500 : :confused: Merci
    600 : :cool::cool: Gracias
    700 : :eek: Danke
    800 : Arigato :D
    900 : tack :)
    1000 : grazie :eek:
    1500 : Obrigado
    2000 : þakka þér
    2500 : cảm ơn bạn
    3000 : terima kasih
    3500 : Շնորհակալություն​
    4000: děkuji
    4500 : rahmat
    5000 : sağol
    5500 : σας ευχαριστώ
    6000 : 谢谢 :D
    6500 : спасибо :')
    7000 : شكرا
    7500 : kiitos
    8000 : takk
    8500 : mulțumesc
    9000 : təşəkkür edirəm
    9500 : eskerrik asko
    10000 : 고맙습니다
    15000 : siyabonga

    Special thanks to:
    - RedNesto for the help with English translation and development
    - jheyson for the help with Portuguese translation
    - SuchHero for the help with Norwegian translation
    - VidTu for the help with Russian translation
    - you for translation too ? (Contact me)​

Recent Reviews

  1. VidTu
    VidTu
    5/5,
    Version: 1.1
    Yaaaaaaay! My translation!!!!!! ;)
    ------------------------------------------------------
    1. Elikill58
      Author's Response
      Sure ^^ When i tell something i do anything to successed !
  2. VidTu
    VidTu
    5/5,
    Version: 1.0
    Good plugin! Fast support of developer! Can I translate it to russian language?
    :)
    1. Elikill58
      Author's Response
      Thanks for your reply ! Go private for the translation ;)
  3. sergservis
    sergservis
    4/5,
    Version: 1.0-gamma
    With cheat there is a blow in private on the latest version but no damage! Spigot 1.8.8 Correct
  4. THEMINECRAFT951
    THEMINECRAFT951
    5/5,
    Version: 1.0-beta
    Great work guys ! :)
    The plugin will be on the github ? Maybe ? If i can contribute to it, sure i will :)
    1. Elikill58
      Author's Response
      Thanks !
      I don't know. Maybe yes, maybe not. I'm not sure.
  5. Dom1604
    Dom1604
    3/5,
    Version: 1.0-alpha
    Good but 'AAC' is a premium spigot AntiCheat, don't use it's name to boost your AntiCheat, plus the name is Negativity not AAC....
    1. Elikill58
      Author's Response
      Thanks you :)
      AAC is for "Advanced Anti Cheat".
      It's not a name, it's a type
  6. jheyson
    jheyson
    5/5,
    Version: 0.8.8
    1500 : Obrigado ?

    Portuguese:
    Ótimo plugin espero que no 1500 você coloque em português :D
    1. Elikill58
      Author's Response
      Thanks you for 5 stars :)
      Yes, i will write it for 1.500 download ;)
      Nada :')
  7. _Fede
    _Fede
    5/5,
    Version: 0.8.8
    Recommended anticheat, very nice detections

    I really enjoyed AntiForcefield and many others combat detections
    1. Elikill58
      Author's Response
      Thanks you :)
  8. Deadlyrock
    Deadlyrock
    1/5,
    Version: 0.8
    its not even sending alerts I got on an Alt can started clicking 20 cps.
    plus the /report does not have a cooldown which results spam reports from players.
    1. Elikill58
      Author's Response
      Hello, for the cooldown for /report, it's a good idea, i will fix it.
      Have you active the detection , (/negativity verif <player>) ? You can do 20CPS if you are very good/are lagging.
  9. TheLukeGuy
    TheLukeGuy
    5/5,
    Version: 0.7.1
    Nice plugin! .
    1. Elikill58
      Author's Response
      Thanks you :)
  10. olget-1998
    olget-1998
    5/5,
    Version: 0.7
    I love it :P
    --------------------------------------------------------------------
    1. Elikill58
      Author's Response
      Thanks you :)