Inactive [SEC] NoCheat v3.5.0 [CB 1.2.4 R1.0][ABANDONED]

Discussion in 'Inactive/Unsupported Plugins' started by Evenprime, Feb 15, 2011.

  1. Offline

    Evenprime

    Xp10d3, Dereku, MyPictures and 35 others like this.
  2. Offline

    LSky

    I've been experiencing people that seemingly run around with superpickaxes, destroying areas with a radius of like 5-10 with just a click. Any idea what this is or how to fight it?

    Someone else joined my server earlier, claiming he scripted a mod himself that messes with packages to allow him to break any block with his fists instantly. It obviously worked. Any idea what to do against this? Because if that's so easy to do, this will go completely out of hand soon.
     
  3. Offline

    Evenprime

    CraftBukkit build 670 should've fixed that by using a serverside timer for block breaking, preventing people from instant-breaking blocks with client mods. If you are using an older CraftBukkit, updating will fix that.
     
  4. Offline

    LSky

    That's a big relief. It'll be over soon then, because apparently a 1.5 compatible RB is coming soon.
     
  5. Offline

    Senzuri

  6. Offline

    Tfs Halo

    okay is there support for the notch anti fly thing? because it's set to off but i can fly... and my other owner can't he gets kicked. i do not want to enable flying because then my guests can escape my spawn tower.

    so please update this or help me find a solution because right now i can't think of any.

    cb version 714
     
  7. Offline

    Evenprime

    If he gets kicked, then the notch anti fly thing is likely not deactivated (you'll have to write "allow-flight=true" in the server.properties file to deactivate it, I think). My plugin still works the same like with MC 1.4.

    You can also run both at the same time, but that means that notch's anti fly thing will kick people even if they are allowed to fly by my plugin, I don't/can't prevent it from doing that.

    I've updated the original post to reflect that the plugin still works with newer bukkit versions (as far as I've tested).
     
  8. Offline

    Tfs Halo

    that is exactly what i was worried about... dang it this is going to be tough

    and omg i just realized something! u are the author of convenient inventory! omg i worship you :O :D Thank you for such a wonderful mod and a wonderful plugin even though notch had to mess it up -.-
     
  9. Offline

    Senzuri

    What are your thoughts on this?

     
  10. Offline

    Evenprime

    I have a good idea of why that happens, but I've not been able to track down the error (yet).

    I'll likely not be able to fix the actual error with my plugin (parts of bukkit or minecraft would need to be changed for that), but I can probably prevent the error from being exploited for now and supply additional information to the bukkit team such that they can fix it. Plugin update will probably be finished sometime later today (if it works).

    Version 0.8.7:

    - New check "itemdupe" that will prevent players from picking up stacks with invalid "amount" value (and delete those stacks) and prevent players from using invalid stacks more than once (before deleting them).

    Ok, here is the description of what happens:

    When a player dies while using the Workbench, the items in the workbench fall to the ground (as expected), but bukkit doesn't handle these dropping items properly/at all (only the items that are in the users inventory). This causes some conflict (I still can't find the exact spot where this happens) between Minecraft and bukkit which results into multiple copies of the items falling to the ground, one with the correct "amount" value (e.g. for unstackable food that is 1) and multiple copies with "amount" value 0 (during my testing usually 3-4 such copies).

    When using a item with "amount" value 0, the value will become "-1" and the item can be used infinitely.

    Now what I am doing:

    When a player picks up a item, I check the "amount" value. If it is lower or equal to 0, I cancel the pickup event and delete the item from the world. This prevents the creation of new buggy itemstacks.

    When a player uses a item with "amount" equal to 0, I can't do anything, because the PLAYER_INTERACT event is buggy in that case (it won't tell me what item the player tries to use), but the next time the same stack is used I can detect it, because this time the "amount" is -1, which somehow doesn't disturb PLAYER_INTERACT so that it will tell me what item the player used now. This should reduce the amount of buggy items over time.

    What you have to do:

    This check is disabled by default! You have to activate it (as usual) by editing the nocheat.yml. Why is it not active by default? Because some other plugins may rely on the infinite usability of such buggy itemstacks and people would get really angry at me for deleting their items from their inventories/world.

    So be careful, you have been warned.

    PS: I forgot to mention that you'll get log messages whenever someone picks up or uses such a bogus itemstack.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
  11. Offline

    Ahfaichucky

    does the no cheat permissions cancel the check for the item dupe check?
     
  12. Offline

    Evenprime

    No. I didn't implement permissions in combination with it. I can do that for the next version, but I don't think there is a reason to allow this form of item duplication.

    Version 0.8.8:

    - Use permission "nocheat.itemdupe" (or if you don't use Permissions, make them OP) to deactivate the new "itemdupe" for players.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
  13. Offline

    icomeinpieces

    testing on CB733 and the speed hack checking doesn't seem to catch people one of my testers is using something called time control it speeds up the client's computer clock to speeds up movement
     
  14. Offline

    Evenprime

    It's a bit unreliable, because it only catches players who actually move around nonstop for 2-3 seconds with that type of computer clock manipulation. I've been thinking about changing how that speedhack check works to reduce that timespan and catch people earlier (the long timespan is to accomodate potential server lag). I'm currently testing the new version that'll catch people within 1 second and will probably be able to release it in the coming hour(s).

    Version 0.8.9:
    • Major code rewrite to have a cleaner seperation between the checks

      I wanted to do this for a while now. Especially "moving" and "speedhack" check were entangled with each other which led to all kinds of problems and made it hard (for me) to predict the effects of changes made to one of those two on the other.
    • Only registering listeners for checks that are activated and only reserve memory for data that is needed by active checks

      Up until now I just registered a dozen event listeners at startup, no matter what your configuration file looked like. Those that weren't needed didn't do much (almost no CPU time wasted), but not having them at all is better and cleaner.
    • Measure server lag every half second

      Also something I wanted to do for a long time, but didn't know how to do. I'm now just waiting for the server to work for 10 ticks, and then compare the time it took for those 10 ticks to the expected time of 500 ms. The difference is server lag.
    • More precise speedhack check (detection within 1 second instead of 2-3 seconds)

      It does the same as before, but instead of counting events every second for up to 3 seconds to react, it now counts events for every half second for up to 1 second before actions are taken. If there was a considerable server lag inbetween, the results are thrown away and it starts counting again to prevent false positives due to server lag.
    • Changed default format of the moving violation messages to show lower precision coordinates (1 instead of 5 digits behind the point).

      Instead of (xx.xxxxx, xx.xxxxx, xx.xxxxx) coordinates now get the format (xx.x, xx.x, xx.x) by default, unless there is written something different in your nocheat.yml.
    The changed speedhack check and the seperation between moving and speedhack check could've led to new bugs in the plugin. If you experience unexpected behaviour, be sure to tell me about it. I did test this version, but obviously I can't test every situation in the whole game.

    PS: Tested it for new RB #733, still works

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
  15. Offline

    Senzuri

    I've found yet another item dupe...

    This one requires you to have material that crafts something (e.g. Iron Ingots)

    Steps to reproduce (Other methods may work):
    1. Set yourself on fire at 5 hearts.
    2. Put 9 Iron Ingots into the workbench
    3. Wait until you die, take the Iron Block and dump it onto the ground.

    May take a while to get it to work, but trust me, it works.

    Hope you can find a fix, thanks...
     
  16. Offline

    nobodyshome

    when i try and fly with permissions '*' it says flyings not enabled on this server when shouldn't it egnore me?
     
  17. Offline

    Evenprime

    That is notch's no-fly check. You'll have to deactivate it by editing your "server.properties" file. Look for a line "allow-flight=false" and replace it with "allow-flight=true". That deactivates notch's no-fly check completely.

    Version 0.9:

    - FIXED the Item duplication bugs that have popped up the last few days with my "itemdupe" check. Remember, it's not active by default, you'll have to activate it first by editing nocheat.yml to get it to work. This will prevent the creation of new bogus items by exploiting that bug with the workbench, but won't help you with getting rid of existing ones.

    - Improved the "itemdupe" check to also check dropped items (and because I can't delete them, I convert them to dirt), and whenever something suspicous is found, scan the whole player inventory for illegal items and remove them (to at least catch and some of the bogus items already in the game).

    Attention server admins: I can't scan all chests and other containers for such illegal items. But I believe there are tools out there that allow to do that. You'll basically have to search for item stacks that have a amount of 0 or less and delete them. They can be used to create a unlimited amount of legitimate copies of that item (in a way that I can't prevent, because bukkit doesn't have inventory events) if you don't delete them.

    PS: The plugin may no longer work with pre 1.5 versions of bukkit, because I now have to call a Minecraft method directly, bypassing bukkit.


    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
  18. Offline

    Umbra

    It appears that player can still dig as they wish with that "hack" even with the latest RB. (#733 atm)
    If there's something you can do about it I'll be glad to hear that.

    Thanks
     
  19. Offline

    Evenprime

    They must be using something different then, because the clock forward hack definitely doesn't work anymore for instant blockbreaking. Just tested it again with #733. The client will display the blocks as being broken, but they reappear after a short time (or immediatly when the player touches them), because the server simply doesn't accept the fast block breaking.
     
  20. Offline

    Umbra

    Alright, I'll make sure that they are still using this hack and if this really works.

    Thanks again
     
  21. Offline

    andrewkm

    Thank you so much for continued support after 1.5
    The minecraft fly thing is horrible.
    Server.properties allow fly true
    and just use this!
    [733] perfect! :D
     
    The PC Tech Guy likes this.
  22. Offline

    Evenprime

    :D

    Version 0.9.1

    • Split the "itemdupe" check into "itemdupe" and "bogusitems" check

      The "itemdupe" check now only prevents the exploitation of the workbench for dupe creation, and is therefore safe to use for everybody. The exact same fix is already incorporated in Bukkit build #735, so you can upgrade to that instead of activating this check. The "itemdupe" check will therefore only be temporary and get removed from my plugin the moment I no longer support any versions before #735.

      The "bogusitems" check will become a collection of stuff that is dedicated to finding and deleting bogus items that were created with the workbench or another such bug/exploit. Again, if any of your plugins intentionally produce bogus itemstacks with amount lower/equal 0 then you should not activate this, because you'll lose those items. If you are unsure you should either test it in a safe environment or ask the plugin developer if he/she does create such itemstacks with his/her plugin.
    • Log the deletion of bogus items instead of just writing to the console
      An oversight from the previous version. Instead of just writing to the console, write to all log locations as usual.
     
  23. Offline

    floit

    Hello I have a question, is it possible to get false warnings when your server is lagging? Or has lag no effect on the plugin?
     
  24. Offline

    MacVaultDweller

    Even as op I am prevented from flying with Zomby's fly mod.
    I get kicked with the message that flying is not allowed on this server.
    cb 733
    NoCheat Version: v0.9.1
    GroupManager
    permissions
    - '*'
    Listed in the ops.txt
     
  25. Offline

    Ahfaichucky

    did you turn on flying in servers properties file?
     
  26. Offline

    The PC Tech Guy

    I know in previous versions lag did affect it, but not too horibly. I rarely ever get any false positives now, so... but yes, it is possible. Usually if it's very bad lag, and someone is jumping up something rather quickly during it.
     
  27. Offline

    MacVaultDweller

    THANK YOU THANK YOU THANK YOU!
     
  28. Offline

    The PC Tech Guy

    :D
    @Evenprime
    Minecraft's flying protection is awful IMO, it doesn't compensate for lag (explosions, and client still rendering an early stage of it), as well as plugins that sometimes glitch up (usually via lag, such as /superjump in the "God Powers for Bukkit" plugin). I'm glad you still support this, as Minecraft's check is pretty bad, and I may turn it off if it causes too many false positives.

    Also, I tested your plugin (in MC 1.4_01 version 8.x) and it does very well. The best I could do was barely getting over a one-block high fence with some difficulty.
    Also, you should add Antixray to your OP, it works via a lighting system to find out which ores to hide/show.
     
  29. Offline

    Evenprime

    Thanks for the kind words. :)

    And I've added Antixray to the OP.

    Now that the item duplication bug is fixed, I can go back to what I actually wanted to do this week: Clean up my code to make changing/adding stuff more fun and less tedious (and less likely to break).
     
    arthoz likes this.
  30. Offline

    faroutmat

    We have a client side flying plug in. When No-Cheat stopped working, we decided to remove it from the server, along with the permissions nodes. For some reason, we are still continuously being kicked from the server for flying. How is this possible since the plug-in is no longer there, and how do we fix it?
     
  31. There was a new setting added to Minecraft in 1.5. Check your server.properties, you should see something called "allow-flying" or something like that.
     

Share This Page