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

    Misoa

    How do I edit it where it doesn't kick the player?
     
  3. Offline

    Evenprime

    I try to somehow stay compatible with that kind of plugins, but it is not always possible. There is no way for NoCheat to fully support this special kind of movement, because it works like this:

    The plugin/server sends a message to the player: "Accelerate by x in this direction" - this can be seen by NoCheat. Then it is the clients duty to actually move the player in that direction. The server and NoCheat won't know why the player moved the way he did, as this movement looks exactly like someone trying to cheat.

    So it all comes down to NoCheat guessing when and how a player is moving because of these acceleration messages (PlayerVelocityEvents) or when they are actually cheating. This works reasonably well for many plugins, but will never be perfect. Sorry. Those VelocityEvents were never intended to be used that way by Minecraft. They are normally only used to give players a nudge into a specific direction when they get hit by enemies.

    1597 is the latest recommended build of CraftBukkit. So I'll give that back to you: Please update your CraftBukkit to the latest version if you have problems, because most likely YOU run an outdated version.

    NoCheat, by default, doesn't kick players, except for extreme spamming (50 messages within 5 seconds), because that can crash servers if not stopped. If your players get kicked for moving too fast, then that's not the fault of NoCheat. Another plugin or a bug in Minecraft causes that. If they get kicked for floating to long, then that's Notch's no-fly feature. Deactivate it in the server.properties file by setting "allow-flight=true".

    As a rule of thumb: All messages by NoCheat start by default with "NC: ". If a message doesn't start with "NC:", then it is most likely not from my plugin.
     
  4. Offline

    Jrog

    I'm trying to get NoCheat to activate the Essentials "/warp" command as one of its actions so that it sends players to a designated warp location. My action definition is: "consolecommand dungeon 1 10 warp dungeon [player]" ("dungeon" is the name of the warp location.)

    When this action is called the server locks up, and all players are disconnected. The server does not respond for around a minute, and then eventually it returns to normal operation, giving one "[WARNING] Can't keep up!" When I log back in I find that I have teleported to the edge of my world (which is designated by the WorldBorder plugin). There are no errors, and the server doesn't crash. When I try this with no plugins except for Essentials and NoCheat, I end up at the ridiculous location of 67108863.96875 x, y, and z and then the server kicks me with some sort of illegal location error. Thus, I don't believe it's a plugin conflict.

    Have I done something wrong? The command "/warp dungeon [playername]" works when typed into the console. Is there some sort of incompatibility between the /warp command and NoCheat? Perhaps I haven't defined the action properly? I'm running the latest version of NoCheat (2.21a) and the latest release build of Essentials (2.7.1).

    Thanks in advance. And thanks for making this plugin; it's fantastic.
     
  5. Offline

    Evenprime

    The action definition looks fine to me, and I'm not aware of any incompatibilities between it and NoCheat. Can you tell me where you use this custom action (for what checks, ideally the complete type.check.actions.x = "..." lines where you use it)? Also, is the "dungeon" location in the same or a different world?

    I definitely want to try that.
     
  6. Offline

    Four_Down

    What perm node do people need to have to get nocheat warnings?
     
  7. Offline

    Jrog

    Here are the two locations in the configuration file that use the action:

    "moving.runfly.actions.0 = moveLogLowShort moveCancel dungeon
    moving.runfly.actions.100 = moveLogMedShort moveCancel dungeon
    moving.runfly.actions.400 = moveLogHighShort moveCancel"

    "moving.runfly.flyingactions.0 = moveLogLowShort moveCancel dungeon
    moving.runfly.flyingactions.100 = moveLogMedShort moveCancel dungeon
    moving.runfly.flyingactions.400 = moveLogHighShort moveCancel"

    And here is my full actions.txt:
    "# This file contains the definitions of your personal actions for NoCheat.
    # Look at the file default_actions.txt for inspiration on how it works.


    consolecommand boot 3 15 kick [player]
    consolecommand dungeon 1 60 warp dungeon [player]
    consolecommand tempban 7 60 tempban [player] 600
    consolecommand ban 25 60 ban [player]
    consolecommand smite 15 60 smite [player]"

    I tried it a few more times. The results seem to vary. With my last attempt I ended up at location 1.79769313486232E+308 for x y and z and received this message in the console "[WARNING] [Playername] had an illegal stance: 0.0". The server froze when I tried to log back in for long enough that I just gave up and closed it to try it again. The Minecraft client also froze and had to be closed with task manager. With my last attempt I ended up at 67108863.96875 x, y and z again. It seems like the server freezes due to the extreme location. I'm using NBTedit to fix my location for each attempt. I don't notice anything else being messed up besides location. Also, I'm using the latest recommended build of craftbukkit. To test NoCheat I'm using Zombe's mod with a maximum speed multiplier of 10. The only other client mod I have is Optifine. I'm testing it on a copy of my main server with most of the plugins removed. I tried it on a fresh world as well with the same results. The last several tests have ended up crashing the client and not the server. However, the server freezes when I try to log in at the extreme location after closing the client. Thanks a lot for looking into it.

    EDIT: Oh, and yes, the dungeon location is in the same world. I tried it in two different locations, which might explain the varying crash and location results. There was one other time that the client didn't freeze, but it seemed all the chunks around the chunk I was in vanished, and I was able to fly through the ground, up and down looking at a vertical cross-section of the chunk I had been in before it crashed and kicked me from the game.
     
  8. Offline

    locutus

    Well, thanks anyway.
     
  9. Offline

    My_Krågespisar

    Would you say this plugin has a large memory footprint? Is it suitable for tiny servers with only 1.4gb memory? Server is running lots of lightweight plugins, but also factions. It's running quite swimmingly with 12-18 people online. Would this plugin bog it down?
     
  10. Offline

    Evenprime

    The memory footprint of NoCheat is very small. I'd estimate it at most at ~10 kb per player plus ~500 kb for the plugin itself. It is more of a CPU consuming plugin, as it does a lot of calculations. But with that few players, I don't think you'll get into troubles.
     
  11. Offline

    APhilosopher

    hey what is up with the form of spam of 'player' left the game 500 times? NoCheat doesnt prevent that i know since i just experienced it on my server,
    why ? is there anything that does prevent it? how are they doing this? is it related to spoutcraft client? if so can i disable spout from recognizing spoutcraft would that help? or am i way off track here?
    example from log
    Code:
    [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 [INFO] yumutha lost connection: user was kicked.
    2011-12-20 09:06:00 [WARNING] class org.getspout.spout.SpoutNetServerHandler wasn't prepared to deal with a class net.minecraft.server.Packet1Login
    2011-12-20 09:06:00 
    example from ingame -> [​IMG]

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

    Evenprime

    Hm, I thought Bukkit fixed that kind of exploit already, but now I just saw that there is one way left of how to do this. The way you described. I've submitted a patch to Bukkit now to fix this specific problem. I hope it doesn't take to long to get pulled in: https://github.com/Bukkit/CraftBukkit/pull/604
     
  13. Offline

    Mahnoodle

    Does this support if u cant just higher than 1 block?
     
  14. Offline

    Evenprime

    I have no idea what you mena with that question. It prevents people from flying.

    btw. I'm still alive. Had a busy week and therefore no time for NoCheat. New version with some new features will be (probably) released tomorrow. I just still need to test a few things.

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

    TheBeast808

    Hello, I was wondering about the blockplace.reach check. Does it even need to be enabled? I thought that this was either patched by bukkit or Notch awhile ago. Does it serve any purpose for prevention, or is it merely to log attempts at extending their reach?
     
  16. Offline

    Evenprime

    You are right, it doesn't do much anymore. Notch's/Bukkit's checks for reach are executed before NoCheat's, so it won't get to do much. I believe the difference between what the Minecraft client allows and what the Minecraft server allows is only half a block now, so that's about the whole distance that NoCheat covers. The difference was much bigger in MC 1.8.1 (almost two blocks), so the check made a lot more sense back then.

    Maybe I should remove it. I'll think about that.
     
  17. Offline

    APhilosopher

    ooooohh how cool :D thank you for your help, glad to have been of help by alerting you so you could alert the proper channels :D :D
    this has only happened three times on my server so far,
    its quite a nuisance though
     
  18. Offline

    VADemon

    @Evenprime
    Code:
    2011-12-22 18:20:49 [WARNING] Task of 'NoCheat' generated an exception
    java.lang.NoSuchMethodError: net.minecraft.server.EntityPlayer.b(Z)V
    at cc.co.evenprime.bukkit.nocheat.checks.timed.TimedCheck.check(TimedCheck.java:80)
    at cc.co.evenprime.bukkit.nocheat.events.TimedEventManager.onTimedEvent(TimedEventManager.java:98)
    at cc.co.evenprime.bukkit.nocheat.events.TimedEventManager$1.run(TimedEventManager.java:74)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:493)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    2011-12-22 18:20:49 [WARNING] Task of 'NoCheat' generated an exception
    java.lang.NoSuchMethodError: net.minecraft.server.EntityPlayer.b(Z)V
    at cc.co.evenprime.bukkit.nocheat.checks.timed.TimedCheck.check(TimedCheck.java:80)
    at cc.co.evenprime.bukkit.nocheat.events.TimedEventManager.onTimedEvent(TimedEventManager.java:98)
    at cc.co.evenprime.bukkit.nocheat.events.TimedEventManager$1.run(TimedEventManager.java:74)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:493)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    Any Idea? Cb 1597, latest NoCheat
     
  19. Offline

    Evenprime

    Yes. You definitely don't use the latest version of NoCheat. I can tell, because the code that throws these exceptions doesn't exist in the latest version of NoCheat. Latest version is 2.21a. You can find out which version you run with the bukkit command "/version NoCheat".
     
  20. Offline

    VADemon

    @Evenprime
    Oups, my fail. Must have mixed up the jars...
     
  21. Offline

    javoris767

    How do i disable the messages that come up if people are flying, noswing, etc?
     
  22. Offline

    Evenprime

    Depends. If you want to get rid of all messages, look at the config.txt and all options that start with "logging".

    "logging.filelevel = off" will turn off writing messages to the nocheat.log file
    "logging.consolelevel = off" will turn off writing messages to the server console
    "logging.chatlevel = off" will turn off writing messages to the chat

    ----

    NoCheat 2.22
    • Better compatibility with Heroes plugin (fighting related)
    • Likely fixed spamcheck completely stopping people from chatting
    • Limit fly height of players (because players that fly very high cause lag)
    • restructuring code, to get NoCheat better abstracted from Bukkit/CraftBukkit/Minecraft
    • Hide NoCheat commands from players by claiming they don't exist when used by people without permissions
    Not as much as I wanted to add. I had an additional check for item dropping, but found a problem in the last minute that I can't fix, so there go 3 hours of work. :/ I also wanted to finally get into using Spout as for some additional features, only to find out that they decided yesterday that they are going to stop developing the Spout plugin in favour of a complete rewrite of the minecraft server (formerly called Glowstone).

    That's why I will now put NoCheat into a feature freeze to make it compatible with the new standalone "Spout" server, before doing anything else with it (except in case there are some critical bugs/exploits).
     
  23. Offline

    RugRats

    Commands were removed? Also on start up it says 2.21b :/
     
  24. Offline

    Evenprime

    Oops, now that's embarassing. I accidentially uploaded the wrong file. Hang on a minute, going to correct that right now.
     
  25. Offline

    RugRats

    Code:
    24.12 03:10:17 [Server] INFO     at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    24.12 03:10:17 [Server] INFO     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    24.12 03:10:17 [Server] INFO     at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
    24.12 03:10:17 [Server] INFO     at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    24.12 03:10:17 [Server] INFO     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
    24.12 03:10:17 [Server] INFO     at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    24.12 03:10:17 [Server] INFO     at net.minecraft.server.Packet10Flying.a(SourceFile:126)
    24.12 03:10:17 [Server] INFO     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:358)
    24.12 03:10:17 [Server] INFO     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:391)
    24.12 03:10:17 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    24.12 03:10:17 [Server] INFO     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    24.12 03:10:17 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:321)
    24.12 03:10:17 [Server] INFO     at cc.co.evenprime.bukkit.nocheat.events.EventManagerImpl$PlayerL.onPlayerTeleport(EventManagerImpl.java:228)
    24.12 03:10:17 [Server] INFO     at cc.co.evenprime.bukkit.nocheat.checks.inventory.InventoryEventManager.handlePlayerTeleportEvent(InventoryEventManager.java:38)
    24.12 03:10:17 [Server] INFO     at cc.co.evenprime.bukkit.nocheat.checks.inventory.InventoryCheck.getConfig(InventoryCheck.java:39)
    24.12 03:10:17 [Server] INFO     at cc.co.evenprime.bukkit.nocheat.checks.inventory.CCInventory.<init>(CCInventory.java:19)
    24.12 03:10:17 [Server] INFO     at cc.co.evenprime.bukkit.nocheat.config.Configuration.getBoolean(Configuration.java:166)
    24.12 03:10:17 [Server] INFO java.lang.NullPointerException
    24.12 03:10:17 [Server] SEVERE Could not pass event PLAYER_TELEPORT to NoCheat
    EDIT: Commands seem to be broken/removed and chat nocheat messages no longer appear.
     
  26. Offline

    Evenprime

    Version 2.22a:
    • Fix NPE on teleports
    • Show command listing to everybody that has at least one of the permissions for them
    Don't know why I didn't notice that NullPointerException before. So that is fixed. And the command listing should now show up again, but only if the person using it has at least one of the four command permissions. This is due to a request of somebody who wanted to hide NoCheat from his users.
     
  27. Offline

    RugRats

    Alright and I have it to show messages in my chat I have the option on "high" for output to chat and it doesn't work :/
     
  28. Offline

    Evenprime

    "high" means it will only show the most severe/important messages. "low" would be all messages, "med" is the default. It may be counterintuitive (it's meant to represent message importance, not amount of messages), but I can't really change that now without causing even more confusion.
     
    RugRats likes this.
  29. Offline

    ShaDooM

    I know that its possible to allow a group flying, but can i set a max speed of flying as some of the not-so-smart ones are flying with incredible speed around the map.
     
  30. Offline

    Evenprime

    Yes. NoCheat can limit flying speed. To allow people to fly, but not as fast as they want, you'll have to give them the permission node "nocheat.checks.moving.flying", but NOT the permission node "nocheat.checks.moving.runfly". With that combination, the "flyingspeedlimithorizontal" and "flyingspeedlimitvertical" settings of the config.txt file will limit their max speed. By default these limits are close to the max speed of the builtin creative fly mode.
     
    ShaDooM likes this.
  31. Offline

    TheMightyAnonym

    On my main server, a VIP in creative mode was able to use a hacked client to nuke a building.

    Shouldn't NoCheat prevent nuke hacks from working? There is a massive crater now. My apologies for bothering you, but please look into this.
     

Share This Page