"Reset_Hit_Cooldown" node is abusable (second post) #285


  • Defect
  • Waiting
Open
Assigned to shampaggon
  • _ForgeUser1569130 created this issue Jun 15, 2015

    #------------------ What steps will reproduce the problem?
    1. Use a melee weapon that has "Reset_Hit_Cooldown" node.
    2. Install a software that can trigger mouse click *very* fast.
    3. Hit something with the weapon using the software by 2 or more people on same target.

    #------------------ What happened?
    The "Reset_Hit_Cooldown" node's effect is applied to the target forever, until victim decided to relog. Needless to say, they would take massive amount of damage if they are in lava or cactus. Even bare hand deals massive damage if you use the "mouse click software".

    #------------------ What was supposed to happen?
    It should not applied to the target forever.

    #------------------ What version of CrackShot are you using?
    v0.98.2, the newest.

    #------------------ What version of CraftBukkit/Spigot are you using?
    tested via 1.8.1 and 1.8.3 Spigot.

    #------------------ Were there any errors in the console? If so, what were they?
    None.

    #------------------ Please provide your configuration file if necessary.
    http://hastebin.com/imakawowaq.sm

    #--------------------------------------------------------------------------------------

    Ok, That's the template part. I believe I have made a ticket about "energy projectile removes cooldown" like 1 weeks ago and I said the issue is solved. I was completely wrong. The issue was keep happening.

    I have investigated the issue and installed Crackshot only on test server if my player and I could reproduce the issue. At first glance, it seemed not happening at all. Then we decided using the mouse click softwares and hit same target on every tick. We successfully could reproduce this issue.

    For your information, we have tried several kind of "mouse click software".You may thing all of these software does same function, it is not. Some try to emulate mouse clicks, some try to just send "click events" to your PC, and some emulates certain function of your mouse driver. For your case, Logitech's G300 had a macro section. We have assigned a macro that emulates mouse click only twice on our left click and spammed as possible as we can. It could reproduce this issue almost everytime.

    Now this is tricky part.

    We also found the Mace weapon (http://hastebin.com/dejuvimine.cpp) where I pasted in my last ticket alone could reproduce this issue. "Reset_Hit_Cooldown" is clearly set to false but using said method COULD reproduce the issue for some reason but not applying the "Reset_Hit_Cooldown" effect forever. I mean, if you use some kind of software, you CAN hit the target 20 times in a second as long as you are using my Mace. Important part is, NOT all kind of these software can be used to reproduce the issue.

    We tried to use vanilla swords, tools, barehands to reproduce this issue to be ensure this is only happening on Crackshot weapon. We were correct. None of these worked. This is related to Crackshot we assume.

    All of these issue is tested on my test server. Installed Crackshot alone and no any other plugin. No essentials or Worldedit, none. Tested via 1.8.1 and 1.8.3 Spigot. This time, I only used one .yml of weapons at a time.

    Keywords are:
    For Daggers, "Reset_Hit_Cooldown" is true, requires at least 2 person to reproduce, applies the issue on victim forever.
    For Maces, "Reset_Hit_Cooldown" is false, you can reproduce this alone, does not apply the effect forever.
    In both case, NOT any option of mouse click software works. For our case, G300's mouse driver could reproduce this easier.

    It seems something going wrong when 2 or more people hitting same target using "Reset_Hit_Cooldown" melee weapons and you actually do not need to use "Reset_Hit_Cooldown" in order to reset the damage cooldown. Crackshot stands as "Gun plugin, or make your own weapon" plugin so people tend to use snowball function mainly while we use Crackshot as melee weapon maker. I think that's why this issue have not noticed I assume.

  • _ForgeUser1569130 added the tags New Defect Jun 15, 2015
  • Shampaggon posted a comment Jun 15, 2015

    Thank you for the remarkably detailed description and investigation, and I apologize if this problem has wasted an excessive amount of your time.

    For the Mace weapon:
    It uses the Explosions module. By design, explosions will always reset the hit-cooldown; and this is unlikely to change. If it is a problem, I would recommend modifying the design of the weapon.

    For the Daggers weapon:
    Thank you for bringing this to my attention! Keep an eye out for version 0.98.3, which should completely prevent this from occurring.

  • Shampaggon removed a tag New Jun 15, 2015
  • Shampaggon added a tag Waiting Jun 15, 2015
  • _ForgeUser1569130 posted a comment Jun 16, 2015

    Thanks for input. I appreciate for your fantastic work.

    For the Mace weapon part, I do not think this kind of weapon is commonly used on the servers. It should not be a problem for other server owners too. I think I just use fake explosion nodes to not make this happen again.

    For daggers, I would like to know why it was happening. I hardly believe the mouse clicker software is that commonly used and people dies in my server in 1 or 2 hits so being hitted by 2 or more people at same time is rather rare case yet 35 of 40 players had this issue. I was originally thinking it was Spigot's net code side issue. What was causing this?

  • _ForgeUser1569130 removed a tag Waiting Jun 16, 2015
  • _ForgeUser1569130 added a tag Replied Jun 16, 2015
  • Shampaggon posted a comment Jun 16, 2015

    @umegonta: Go

    In a nutshell: the implementation was not comprehensive. Ever since Bukkit altered the damage API (~1.7.10), it is no longer possible for the Reset_Hit_Cooldown node to work perfectly as it did before.

    Let me know if the new version fixes the problem for you.

  • Shampaggon removed a tag Replied Jun 16, 2015
  • Shampaggon added a tag Waiting Jun 16, 2015

To post a comment, please login or register a new account.