NoCheat

Thank You!
Thanks to everyone who used and liked this plugin. I've set the plugin to "abandoned" status myself (that's why there is a red box above this text), because it describes best the current status of this plugin. Thanks to everyone that supported me during the year of development, with money, bug reports or simply kind words.
What now?
NoCheat 3.5.0 no longer works with recent CraftBukkit build and you will no longer get any updates or support from me anymore.
If you want to see the original version of this description page for this plugin, you can find a copy of it here: Original plugin description
Replacements for NoCheat
Check out these plugins.
NoCheat+
It is based on NoCheat's code and is therefore similar in how it works. But it also adds a ton of new features. You can find it HERE.
NoCheat Classic
It is the original NoCheat without any modifications beyond what is necessary to make it work on modern CraftBukkit versions. If you like NoCheat exactly the way it is, this may be what you are looking for. You can find it HERE.
AntiCheat
Is a new plugin that's built from scratch. That means it will behave and feel different to NoCheat. I'm sure the developer appreciates new users and bug reports. Get it HERE.
Make your own
Don't like the presented alternatives? You may just create your own plugin instead. The source code for NoCheat is HERE.
-
View User Profile
-
Send Message
Posted Dec 14, 2011@LordKainzo
ah, yes. Thanks for the detailed info. That will surely help me. It will be easy to let NoCheat simply ignore anything that's "DamageSource.CUSTOM". I'll put that definitely in the next version. What damage type would AOE skills use?
I'll make sure to limit NoCheat's checks to DamageSource.ENTITY_ATTACK checking for the next version. EDIT: Redundant statement is redundant :S
-
View User Profile
-
Send Message
Posted Dec 14, 2011@Sleaker
Right - a sure method is to disable the entire damage check portion of NoCheat - but that would leave us open to clients who hack damage.
-
View User Profile
-
Send Message
Posted Dec 14, 2011@LordKainzo
it's actually failing before the skills are even able to be used. We use DamageSource.CUSTOM damage events with damage of 0 to check if the player is damagable. if the event is cancelled we know they are in a no-pvp area or are invulnerable.
So the issue isn't actually with skills, it's with the damage testing event to make sure both targets are harmable. We do a reverse check that makes sure the player being targeted can also damage the player using the skill. This is probably the check that NoCheat is disregarding.
To make it work all you would need to do is make nocheat ignore DamageCause.CUSTOM or events where event.getDamage() == 0
Though I have a feeling some of the AoE skills like pulse will also be blocked due to their nature.
-
View User Profile
-
Send Message
Posted Dec 14, 2011@Evenprime85
SkillBolt is one of them, here's the source (but it may not be enough and we may need to add in how we do harmfulskills.
[code]package com.herocraftonline.dev.heroes.skill.skills;</p> <p>import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player;</p> <p>import com.herocraftonline.dev.heroes.Heroes; import com.herocraftonline.dev.heroes.api.SkillResult; import com.herocraftonline.dev.heroes.hero.Hero; import com.herocraftonline.dev.heroes.skill.SkillType; import com.herocraftonline.dev.heroes.skill.TargettedSkill; import com.herocraftonline.dev.heroes.util.Setting;</p> <p>public class SkillBolt extends TargettedSkill {</p> <p> public SkillBolt(Heroes plugin) { super(plugin, "Bolt"); setDescription("Calls a bolt of lightning down on the target"); setUsage("/skill bolt <target>"); setArgumentRange(0, 1); setIdentifiers("skill bolt"); setTypes(SkillType.LIGHTNING, SkillType.SILENCABLE, SkillType.DAMAGING, SkillType.HARMFUL); }</p> <p> @Override public ConfigurationSection getDefaultConfig() { ConfigurationSection node = super.getDefaultConfig(); node.set(Setting.DAMAGE.node(), 4); return node; }</p> <p> @Override public SkillResult use(Hero hero, LivingEntity target, String[] args) { Player player = hero.getPlayer();</p> <p> plugin.getDamageManager().addSpellTarget(target, hero, this); target.getWorld().strikeLightningEffect(target.getLocation()); target.damage(getSetting(hero, Setting.DAMAGE.node(), 4, false), player);</p> <p> broadcastExecuteText(hero, target); return SkillResult.NORMAL; } }[/code]
According to Sleaker - it may be failing at the damagecheck not the skill.
"Sleaker - but it's not failing at the skill 12:32 Sleaker - it's failing at the damagecheck 12:32 Sleaker - which is just a DamageSource.CUSTOM with 0 damage"
-
View User Profile
-
Send Message
Posted Dec 14, 2011@Raeqn
I'm pretty sure Bukkit fixed that one recently, at least they tried to.
-
View User Profile
-
Send Message
Posted Dec 14, 2011@Evenprime85
Would it be possible to fix .rage, where the client appears to logout hundreds of times. Its not picked up by the spam checks, but it sometimes can crash servers and its very good at flooding the chat.
-
View User Profile
-
Send Message
Posted Dec 14, 2011@LordKainzo
Do you have an example for such a skill? Maybe I can do something on my side to fix that.
The sledgehammer method to get NoCheat to not block it would probably be you calling:
player.addAttachment(plugin, "nocheat.checks.fight.direction", true, 1); EDIT: or better, use "nocheat.checks.fight" to whitelist the player in all fighting related checks at the same time.
when the skill is used, giving the player permission for 1 tick to bypass that check. But I want to try and find a better way to handle these kind of compatibility issues.
-
View User Profile
-
Send Message
Posted Dec 13, 2011@Evenprime85
Ahoy!
Evenprime85 - it looks like we're having some issues with Heroes being able to use skills with
fight.direction.check = true I'm assuming that because some skills are actually counting as melee but at a long range, its triggering nocheat saying we're hacking/preventing it.
Is there anyway to whitelist the skill we're doing or make it based off a command or something?
Not asking to integrate with Heroes of course - just trying to find a common ground to prevent hacks and keep heroes in.
-
View User Profile
-
Send Message
Posted Dec 12, 2011@chelben8
Use the command "nocheat permlist playername" in the console for one of the players that can't fly (replace "playername" with the name of that player".
It should tell you
nocheat.checks.moving.flying: true and/or nocheat.checks.moving.runfly: true
If both of those are "false", then your permissions are still not set up correctly for that player. The "nocheat permlist" command will simply show you what permissions the game assigns to the player, and NoCheat respects those 100%.
All permissions in NoCheat follow the logic: You have a permission node -> you can do something without NoCheat harassing you. So you really have to set those to "true" to allow people to fly etc.
-
View User Profile
-
Send Message
Posted Dec 12, 2011@Evenprime85 I think you have this backwards because when i have them set to true it sends me messages about the flying, but when i have it set to false i dont get messages. But anyway it still isnt working even tho i did what you said.
-
View User Profile
-
Send Message
Posted Dec 12, 2011@number1Master
Yes, that kind of stuff. If you just turn off the console logging, it will still log that kind of information to the "nocheat.log" file and probably also to the ingame chat, if somebody is OP or has the permission "nocheat.admin.chatlog".
-
View User Profile
-
Send Message
Posted Dec 12, 2011@Evenprime85
what will it log? does it log fast placement, flying, other hacks?
-
View User Profile
-
Send Message
Posted Dec 12, 2011@Evenprime85
ahhh thank u so much =)
-
View User Profile
-
Send Message
Posted Dec 12, 2011@number1Master
I have no idea why that could happen. Usually people get some kind of error message in such cases. The only thing you could try is to set
logging.consolelevel = off
in config.txt of NoCheat. Almost always when a server just stops working it is a problem with the console freaking out about something. That will prevent NoCheat from using the servers console for logging
@The_Wizard
I'm already relatively compatible with those types of plugins. E.g. Sprinting abilities and potions shouldn't be a problem. What usually does cause some problems is skills that allow breaking/placing multiple blocks at once. I'm trying to get more compatible with those now that Minecrafts development is going to slow down.
-
View User Profile
-
Send Message
Posted Dec 12, 2011@DeadDragons
Sure, if you don't want to receive messages, you can either:
- remove permission node "nocheat.admin.chatlog" from yourself or - deactivate logging to chat completely by setting "logging.chatlevel = off" in the config.txt file of NoCheat (should be one of the first lines, easy to find).
You can also deactivate logging for specific checks only by removing all words that look like "...Log..." from the corresponding lines in your config.txt
-
View User Profile
-
Send Message
Posted Dec 12, 2011hey em i love the plugin works good but am geting annoyed with the spam in game with ppl failed to do this and that is there a way to stop the spam in game? with all this
and comes up with other bits and bobs.. eny help on how to stop this?
-
View User Profile
-
Send Message
Posted Dec 12, 2011Hi Evenprime85, I'm using this plugin for a while and it is working ok, but in the near future I want to add a mmo plugin. Do you know if a mmo plugin will be compatible with your plugin? I don't want to see messages about people cheating when they use the mmo skills.
-
View User Profile
-
Send Message
Posted Dec 12, 2011if I have this plugin, it freezes my server (even on build 1337). Other plugins I have are bPermissions, CommandBook, ColoredSigns, iConomy (5), Lockette, LogBlock (with LogBlock Questioner), mcMMO, MobDisquise, Towny (with Questioner and TownyChat), WorldEdit, multiworld, and No_Grief. I switched to cb1550 because that seems to be the safest build for me. Still, this plugin freezes my server.
No errors, any idea of what happened?
-
View User Profile
-
Send Message
Posted Dec 11, 2011@Zidkon
Probably not, or at least not now. It seems that the actual antiPVPCheat plugin gets revived and I'd like to see where that's going.
@chelben8
Not sure what you are trying to do there.
First, "PermissionsBukkit" doesn't understand "nocheat.checks.moving.*", because it doesn't support "*". So that line of your permissions file is completely useless.
Second, Players automatically have set all their permissions related to NoCheat to "false", so there is no point in setting them to "false" yet again as you do. You probably want to set it to "true".
So in short, what you need to do to allow somebody to fly with NoCheat is "nocheat.checks.moving.flying: true", if you want to let them fly at unlimited speed, it would be "nocheat.checks.moving.runfly: true", if you want to exempt them from all movement related checks, it would be "nocheat.checks.moving: true" (no .* at the end!). All described here: http://dev.bukkit.org/server-mods/nocheat/pages/permissions/
-
View User Profile
-
Send Message
Posted Dec 11, 2011I need help i dont know to to fix i problem i keep having, what happens is that non ops that have flying permission can fly everywhere (meaning left, right, forward,backwards, and down) but up its really weird.I have the permissions set...
(btw i use permissionsbukkit)
-------------------------------------------------------------------------------------------------------------------------
groups:
vip:
permissions:
nocheat.checks.moving.*: false
towny.cheat.bypass true
-------------------------------------------------------------------------------------------------------------------------
the plugins i have are
appletree
automessage
deathtpplus
ecocreature
essentials
essentialsspawn
falsebookblock
falsebookcore
falsebookextra
lwc
mchat
mcmmo
mobarena
multiverse
nocheat(obviously)
permissionsbukkit
Questioner
register
setrank
signrank
superpermsbridge
towny
vault
worldedit
worldguard
yabackup