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

  2. Offline

    Evenprime

    NoCheat 2.20a:
    • made info of "/nocheat playerinfo" and corresponding API call more verbose (differentiate between flying, running, sneaking, swimming)
    • new bugfix "inventory.closebeforeteleports" (default true) which will cleanly close all inventory screens of players when they get teleported, preventing smuggling of items past plugins between worlds and duplication in many cases.
    • projectiles should no longer be handled by the "fight" checks, even if they are used by players to attack other players

    This "inventory.closebeforeteleports" bugfix is what I mentioned before. When it is active, it will prevent players from taking items with them , if they were lying on a workbench or another such temporary location during the teleport. Instead, the items will drop to the ground where the player stood. This also prevents the creation of "invalid" items that can't be picked up (usually) at the original location.

    For some reason in the newer CraftBukkit versions, a player attacking another player with an arrow will cause two damage events, one that's arrow vs. player and one that's player vs. player. I now ignore both events, as all the "fight" checks were meant to be applied only to direct hand-to-hand combat in the first place.
     
  3. Offline

    theboy

    One of the players on my server keeps triggering one of the checks, "11.12.03 00:02:27 [INFO] NC: ####### failed moving.running.sneaking. VL 7" (With their name in pounds) Is this often seen without modding? He triggers it a lot, but swears he doesn't know how to client mod. And nobody else on the server hits it. Should I consider network lag a possibility? Thanks! CB: 1556 and NC: 2.20.
     
  4. Offline

    Evenprime

    The "sneak" hack is one of the easiest hacks to make. There are two ways to trigger it without hacks.

    For the first you have to really work hard. It involves a lot of sprinting, jumping, starting to sneak in midair, after landing stop sneaking, repeat. After some repetitions of that it trigger, because technically the player moved faster while sneaking than normally possible.

    The second is the result of plugins messing around with sneaking. Whenever a plugin lets people sneak and walk at normal speed at the same time, that's usually incompatible with NoCheat, as NoCheat can't differentiate between a plugin setting a player in sneak mode or the player doing it himself.

    Lag will not play a role in this. Even if a player experiences lag his steps are received and handled in the correct order by the server. NoCheat only flags if the player moved too far with a single step, and the stepsize stays the same no matter how much lag the player has.

    So I'd say he is using a client mod.

    NoCheat 2.20a has a bug in it that will prevent people from using the chat if you use plugins like xAuth and their "freeze" feature(s).


    Use NoCheat 2.20b instead (just uploaded it, should be available very soon). That's the only difference between the two versions.

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

    hugonoob

    What happend if i use speed potions? i cant run fast?
     
  6. Offline

    Evenprime

    NoCheat will know that you used a speed potion, therefore you should be able to run faster when using speed potions without NoCheat stopping you.
     
  7. Offline

    teegee543

    I'm getting this error occasionally:
    http://pastebin.com/rAmrXN9G

    Craftbukkit version git-Bukkit-1.8.1-R4-87-gf4ed568-b1559jnks (MC: 1.0.1) (Implementing API version 1.0.0-R1-SNAPSHOT)
    NoCheat version 2.20b
     
  8. Offline

    Evenprime

    A very strange bug. I found a few references to that happening (a switch over enum causing IllegalAccessError), but no real explaination why. It has to do something with the platform that is running the code, but I'm too lazy to find out what it is, so I'll simply get rid off the switch over enum for the next version.
     
  9. Offline

    oldirtyb

    Hey, ive been using no cheat.. great plugin, but ive noticed a bug when it comes to bow and arrows. 90% of the time i shoot someone, it will come up with nocheat swing error.. and will do no dmg to the person.

    I have tested it with friends (makign them stand still so i know im not missing :p) But still i get the error.

    My server is PvP based and bows and arrows used a ton! but i need nocheat >.>

    are you aware of this bug? I have read alota posts and it doesn't seem anyone else has this complaint :(
     
  10. Offline

    Evenprime

    Depends on what version you've been using. NoCheat 2.20b fixes problems with bows and arrows, so if you didn't try that version already, I highly recommend that.
     
  11. Offline

    oldirtyb

    My friend does the plugins for server and he said he got that version... I guess ill go in and make sure myself though. Just to clarify though, what I'm saying was a known problem, and your patch fixed it? Or was there something else wrong with arrows?

    Thanks for the quick response, I appreciate it a TON!
     
  12. Offline

    Evenprime

    Yes, I had multiple problems with arrows (I actually intended to ignore arrows completely, but somehow that's harder than expected). One of them was that arrows tended to cause failing the "noswing" check, which I fixed a while ago. But I that only fixed the problem for shooting monsters, as I found out recently. The last patch for 2.20b should fix that problem for player vs. player fights too (at least during testing on CB 1550 it did).
     
  13. Offline

    oldirtyb


    Thanks again man, and keep up the amazing work! nohomo heart incoming <3
     
  14. Offline

    Djrowling

    @Evenprime I'm not sure if this hack is blocked by NoCheat but i'd like to report it anyway. Basically a player with this hack can simpily type .drop 2 and drop down 2 spaces. This is very bad for faction/PvP servers as players can just hack into bases. I know it blocks going 25 drops but i'm not sure about small drops. Anyway hopefully this is fixed (or already fixed). Thanks for all your hardwork on making PvP servers exist! :D
     
  15. Offline

    bobeeb

    today our server stopped twice by nocheat

    bukkit 1566 nocheat .20b

    Code:
    2011-12-09 20:30:43 [SEVERE] NC: Plastickwood failed fight.selfhit: tried to attack himself. Total violation level so far 1.
    2011-12-09 20:30:43 [SEVERE] Could not pass event ENTITY_DAMAGE to NoCheat
    java.lang.StringIndexOutOfBoundsException: String index out of range: 200
        at java.lang.String.substring(Unknown Source)
        at com.alecgorge.minecraft.jsonapi.adminium.PushNotificationDaemon$ConsoleHandler.publish(PushNotificationDaemon.java:95)
        at java.util.logging.Logger.log(Unknown Source)
        at java.util.logging.Logger.doLog(Unknown Source)
        at java.util.logging.Logger.log(Unknown Source)
        at cc.co.evenprime.bukkit.nocheat.log.LogManager.logToConsole(LogManager.java:56)
        at cc.co.evenprime.bukkit.nocheat.log.LogManager.log(LogManager.java:41)
        at cc.co.evenprime.bukkit.nocheat.NoCheat.log(NoCheat.java:184)
        at cc.co.evenprime.bukkit.nocheat.checks.Check.executeLogAction(Check.java:67)
        at cc.co.evenprime.bukkit.nocheat.checks.Check.executeActions(Check.java:50)
        at cc.co.evenprime.bukkit.nocheat.checks.fight.SelfhitCheck.check(SelfhitCheck.java:30)
        at cc.co.evenprime.bukkit.nocheat.events.FightEventManager.handleEntityDamageByEntityEvent(FightEventManager.java:87)
        at cc.co.evenprime.bukkit.nocheat.events.EventManagerImpl$EntityL.onEntityDamage(EventManagerImpl.java:282)
        at org.bukkit.plugin.java.JavaPluginLoader$63.execute(JavaPluginLoader.java:700)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:208)
        at net.minecraft.server.MobEffectList.a(SourceFile:118)
        at net.minecraft.server.EntityPotion.a(EntityPotion.java:69)
        at net.minecraft.server.EntityProjectile.w_(EntityProjectile.java:151)
        at net.minecraft.server.World.entityJoinedWorld(World.java:1253)
        at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:107)
        at net.minecraft.server.World.playerJoinedWorld(World.java:1235)
        at net.minecraft.server.World.tickEntities(World.java:1142)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:512)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:419)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    2011-12-09 20:30:43 [SEVERE] java.lang.StringIndexOutOfBoundsException: String index out of range: 200
    2011-12-09 20:30:43 [INFO] Stopping server
    Code:
    2011-12-09 20:28:47 [SEVERE] NC: Laurenzia failed fight.selfhit: tried to attack himself. Total violation level so far 1.
    2011-12-09 20:28:47 [SEVERE] Could not pass event ENTITY_DAMAGE to NoCheat
    java.lang.StringIndexOutOfBoundsException: String index out of range: 200
        at java.lang.String.substring(Unknown Source)
        at com.alecgorge.minecraft.jsonapi.adminium.PushNotificationDaemon$ConsoleHandler.publish(PushNotificationDaemon.java:95)
        at java.util.logging.Logger.log(Unknown Source)
        at java.util.logging.Logger.doLog(Unknown Source)
        at java.util.logging.Logger.log(Unknown Source)
        at cc.co.evenprime.bukkit.nocheat.log.LogManager.logToConsole(LogManager.java:56)
        at cc.co.evenprime.bukkit.nocheat.log.LogManager.log(LogManager.java:41)
        at cc.co.evenprime.bukkit.nocheat.NoCheat.log(NoCheat.java:184)
        at cc.co.evenprime.bukkit.nocheat.checks.Check.executeLogAction(Check.java:67)
        at cc.co.evenprime.bukkit.nocheat.checks.Check.executeActions(Check.java:50)
        at cc.co.evenprime.bukkit.nocheat.checks.fight.SelfhitCheck.check(SelfhitCheck.java:30)
        at cc.co.evenprime.bukkit.nocheat.events.FightEventManager.handleEntityDamageByEntityEvent(FightEventManager.java:87)
        at cc.co.evenprime.bukkit.nocheat.events.EventManagerImpl$EntityL.onEntityDamage(EventManagerImpl.java:282)
        at org.bukkit.plugin.java.JavaPluginLoader$63.execute(JavaPluginLoader.java:700)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:208)
        at net.minecraft.server.MobEffectList.a(SourceFile:118)
        at net.minecraft.server.EntityPotion.a(EntityPotion.java:69)
        at net.minecraft.server.EntityProjectile.w_(EntityProjectile.java:151)
        at net.minecraft.server.World.entityJoinedWorld(World.java:1253)
        at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:107)
        at net.minecraft.server.World.playerJoinedWorld(World.java:1235)
        at net.minecraft.server.World.tickEntities(World.java:1142)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:512)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:419)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    2011-12-09 20:28:47 [SEVERE] java.lang.StringIndexOutOfBoundsException: String
    2011-12-09 20:28:47 [INFO] Stopping server
     
  16. Offline

    Evenprime

    That's really hard/impossible to fix, because Minecraft is very bad at clipping. To prevent players from doing that I'd have to find a reliable way to decide if a player is moving through a wall or not. I tried to do such a thing once, but it is pretty much impossible to do right. Sorry.
    https://github.com/alecgorge/jsonapi/issues/102

    I've opened a support ticket for the adminium/JSON Api software you use. It is a bug in their software that prevents it from handling very short log messages correctly. Just follow the above error ticket to see if/when it gets fixed.
     
  17. Offline

    fffizzz

    He posted a fix in his thread, I reported a similar issue, hes resolved a few problems related to JSONapi..
     
  18. Offline

    bobeeb

    thnx for the info
    did not saw this line
    at com.alecgorge.minecraft.jsonapi.adminium.PushNotificationDaemon$ConsoleHandler.publish(PushNotificationDaemon.java:95)

    my fault :eek:
     
  19. Offline

    TheBeast808

    How about a check to block PvP while flying? On my server, I allow donators to fly. However, I don't want them to be able to attack non-donators on the ground while they are in the air. Adding a PvP while flying check would further the ability of NoCheat to be customized to a certain server's needs.
     
  20. Offline

    xcc2

    I play on a server that runs your nocheat plugin and I noticed something strange. I used to be able to "force grow" tall trees by placing two blocks next to a sapling, and clicking on the sapling with bonemeal. This causes the tree to grow into a supertree. Since the server upgraded recently now when I try this, the sapling simply disappears. Can you tell me if this is an intended feature of nocheat?

    Thanks..
     
  21. Offline

    Evenprime

    If the sapling disappears, it's definitely not something NoCheat does. Bukkit has recently got a new handling for tree growth to allow plugins like LogBlock or HawkEye to track tree growth and later roll it back or at least determine who is responsible for the tree.

    I'd bet that this change is the reason for what you see. NoCheat doesn't interact in any way with the use of Bonemeal, so I'd be really surprised if it was the reason for your problems.

    Currently not possible, but sounds like a good idea. I'll keep that in mind. Thanks for the suggestion.

    ----

    A Recommended Build for CraftBukkit will be released soon-ish. That build will have a fix for the "godmode" bug that's already fixed by NoCheat's "emergencyfix.enforceplayerdeath = true" option in the config file. So when the RB gets released, I'll remove that fix from NoCheat, as it no longer serves any purpose. That means if you use 1.0.x MC versions, you should update to the upcoming RB before using the to be released next NoCheat version, to not be left in a state where your CB version doesn't fix it yet, while NoCheat doesn't fix it anymore.
     
  22. Offline

    xcc2

    Thanks for the info. I just found a thread there where people were talking about it. Maybe this "feature" is now on by default in Bukkit, or else it's not quite implemented yet, but is affecting game mechanics. Seems like it's been worked on for some time.
     
  23. Offline

    TheBeast808

    Really? I was thinking that it would be the fly check, but instead of using the moveCancel event, it would use fightCancel.
    EDIT: Nevermind, I see what you mean.
     
  24. Offline

    Evenprime

    NoCheat v 2.21

    Curse | Dropbox
    • First "real" MC 1.0.1 version for "CB 1.0.1 R2" (1597), no longer downward compatible with RB 1337
    • Fixed seldom error about IllegalAccessException when trying to print log messages
    • Default warning level of "selfhit" check is now only "med", not "high"
    • Making sprinting depend on food level, and give the option to ignore food level (allowhungrysprinting)
    • Removed godmode fix, because this Bukkit build fixes it
    • Updated NoCheat's internal block property list for new blocks, e.g. Nether fences
    • Minor modifications to how the "movement" checks decide if a player is on ground or not, making the code easier to understand (for me)
    • Hopefully better compatibility with Heroes plugin
    • Maybe I broke something, let's hope not
     
  25. Offline

    supayoshi1

    Hi can you look into my actions.txt file. ? I tried a few things, but when I import this, it actually allows things better again, then before, thnx!
    http://pastebin.com/MQRSV0Fs

    If i use this file it works pretty well, but not against nuker, and things like speedhack sometimes, it blocks but not really works with nuker, and aurakill and so on ;)
    http://pastebin.com/W1XyuK73
     
  26. Offline

    Evenprime

    I'm not sure if I understand what you try to achieve with these. So here are some general comments:

    - In the first file, you have some actions that have the same name. E.g. "moveCancel", "blockbreak.reach", ... Don't do that, you should never define two actiosn with the same name, as they'll override each other.
    - In the first file, you have some lines multiple times. It's enough to define an action once, no need to repeat it.
    - You have lots of lines that are identical to lines of "default_actions.txt". If you don't change the line, you don't have to put it in "actions.txt". NoCheat will use actions from both files at the same time. (e.g. you can safely delete lines like "special spamCancel 0 0" from your actions.txt file.
    - Did you actually assign these actions in your config.txt to the various checks? If you don't put the action names into the config.txt at the lines related to the checks, they'll not be used.
     
  27. Offline

    supayoshi1

    I'm just trying to block all hacks ;) And if you still try to use a nuker for example you get put in jail for 5m...
    :( I wish there was a better wiki on actions.txt specified, which what is what hack, and which levels are most likely hacking and not lagging.. :D For the rest i love the plugin.

    What I'm trying to achieve is to block all hacks, like protectron, aurakill, etc. etc. :D
    Would be awesome if you could help me out on it, will correct the double ones. :D
     
  28. Offline

    Evenprime

    The default settings in config.txt are already as good as it gets. If people use an aimbot in combination with those hacks, NoCheat can't really do anything against that.

    If you want to jail players, you'd only have to have a single line in your actions.txt, telling NoCheat what "jailing" means:

    Code:
    consolecommand jailplayer 0 1 tjail [player] jail1 5m
    
    So the name of this is "jailplayer" (you can choose something else, if you want). Now you just have to assign it to the various checks in your config.txt, wherever you want (below is just a suggestion):

    Code:
    blockbreak.direction.actions.0 = blockbreakCancel
    blockbreak.direction.actions.10 = directionLog blockbreakCancel
    # This line is new. When a player reaches violation level 30 in this check, he'll also get jailed now
    blockbreak.direction.actions.30 = directionLog blockbreakCancel jailplayer
    
    fight.direction.actions.0 = fightCancel
    fight.direction.actions.5 = fightDirectionLogLow fightCancel
    # These two lines have changed. When a player manages to get to violation level 20 by not looking at his target while attacking it, he'll now get jailed too
    fight.direction.actions.20 = fightDirectionLog fightCancel jailplayer
    fight.direction.actions.50 = fightDirectionLogHigh fightCancel jailplayer
    
    I think you get the idea of how this works from these two examples. As you can see you can define your own limits by just adding a new line, or append your new custom action to an existing line.

    Whenever you get log messages from NoCheat, they include a "VL" = violation level. You can orientate yourself on these values for deciding where to put your new "jailplayer" action in your config.txt. There is no globally good or bad number on when to decide if a player is really cheating or the victim of extraordinary circumstances. That's why NoCheat doesn't offer builtin "jail", "kick" or "ban" functionality.

    PS: Please note that I just saw that the descriptions of the "direction" checks in config.txt is a bit outdated. I'll correct that in the next version.

    NoCheat: v2.21a:
    • Fixed trapdoors blocking players from climbing up through them
    • Fixed nofall check dealing damage to players when they switch from creative to normal mode in some cases
    • Fixed some descriptions in config.txt
    Stupid trapdoors.

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

    locutus

    I'm having some trouble with Precious Stones. Whenever someone uses a Sky Cannon field to launch themself, nocheat pushes them back to the start of the motion. How can I configure nocheat to ignore movement initiated by plugins like this?
     
  30. Offline

    Pro457

    update please
     
  31. Offline

    chinchila

    this work good? what dont work in nocheat yet?
     

Share This Page