Anti cheating plugin for Minecraft (Bukkit/Spigot).
Go to file
asofold 851203edb9 [BREAKING][BLEEDING] Adjust the API to the upcoming penalty framework.
This is a first step in, which doesn't change the default behavior,
however it might break plugins that rely on certain internals.

PenaltyAction allows to do something with probabilities to consider,
including the possibility to select the first applicable penalty or
applying several penalties. There will be player-specific penalties,
which are applied during ViolationData.executeActions always, and there
will be input-specific penalties, e.g. for applying within the event
listener.

Potentially breaking:
* Return value of executeActions is now void for Action + ViolationData.
* Return value of Check.executeActions is ViolationData now.
* CancelAction is now extending PenaltyAction.
* CancelPenalty may cancel, but might not, due to probability.
* IViolationInfo.hasCancel -> deprecated, now returns willCancel().
* IViolationInfo.willCancel is now used, applicable penalties are
estimated on creation of ViolationData.
* Custom actions can no longer be used to cause cancel. Only penalties
can do so now (due to the return type change). CancelAction is still
there to keep a simple action for canceling.

Not yet:
* InputSpecificPenalty support for fight checks and using them in the
default actions.
* Configuration for penalties (currently only a plugin could override
the action factories, later penalties may have a probability to apply,
reference each other, allow first match, apply several at once).
2016-02-10 00:28:57 +01:00
NCPBuildBase Set scope to provided for external jars. 2015-11-25 08:47:11 +01:00
NCPCommons Fix hash code use. 2016-02-08 01:35:24 +01:00
NCPCompatBukkit [BREAKING][BLEEDING] Adjust the API to the upcoming penalty framework. 2016-02-10 00:28:57 +01:00
NCPCompatCB2512 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB2545 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB2602 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB2645 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB2691 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB2763 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB2794 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB2808 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB2882 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB2922 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB3026 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB3043 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCB3100 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatCBDev Use tabs for all the pom.xml. 2015-08-01 00:58:33 +02:00
NCPCompatGlowstone Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatProtocolLib [BLEEDING] Reduce fp with blockinteract.visible using ProtocolLib. 2016-01-26 01:53:40 +01:00
NCPCompatSpigotCB1_8_R1 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatSpigotCB1_8_R2 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCompatSpigotCB1_8_R3 Set internal dependencies to provided for all the compat modules. 2015-11-25 15:26:32 +01:00
NCPCore [BREAKING][BLEEDING] Adjust the API to the upcoming penalty framework. 2016-02-10 00:28:57 +01:00
NCPPlugin Clarify which versions of ProtocolLib are supported by NCP. 2016-02-02 00:09:21 +01:00
NoCheatPlus Set version to 3.13.8-SNAPSHOT for next iteration. 2016-01-31 17:38:52 +01:00
CONTRIBUTING.md Tickets are now on GitHub: https://github.com/NoCheatPlus/Issues/issues 2015-12-12 23:48:17 +01:00
LICENSE.txt Put license on top level. 2013-01-12 01:04:23 +01:00
pom.xml Update repository references. 2015-10-10 23:27:12 +02:00
README.md Tickets are now on GitHub: https://github.com/NoCheatPlus/Issues/issues 2015-12-12 23:48:17 +01:00

NoCheatPlus

NoCheatPlus is a fork of the famous anti-cheat plugin [NoCheat] (http://dev.bukkit.org/server-mods/nocheat/) created by [Evenprime] (https://github.com/Evenprime). NoCheatPlus attempts to enforce "vanilla Minecraft" mechanics, as well as preventing players from abusing weaknesses in Minecraft or its protocol, making your server more safe. Organized in different sections, various checks are performed to test players doing, covering a wide range including flying and speeding, fighting hacks, fast block breaking and nukers, inventory hacks, chat spam and other types of malicious behaviour. For a more complete list have a look at the always outdated [Features Page] (https://github.com/NoCheatPlus/Docs/wiki/Features).

Installation

Tips

Compiling NoCheatPlus

  • We use [Maven] (http://maven.apache.org/download.cgi) 3 to handle the dependencies.
  • You can compile it with this Maven goal: mvn clean package, if you don't want any dedicated CraftBukkit modules, or if you are lacking the jar files. If you do have all the dependencies, you can set the parameter cbdedicated to true and activate the profile all adding -P all to the goals (e.g. on Jenkins, for some setups setting the property may suffice). If you want to build only using the compat module for your current server version, you can remove all the unneeded module references from the root pom.xml and the corresponding dependencies from NCPPlugin/pom.xml. Custom modules not put under the group id fr.neatmonster might need to be added to the includes section in NoCheatPlus/pom.xml as well.
  • Jar files for the dedicated compat modules, which your local maven repository might be missing, can also be installed manually. Example for Eclipse with embedded maven: Add a new maven build run configuration, name it appropriately, e.g. Install CB 1.7.5. Set goals to: install:install-file -Dfile=<PATH TO JAR> -DgroupId=org.bukkit -DartifactId=craftbukkit -Dversion=1.7.5-R0.1-SNAPSHOT -Dpackaging=jar On Windows the might look like: X:\...\craftbukkit\3042\craftbukkit-1.7.5-R0.1-20140408.020329-16.jar To let it run you might have to set the base directory, e.g. to ${workspace_loc}, it does not seem to have significance. Do set the correct version alongside the file name. On newer version of maven, you might do with much simplified goals, because the pom inside the jars are parsed.
  • NoCheatPlus is compiled for Java 6.

Project

Download

Support and Documentation

Developers

Related