# Want to know what these options do? Read at the end of this file. logging.active = true logging.prefix = "&4NC&f: " logging.filename = "nocheat.log" logging.filelevel = low logging.consolelevel = high logging.chatlevel = med debug.showactivechecks = false debug.compatibility = true inventory.closebeforeteleports = true moving.check = true moving.identifycreativemode = true moving.runfly.check = true moving.runfly.walkingspeedlimit = 22 moving.runfly.sprintingspeedlimit = 40 moving.runfly.allowhungrysprinting = false moving.runfly.jumpheight = 135 moving.runfly.checksneaking = true moving.runfly.sneakingspeedlimit = 14 moving.runfly.checkswimming = true moving.runfly.swimmingspeedlimit = 18 moving.runfly.actions.0 = moveLogLowShort moveCancel moving.runfly.actions.100 = moveLogMedShort moveCancel moving.runfly.actions.400 = moveLogHighShort moveCancel moving.runfly.checknofall = true moving.runfly.nofallmultiplier = 200 moving.runfly.nofallactions.0 = nofallLog nofallDamage moving.runfly.allowlimitedflying = false moving.runfly.flyingspeedlimitvertical = 100 moving.runfly.flyingspeedlimithorizontal = 60 moving.runfly.flyingactions.0 = moveLogLowShort moveCancel moving.runfly.flyingactions.100 = moveLogMedShort moveCancel moving.runfly.flyingactions.400 = moveLogHighShort moveCancel moving.morepackets.check = true moving.morepackets.actions.0 = morepacketsLow moveCancel moving.morepackets.actions.30 = morepacketsMed moveCancel moving.morepackets.actions.60 = morepacketsHigh moveCancel blockbreak.check = true blockbreak.reach.check = true blockbreak.reach.actions.0 = blockbreakCancel blockbreak.reach.actions.5 = reachLog blockbreakCancel blockbreak.direction.check = true blockbreak.direction.checkinstabreakblocks = true blockbreak.direction.precision = 50 blockbreak.direction.penaltytime = 300 blockbreak.direction.actions.0 = blockbreakCancel blockbreak.direction.actions.10 = directionLog blockbreakCancel blockbreak.noswing.check = true blockbreak.noswing.actions.0 = noswingLog blockbreakCancel blockplace.check = true blockplace.reach.check = true blockplace.reach.actions.0 = blockplaceCancel blockplace.reach.actions.5 = reachLog blockplaceCancel blockplace.direction.check = true blockplace.direction.penaltytime = 100 blockplace.direction.precision = 75 blockplace.direction.actions.0 = blockplaceCancel blockplace.direction.actions.10 = directionLog blockplaceCancel chat.check = true chat.spam.check = true chat.spam.whitelist = "" chat.spam.timeframe = 5 chat.spam.limit = 5 chat.spam.actions.0 = spamLog chatCancel chat.spam.actions.50 = spamLog chatCancel spamkick chat.empty.check = true chat.empty.actions.0 = emptyChatLog chatCancel emptyChatKick fight.check = true fight.direction.check = true fight.direction.precision = 75 fight.direction.penaltytime = 500 fight.direction.actions.0 = fightCancel fight.direction.actions.5 = fightDirectionLogLow fightCancel fight.direction.actions.20 = fightDirectionLog fightCancel fight.direction.actions.50 = fightDirectionLogHigh fightCancel fight.selfhit.check = true fight.selfhit.actions.0 = fightSelfhitlog fightCancel fight.noswing.check = true fight.noswing.actions.0 = noswingLog fightCancel # logging.active: # # Should NoCheat related messages get logged at all. Some messages may still appear, e.g. error # messages, even if this option is deactivated # logging.prefix: # # The short text that appears in front of messages by NoCheat. Color codes are &0-&9 and &A-&F # logging.filename: # # Where logs that go to the logfile are stored. You can have different files for different worlds. # logging.filelevel: # # What log-level need messages to have to get stored in the logfile. Values are: # low: all messages # med: med and high messages only # high: high messages only # off: no messages at all. # logging.consolelevel: # # What log-level need messages to have to get displayed in your server console. Values are: # low: all messages # med: med and high messages only # high: high messages only # off: no messages at all. # logging.chatlevel: # # What log-level need messages to have to get displayed in the ingame chat. Values are: # low: all messages # med: med and high messages only # high: high messages only # off: no messages at all. # debug.showactivechecks: # # Print to the console an overview of all checks that are enabled when NoCheat gets loaded. # debug.compatibility: # # Do some voodoo to fix common mistakes of other plugins which interfere with NoCheat. # inventory.closebeforeteleports: # # Close inventory screens of players before they get teleported, preventing creation of real or fake duplicates. # moving.check: # # If true, do various checks on PlayerMove events. # moving.identifycreativemode: # # If true, NoCheat will automatically identify if players are in creative mode and will allow them to fly, avoid fall damage etc. # moving.runfly.check: # # If true, check if a player is walking/sprinting/sneaking/swimming too fast/high. # moving.runfly.walkingspeedlimit: # # Set the speed limit for moving horizontal under 'normal' conditions. # Unit is 1/100 of a block, default is 22. # moving.runfly.sprintingspeedlimit: # # Set the speed limit for moving horizontal while sprinting. # Unit is 1/100 of a block, default is 40. # moving.runfly.allowhungrysprinting: # # Should players with a food level of less than 6 be allowed to use the builtin sprint-function? # moving.runfly.jumpheight: # # Set how high a player is allowed to jump. # Unit is 1/100 of a block, default is 135. # moving.runfly.checksneaking: # # Use a seperate speed limit for sneaking players. # moving.runfly.sneakingspeedlimit: # # Set the speed limit for moving horizontal while sneaking. # Unit is 1/100 of a block, default is 14 # moving.runfly.checkswimming: # # Use a seperate speed limit for swimming players. # moving.runfly.swimmingspeedlimit: # # Set the speed limit for moving horizontal while in water. # Unit is 1/100 of a block, default is 18 # moving.runfly.actions: # # What should be done if a player moves faster than the speed limit(s) or jumps higher than allowed. # Units are in 1/100 of a block above the limit. # moving.runfly.checknofall: # # If true, check if a player is avoiding fall damage by using a nofall hack. EXPERIMENTAL! Feedback is appreciated. # moving.runfly.nofallmultiplier: # # How many percent falldamage should be dealt to the player. # NoCheat will almost always underestimate fall damage, using a value bigger than 100 is advised. # Unit is percent of the estimated original fall damage, default is 200. # moving.runfly.nofallactions: # # What should be done if a player is detected as avoiding fall damage. # Unit is number of blocks the player fell down. # moving.runfly.allowlimitedflying: # # If true, instead of doing the above checks for walking/sprinting/swimming/sneaking, # allow flying and only limit the flying speed. # moving.runfly.flyingspeedlimitvertical: # # Set the speed limit for moving vertical while flying. # Unit is 1/100 of a block, default is 100. # moving.runfly.flyingspeedlimithorizontal: # # Set the speed limit for moving horizontal while flying. # Unit is 1/100 of a block, default is 60. # moving.runfly.flyingactions: # # What should be done if a player flies faster than the speed limit(s). # Units are in 1/100 of a block above the speedlimit. # moving.morepackets.check: # # If true, check if a player is sending too many 'move-packets' per second. In a normal game, the player won't send more than 22 packets per second. # moving.morepackets.actions: # # What should be done if a player sends more 'move-packets' than normal. # Units are packets per second above the limit. # blockbreak.check: # # If true, do various checks on BlockBreak events. # blockbreak.reach.check: # # If true, check if a player is breaking blocks that are too far away. # blockbreak.reach.actions: # # What should be done if a player is breaking blocks that are too far away. # Unit is number of break(attempt)s beyond the limit. # blockbreak.direction.check: # # If true, check if a player is looking at the block that he's breaking. # blockbreak.direction.checkinstabreakblocks: # # If true, NoCheat will also check for direction for Instant-Breaking blocks. # THIS WILL CAUSE FALSE POSITIVES, when a player keeps his mouse button pressed and moves the mouse fast over the screen. # blockbreak.direction.precision: # # Define how precise a player has to hit blocks when mining. Lower values mean more precision, higher values less precision. # blockbreak.direction.penaltytime: # # Define how long after a failed attempt to dig a player will be disallowed to break another block. # Unit is milliseconds, default is 300. # blockbreak.direction.actions: # # What should be done if a player is breaking blocks that are not in his line of sight. # Unit is the combined distance in blocks between where the player looked vs. where the block was. # blockbreak.noswing.check: # # If true, check if a player swung his arm before breaking a block, which he should have done. # blockbreak.noswing.actions: # # What should be done if a player didn't swing his arm. # Unit is number of blockbreaking without armswinging. # blockplace.check: # # If true, do various checks on BlockPlace events. # blockplace.reach.check: # # If true, check if a player is placing blocks at locations too far away. # blockplace.reach.actions: # # What should be done if a player is placing blocks that are too far away. # Unit is number of place(attempt)s beyond the limit. # blockplace.direction.check: # # If true, check if a player is looking at the block that he's placing. # blockplace.direction.penaltytime: # # Define how long after a failed attempt to place blocks a player will be disallowed to place another block. # Unit is milliseconds, default is 100. # blockplace.direction.precision: # # Define how precise a player has to be when placing blocks. Lower values mean more precision, higher values less precision. Default 75. # blockplace.direction.actions: # # What should be done if a player is placing blocks that are not in his line of sight. # Unit is the combined distance in blocks between where the player looked vs. where the block was. # chat.check: # # If true, do various checks on PlayerChat events. # chat.spam.check: # # If true, check if a player is spamming the chat. # chat.spam.whitelist: # # A list of messages that should be ignored by the spam check, seperated by ','. All messages/commands starting with one of these will be let through. # chat.spam.timeframe: # # Over what timeframe (in seconds) should the messages be counted? # When the time is over, counting starts at 0 again. # chat.spam.limit: # # How many messages per timeframe may the player send without it counting as spamming? # chat.spam.actions: # # What should be done if a player is trying to spam the chat. # Unit is number of chat messages above the limit you declared above. # chat.empty.check: # # If true, check if a player is sending an empty message. # chat.empty.actions: # # What should be done if a player sends an empty message. # Unit is number of empty chat messages sent by the player. # fight.check: # # If true, do various checks on Events related to fighting. # fight.direction.check: # # If true, check if a player is really looking at enemies that he attacks. # fight.direction.precision: # # Set how precise the check should be. If you experience the check to be too zealous, increase this value. # If you want to make it tighter, reduce this value. Default is 100. # fight.direction.penaltytime: # # If a player fails the check, he will be unable to attack for this amount of time (in milliseconds), default is 500. # fight.direction.actions: # # What should be done if a player attacks entities that are not in his field of view. # Unit is sqare root of the distance in blocks between where the enemy was and where the player looked. # fight.selfhit.check: # # If true, check if a player is attacking itself, which should normally be impossible. # fight.selfhit.actions: # # What should be done if a player attacks himself. # Unit is number of attacks on himself. # fight.noswing.check: # # If true, check if a player swung his arm before attacking, which he should have done. # fight.noswing.actions: # # What should be done if a player didn't swing his arm. # Unit is number of attacks without armswinging.