Skip to content

Latest commit

 

History

History
80 lines (62 loc) · 6.15 KB

checks.creole

File metadata and controls

80 lines (62 loc) · 6.15 KB

Checks

Back to configuration page.

This page gives an overview of the configuration of the checks that NoCheatPlus contains.

Basics about actions

For the case of violations most checks allow to define custom actions to be executed with violations.
Note that for some checks immediate kicking or teleporting of players is not recommended, because it can conflict with the set-back logic or further event-processing, such as with the flying checks - for those we recommend to use the command prefix "ncp delay ", in order to run the actions outside of the event processing.

How "actions" work, an overview

NoCheatPlus allows defining in detail what should happen when a player fails a check in form of "actions". There are 4 possible things that may be done:

ActionDescription
cancelThe effects of the action "cancel" depend on the check that it is used for. Usually it means to prevent something from happening, e.g. stop an attack or prevent sending of a chat message.
logCreate and show/log a message. Log messages can be customized in how often, when and where they are registered/shown.
cmdExecute a command of Bukkit or another plugin as if it were typed into the server console by an admin. Like logging, these can be customized.
vl>XIs meant to symbolize "violation level at least X". Used to define actions that will be executed only if players reached a certain violation level. Failing a check usually increases their "vl", not failing checks reduces it over time. Violation levels mean different things for different checks, e.g. they may describe moved distance beyond the limit, number of attacks above the attack limit, sent messages beyond the spam limit.



How to customize your "actions"

Cancel: Depended on the check you can use "cancel" to prevent something from happening.


Log: The "log" action is a string of the form "log:string:delay:repeat:target".

ActionDescription
logIs simply used to let NoCheatPlus know it is a log action. Don't remove it from the action, or NoCheatPlus will not know what it is and how to handle it.
stringIs the message that will be logged. Because there is so little space here, you only give a name here and define the actual log message in the "strings" section of the config file.
delayA number declaring how many times that action initially has to be executed before it really leads to logging a message. Use this for situations where it's common to have false positives in checks and you only want the log message to be shown if a player fails the check multiple times within a minute.
repeatA number declaring how many seconds have to pass after logging the message before it will be logged again for that player. This is needed to prevent "log-spam". Usually a value of 5 seconds is acceptable, for rare events you can use lower values. It is recommended to at least use the value 1 (one second) here.
targetWhere should the message be logged to? You can use three letters here. The order that you use is not important. "c" means logging to console "i" means logging to ingame chat and "f" means logging to the log file.


Cmd: The "cmd" action is a string of the form "cmd:string:delay:repeat".

ActionDescription
cmdIs simply used to let NoCheatPlus know it is a command action. Don't remove it from the action, or NoCheatPlus will not know what it is and how to handle it.
stringIs the command that will be issued. Because there is so little space here, you only give a name here and define the actual command in the "strings" section of the config file.
delayA number declaring how many times that action initially has to be executed before it really leads to running the command in the console. Use this to create e.g. a 3-strikes-law by setting it to 3. Only if a player fails the check 3 times within 1 minute, the command will be really run.
repeatA number declaring how many seconds have to pass after running the command before it can be run again for that player. Because many commands are expensive (take time, resources), you may want to limit how often they can be called.

The ":delay:repeat" part can be omitted

Vl: The "vl>" isn't really an action. It limits all actions that are written afterwards to be only executed if the players’ violation level has reached at least the given value. This allows defining layers of actions and handling repeated or severe failing of checks different. For example the spam check will only kick players if they reach a certain violation level (vl).
Currently you have to use vl>... with a log action like "vl>50 log:...", otherwise it would not work.

Notes:

  • Violation levels can differ in magnitude and in how they change with repeated violations amongst checks, there is no way to compare them consistently.
  • Some checks like SurvivalFly (moving section) don't really allow a simple judgment only on base of the amount of violation.
  • Many cheat clients are adapted to cause as small as possible levels, thus distinction of false positives and cheating becomes harder and harder.
  • Make use of /ncp info PLAYER to have a rough idea how many different checks the player triggers (also compare output for differing times).

Checks Sections

TODO: General things about checks (generic).
TODO: Specific information/overview about each section.
TODO: Fill in information for checks that link to or use each other somehow.

**Blockbreak Subsection**

blockbreak page

**Blockinteract Subsection**

blockinteract page

**Blockplace Subsection**

blockplace page

**Chat Subsection**

chat page

**Combined Subsection**

combined page

**Fight Subsection**

fight page

**Inventory Subsection**

inventory page

**Moving Section**

moving page