CompatNoCheatPlus
CompatNoCheatPlus (cncp) provides compatibility between the anti cheat plugin NoCheatPlus and other plugins that add game mechanics different to the vanilla game behavior, such as mcMMO or plugins that add npcs such as Citizens. You need NoCheatPlus for this, NoCheatPlus can not be replaced by this.
This plugin is an add-on for NoCheatPlus: NoCheatPlus on BUKKITDEV
Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Development-builds (Jenkins at ci.md-5.net): CompatNoCheatPlus and NoCheatPlus
Features:
- mcMMO:
- Block breaks by abilities should lead to no or almost no alerts anymore.
- Fighting alerts should be reduced.
- Citizens 2:
- NPCs no longer generate check alerts.
- Generic:
- Cancel all check failures for players that are not real players. This should handle a range of NPC creation techniques in general, as exist with Citizens 1.
(Experts: good bit of it is configurable.) - Block breaking and block placing: Plugins that break or place many blocks "in the name of a player" have a better chance to be made compatible by adapting the configuration. Defaults are set for MachinaCraft.
- Bukkit player speed API: Set the fly/walk speeds globally and let NoCheatPlus deal with the rest. (Needs to be enabled in the configuration.)
- Cancel all check failures for players that are not real players. This should handle a range of NPC creation techniques in general, as exist with Citizens 1.
- For configuration reference: Configuration
(Should not be needed usually, but can be used to disable unused hooks, or enable the set-speed hook. - For details on plugin compatibility, see: Details
Spout users
Spout users might encounter problems (nofall / fly working). Try to disable the player-class hook - but i am afraid there might be further incompatibilities at present.
Contributors:
- Welcome!
- Maybe someone wants to join this project ?
Repository: https://github.com/asofold/CompatNoCheatPlus
API: You can register a hook with cncp, which might or might not spare you some coding, cncp will re-enable NoCheatPlus with a delayed sync task, so you can use the PluginEnableEvent to register hooks that can listen on lowest level and be processed before NoCheatPlus. If you don't need these features then you can directly hook into the NoCheatPlus API (introduced in the lates dev builds of NoCheatPlus 3.7). Adding a hook demands further not to put NoCheatPlus into the depend or softdepend parts, returning the NCP hook and the check types should be the first time to access NCP API actively.
@asofold
had been running 3.7-b87,
updating it now
@aphilosopher
Which version of NCP are you using currently? Depending on the implementation of RuneCraft NCP build 93 might actually allow the fast breaking (cncp has to be 6.2.4 then).
@asofold
oh ok i see, cool will do soon as i get back from the store xD just out the door brb
@asofold
the dev of runecraft seems to have made a comment on his minecraftforum status update about this issue here http://www.minecraftforum.net/statuses/id/257154/
[qoute]In fact hooking into different plugins is irrational. If you just called BlockBreak events and checked their isCanceled state, you could cover all of the possible protection plugins. I really hope youd implement it, or maybe you alreday did? [/qoute]
@Ahrimanian
Looks like Citizens crashede (it).
@aphilosopher
Super picks should usually be not so difficult to fix, provided RuneCraft lets other plugins know when people are using that thing. So just make a ticket to remind me :) .
@asofold
so is there any news on what is needed in order to enable compatibility between nocheatplus and Runecraft? http://forums.bukkit.org/threads/fun-tp-mech-runecraft-v2-12-magic-effects-using-runes-1-2-5-r1-0.14897/
i think i asked this before but vaguely remember hitting a wall, so i figure id ask again xD
players on my server get kicked when using things like the super pick rune, nocheat thinks they are mining faster then ought to be able, other runes have some issues too.
id love to allow my players full runecraft functionality and could never bring myself to give up NCP, to many hackers out there
Hi again Asofold, thank you for the help so far as you have helped us get closer and closer. We updated everything and managed to get things working but we have now hit a new bump in the road which is as follows:
Minecraft Crash ReportMy bad.Time: 9/16/12 6:01 AM Description: Exception in server tick loop
java.lang.AbstractMethodError: net.aufdemrand.sentry.GiveUpStuckAction.run(Lnet/citizensnpcs/api/npc/NPC;Lnet/citizensnpcs/api/ai/Navigator;)V at net.citizensnpcs.npc.ai.CitizensNavigator.stopNavigating(CitizensNavigator.java:145) at net.citizensnpcs.npc.ai.CitizensNavigator.updateStationaryStatus(CitizensNavigator.java:183) at net.citizensnpcs.npc.ai.CitizensNavigator.update(CitizensNavigator.java:160) at net.citizensnpcs.npc.CitizensNPC.update(CitizensNPC.java:163) at net.citizensnpcs.npc.entity.CitizensHumanNPC.update(CitizensHumanNPC.java:138) at net.citizensnpcs.npc.entity.EntityHumanNPC.h_(EntityHumanNPC.java:85) at net.minecraft.server.World.entityJoinedWorld(World.java:1239) at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:498) at net.minecraft.server.World.playerJoinedWorld(World.java:1221) at net.minecraft.server.World.tickEntities(World.java:1119) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:567) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Relevant Details: - Minecraft Version: 1.3.1 - Operating System: Linux (amd64) version 2.6.18-308.11.1.el5 - Java Version: 1.7.0_03, Oracle Corporation - Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation - Memory: 263093640 bytes (250 MB) / 742776832 bytes (708 MB) up to 1556938752 bytes (1484 MB) - JVM Flags: 9 total; -Xincgc -Xmx1536M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -XX:+DisableExplicitGC -XX:ErrorFile=/dev/null -XX:UseSSE=3 - Type: Dedicated Server - Is Modded: Definitely; 'craftbukkit'
@Curtis4321
Read my post :).
@asofold
Error: http://pastebin.com/fEx3VgG4
@Curtis4321
Use cncp 6.2.4 with NCP build 93.
If that does not work we need to check your startup log and maybe plugin list.
Doesn't want to work for me
cncp 6.2.4 must be used with NCP build 92 or higher, it can not be used for earlier builds.
Spout users should use cncp6.2.4 + NCP build 92, or folow the instruction in the plugin description above..
@spathizilla
Thanks for telling, is it Spout ?
I should have thought of that. If people use modified servers that dont use "CraftPlayer" for the player class then you need to either deactivate the hook or use the correct class name there for npcs. Maybe i will disable it by default in future.
Turns out with cncp 6.2.2 and ncp build 91, if you turn ON the player class hooks with exempt-all, it will allow all players to bypass the checks of NCP and not just Citizens npcs. Turn it off and the checks are applied.
This is why real players could fly and do other cheats. Once I turned off the playerclass hooks they were blocked from flying/nuking while mcmmo still worked nicely.
@leon01288
mcMMO issue, not sure which version of mcMMO you are running?
@Ahrimanian
Yep, wrong version of NoCheatPlus, that is a very old version there, it does say "3.7" but the version you should use is more like 3.7.0-b91 !
Download at: http://www.nocheatplus.org:8080/job/NoCheatPlus///
And also cncp 6.2.2.
@asofold
Yes it does, here's a message from the server owner.
[09:59:30] ZitCraft: I don't think this is because of a "flying" issue... [10:00:16] ZitCraft: So, here is the version list of the plugins I am running [10:00:17] ZitCraft: http://i.imgur.com/PcwXn.jpg [12:22:41] ZitCraft: Citizens 2.0.1 Spout 1274 CompatNCP 6.2.2 and... NoCheatPlus 3.7
@MyPictures Thanks for this, this may have been the issue so we are re downloading this build of it now.
i randomly get this error when breaking huge clump of trees
2012-09-15 07:25:29 [SEVERE] Could not pass event BlockBreakEvent to mcMMO org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:278) at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:205) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:550) at net.minecraftserverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:88) at net.minecraft.server.Packet14BlockDig.handle(SourceFile:46) at net.minecraft.server.NetworkManager.b(NetworkManager.java:276) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:578) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NullPointerException at com.gmail.nossr50.skills.gathering.WoodCutting.woodCuttingProcCheck(WoodCutting.java:337) at com.gmail.nossr50.skills.gathering.WoodCutting.removeBlocks(WoodCutting.java:171) at com.gmail.nossr50.skills.gathering.WoodCutting.treeFeller(WoodCutting.java:49) at com.gmail.nossr50.listeners.BlockListener.onBlockBreak(BlockListener.java:214) at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330) ... 17 more
@Ahrimanian
Does it still happen ?
@Ahrimanian
That error your posted basically says that CompatNoCheatPlus couldn't find NoCheat+ loaded (more specific: NoCheatPlus API).
Is your owner sure he got the latest NC+ from here?:
http://www.nocheatplus.org:8080
@asofold
Crud, sorry dude, typo. We do have NOCHEATPLUS.... and the owner says it's all up to date, any idea what causes the conflict now that we have cleared that up?