mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-11-07 03:02:11 +01:00
f1e5481583
= Started working on NoPwnage = Moved the fly tracker to its own class = Fixed a NPE when kicking a player
1187 lines
53 KiB
Plaintext
1187 lines
53 KiB
Plaintext
################################################################################
|
|
# #
|
|
# Important files, config.yml or "clean up your stuff" #
|
|
# #
|
|
################################################################################
|
|
|
|
1) The config file for NoCheatPlus is called "config.yml" now.
|
|
|
|
2) You can have different config files for different worlds. To achieve this,
|
|
copy the "config.yml" and rename the copy to "worldname_config.yml". Set-
|
|
tings in that file will now only affect the world with the name "worldname".
|
|
You may also delete all settings from that world-specific file that you
|
|
won't use. They'll be implicitly taken from the master "config.yml" file.
|
|
|
|
3) If you have files named "config.txt", "default_actions.txt" or "actions.txt"
|
|
please delete them. They are no longer used by NoCheatPlus and serve no purpose
|
|
anymore.
|
|
|
|
4) Never change the amount of white-spaces in front of options in the config
|
|
file "config.yml". It will break the configuration.
|
|
|
|
|
|
################################################################################
|
|
# #
|
|
# How "actions" work, an Overview #
|
|
# #
|
|
################################################################################
|
|
|
|
NoCheatPlus allows to define in detail what should happen when a player fails a
|
|
check in form of "actions". There are 4 possible things that may be done.
|
|
(read on to learn in detail on how to define/modify actions):
|
|
|
|
cancel: The 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.
|
|
|
|
log: Create and show/log a message. Log messages can be customized in
|
|
how often, when and where they are registered/shown.
|
|
|
|
cmd: Execute 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>X: Is 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" #
|
|
# #
|
|
################################################################################
|
|
|
|
1) The "cancel" action is just the word "cancel". Read in the detailed option
|
|
description to find out what it does depending on the check that it is
|
|
assigned to.
|
|
|
|
2) The "log" action is a string of the form "log:string:delay:repeat:target".
|
|
|
|
log: is 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.
|
|
|
|
string: is 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.
|
|
|
|
delay: a 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.
|
|
|
|
repeat: a 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 very
|
|
recommended to at least use the value 1 (one second) here.
|
|
|
|
target: where 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.
|
|
|
|
3) The "cmd" action is a string of the form "cmd:string:delay:repeat".
|
|
|
|
cmd: is 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.
|
|
|
|
string: is 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.
|
|
|
|
delay: a 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.
|
|
|
|
repeat: a 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.
|
|
|
|
4) 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 to define layers of actions and
|
|
handle repeated or severe failing of checks different. For example the spam
|
|
check will only kick players if they reach a certain violation level (vl).
|
|
|
|
|
|
################################################################################
|
|
# #
|
|
# Permissions #
|
|
# #
|
|
################################################################################
|
|
|
|
|
|
NoCheatPlus only supports "SuperPerms", CraftBukkits official permission framework.
|
|
You'll need to use a permissions plugin that supports "SuperPerms" to use it
|
|
with NoCheatPlus. Here are some I know of:
|
|
|
|
- bPermissions
|
|
- PermissionsEx
|
|
- Essentials GroupManager
|
|
|
|
I personally recommend bPermissions, but any of them will do just fine.
|
|
|
|
By default all these permissions are set to "op", which means players with
|
|
OP-status have all permissions, unless you change it.
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
----------------------- Permissions for ADMINISTRATION -------------------------
|
|
--------------------------------------------------------------------------------
|
|
|
|
- nocheatplus.admin.chatlog
|
|
The player will receive log messages that are directed at the "ingame chat"
|
|
as a normal chat message ingame.
|
|
|
|
- nocheatplus.admin.commands
|
|
The player gets access to some of the "/nocheatplus" commands
|
|
|
|
- nocheatplus.admin.reload
|
|
In combination with "nocheatplus.admin.commands", the player gets access to the
|
|
"/nocheatplus reload" command, which will cause NoCheatPlus to reread its config
|
|
files.
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
--------------------------- Permissions for CHECKS -----------------------------
|
|
--------------------------------------------------------------------------------
|
|
|
|
These permission nodes are grouped the same way as the options in the config
|
|
file, based on the event type they belong to. The logic is, that a player
|
|
having one of these nodes means he will NOT be checked. Players without the
|
|
permission node will be checked.
|
|
|
|
Example: A player has permission "nocheatplus.checks.moving.morepackets". That
|
|
means he is allowed to use that hack/cheat because NoCheatPlus won't check/stop it.
|
|
|
|
|
|
------------------------ MOVING Permissions for CHECKS -------------------------
|
|
|
|
- nocheatplus.checks.moving.runfly
|
|
Allows the player to move freely. It also treats the player as if he has
|
|
the ".flying", ".swimming", ".sneaking" and ".nofall" permission too.
|
|
|
|
- nocheatplus.checks.moving.flying
|
|
Allows the player to fly, independent of if he is in "creative mode" or not.
|
|
He will be limited in speed by the config settings "flyingspeedvertical"
|
|
and "flyingspeedhorizontal". It also treats the player as if he has the
|
|
".nofall" permission too.
|
|
|
|
- nocheatplus.checks.moving.swimming
|
|
Allows the player to swim as fast as he is allowed to walk. Normally a
|
|
player swims slower than he walks and NoCheatPlus prevents faster movement in
|
|
water.
|
|
|
|
- nocheatplus.checks.moving.sneaking
|
|
Allows the player to sneak faster than he is allowed to walk. Normally a
|
|
player sneaks a lot slower than he walks and NoCheatPlus prevents faster
|
|
movement while sneaking.
|
|
|
|
- nocheatplus.checks.moving.nofall
|
|
Allows the player to avoid fall damage by using hacks. Normally NoCheatPlus
|
|
will keep track of a players movement and try to rectify the fall-damage
|
|
calculations of Minecraft in case they seem to be wrong because of players
|
|
tricking the server.
|
|
|
|
- nocheatplus.checks.moving.morepackets
|
|
Allows players to make a lot more movements than normally possible. Doing
|
|
more movements will result in faster overall movement speed and causes the
|
|
server to spend a lot of additional time for processing these movements.
|
|
|
|
- nocheatplus.checks.moving.morepacketsvehicle
|
|
Allows players to make a lot more movements (while being in a vehicule) than
|
|
normally possible. Doing more movements will result in faster overall movement
|
|
speed and causes the server to spent a lot of additional time for processing
|
|
these movements.
|
|
|
|
- nocheatplus.checks.moving.boatonground
|
|
Allows players to place boats on the ground (and not only on the water).
|
|
|
|
- nocheatplus.checks.moving.respawntrick
|
|
Allows player to respawn on top if they are blocked by a gravel or a sand
|
|
block (instead of removing the blocks blocking them). This is usually used
|
|
by players to go quickly to the surface when they are in their mines).
|
|
|
|
|
|
-------------------- BLOCKBREAK Permissions for CHECKS -------------------------
|
|
|
|
- nocheatplus.checks.blockbreak.fastbreak
|
|
Allows the player to break blocks very quickly.
|
|
|
|
- nocheatplus.checks.blockbreak.reach
|
|
Allows the player to break blocks that are further away than usual.
|
|
|
|
- nocheatplus.checks.blockbreak.direction
|
|
Don't force players to look at the blocks that they try to destroy.
|
|
|
|
- nocheatplus.checks.blockbreak.noswing
|
|
Don't force players to swing their arm when breaking blocks.
|
|
|
|
|
|
-------------------- BLOCKPLACE Permissions for CHECKS -------------------------
|
|
|
|
- nocheatplus.checks.blockplace.fastplace
|
|
Allows the player to place blocks very quickly.
|
|
|
|
- nocheatplus.checks.blockplace.reach
|
|
Allows the player to place blocks that are further away than usual.
|
|
|
|
- nocheatplus.checks.blockplace.direction
|
|
Don't force players to look at the blocks that they try to place.
|
|
|
|
- nocheatplus.checks.blockplace.projectile
|
|
Allows the player to throw projectiles very quickly, like expbottles, eggs,
|
|
monster eggs, eyes of ender, ender pearls. This is usually used by griefers
|
|
to level up very quickly or to crash the server by spawning too much mobs.
|
|
|
|
- nocheatplus.checks.blockplace.autosign
|
|
Allows the player to place multiple signs with the same text. This is usually
|
|
used by griefers to place quickly a lot of signs with their signature.
|
|
|
|
|
|
--------------------- INVENTORY Permissions for CHECKS -------------------------
|
|
|
|
- nocheatplus.checks.inventory.drop
|
|
Don't limit the number of items that a player may drop within a short time
|
|
|
|
- nocheatplus.checks.inventory.instantbow
|
|
Don't prevent players from shooting their bows instantly without taking the
|
|
usual time to pull the string back
|
|
|
|
- nocheatplus.checks.inventory.instanteat
|
|
Don't prevent players from eating their food instantly without taking the
|
|
usual time to munch on it
|
|
|
|
|
|
----------------------- CHAT Permissions for CHECKS ----------------------------
|
|
|
|
- nocheatplus.checks.chat.spam
|
|
Don't limit the number of messages and commands that a player may send in a
|
|
short timeframe
|
|
|
|
- nocheatplus.checks.chat.color
|
|
Don't filter color codes from messages that get sent by players, allowing
|
|
them to use colors in their messages.
|
|
|
|
|
|
---------------------- FIGHT Permissions for CHECKS ----------------------------
|
|
|
|
- nocheatplus.checks.fight.direction
|
|
Don't force players to look at their targets while fighting
|
|
|
|
- nocheatplus.checks.fight.noswing
|
|
Don't force players to move their arms while fighting
|
|
|
|
- nocheatplus.checks.fight.reach
|
|
Don't limit the distance for fights
|
|
|
|
- nocheatplus.checks.fight.speed
|
|
Don't limit the number of attacks that the player can do per second
|
|
|
|
- nocheatplus.checks.fight.godmode
|
|
Don't prevent the player from keeping the temporary invulnerability that he
|
|
gets when taking damage
|
|
|
|
- nocheatplus.checks.fight.instantheal
|
|
Don't prevent the player from accellerating their health generation by
|
|
food saturation
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
---------------------------- Permissions for MODS ------------------------------
|
|
--------------------------------------------------------------------------------
|
|
|
|
- nocheatplus.mods.zombe.fly
|
|
Don't prevent the player from using Zombe's fly mod
|
|
|
|
- nocheatplus.mods.zombe.xray
|
|
Don't prevent the player from using Zombe's noclip
|
|
|
|
- nocheatplus.mods.zombe.cheat
|
|
Don't prevent the player from using Zombe's cheat
|
|
|
|
- nocheatplus.mods.cjb.fly
|
|
Don't prevent the player from using CJB's fly mod
|
|
|
|
- nocheatplus.mods.cjb.xray
|
|
Don't prevent the player from using CJB's xray
|
|
|
|
- nocheatplus.mods.cjb.radar
|
|
Don't prevent the player from using CJB's radar
|
|
|
|
- nocheatplus.mods.rei.cave
|
|
Don't prevent the player from using Rei's Minimap's cave mode
|
|
|
|
- nocheatplus.mods.rei.radar
|
|
Don't prevent the player from using Rei's Minimap's radar
|
|
|
|
- nocheatplus.mods.minecraftautomap.ores
|
|
Don't prevent the player from using Minecraft AutoMap's ores detector
|
|
|
|
- nocheatplus.mods.minecraftautomap.cave
|
|
Don't prevent the player from using Minecraft AutoMap's cave mode
|
|
|
|
- nocheatplus.mods.minecraftautomap.radar
|
|
Don't prevent the player from using Minecraft AutoMap's radar
|
|
|
|
- nocheatplus.mods.smartmoving.climbing
|
|
Don't prevent the player from using Smart Moving's climb
|
|
|
|
- nocheatplus.mods.smartmoving.swimming
|
|
Don't prevent the player from using Smart Moving's swim
|
|
|
|
- nocheatplus.mods.smartmoving.crawling
|
|
Don't prevent the player from using Smart Moving's crawl
|
|
|
|
- nocheatplus.mods.smartmoving.sliding
|
|
Don't prevent the player from using Smart Moving's slide
|
|
|
|
- nocheatplus.mods.smartmoving.jumping
|
|
Don't prevent the player from using Smart Moving's jump
|
|
|
|
- nocheatplus.mods.smartmoving.flying
|
|
Don't prevent the player from using Smart Moving's fly
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
---------------------- Things to know about Permissions ------------------------
|
|
--------------------------------------------------------------------------------
|
|
|
|
NoCheatPlus defines "parent" nodes for all permissions already for you. That means
|
|
you can use one of the following:
|
|
|
|
- nocheatplus
|
|
- nocheatplus.admin
|
|
- nocheatplus.checks
|
|
- nocheatplus.checks.moving
|
|
- nocheatplus.checks.blockbreak
|
|
- nocheatplus.checks.blockplace
|
|
- nocheatplus.checks.inventory
|
|
- nocheatplus.checks.chat
|
|
- nocheatplus.checks.fight
|
|
- nocheatplus.mods
|
|
- nocheatplus.mods.zombe
|
|
- nocheatplus.mods.cjb
|
|
- nocheatplus.mods.rei
|
|
- nocheatplus.mods.minecraftautomap
|
|
- nocheatplus.mods.smartmoving
|
|
|
|
To give a player all the permissions that start with that permission node.
|
|
|
|
Especially you don't have to and should not use ".*" anywhere when defining
|
|
NoCheatPlus permissions.
|
|
|
|
|
|
You can exclude a specific player from getting logged by appending ".silent"
|
|
to the relevant permission node of the specific check. E.g.
|
|
|
|
- nocheatplus.checks.moving.nofall.silent
|
|
|
|
will prevent NoCheatPlus from recording log messages for that player for the
|
|
"nofall" check, while still executing all other actions as usual. These silent
|
|
permissions won't show up elsewhere, e.g. when using the "nocheatplus permlist"
|
|
command.
|
|
|
|
|
|
################################################################################
|
|
# #
|
|
# All available config settings #
|
|
# #
|
|
################################################################################
|
|
|
|
Here you'll find the whole list of settings that you can manipulate in the
|
|
config.yml file. It is further split into logical sections
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
----------------------------- CLIENT MODS Section ------------------------------
|
|
--------------------------------------------------------------------------------
|
|
|
|
Everything that in has to do with the client mods can be found at this part of
|
|
the config.yml.
|
|
|
|
allow:
|
|
|
|
Allow all your players to use all the client mods (Zombe, CJB, Rei's Minimap,
|
|
Minecraft AutoMap and Smart Moving).
|
|
|
|
--------------------------------------------------------------------------------
|
|
-------------------------------- LOGGING Section -------------------------------
|
|
--------------------------------------------------------------------------------
|
|
|
|
Everything that in general has to do with controlling NoCheatPluss logging can be
|
|
found at this part of the config.yml
|
|
|
|
active:
|
|
|
|
Should messages get logged at all. If you are not interested in messages,
|
|
set this to false and you'll hear and see (almost) nothing of NoCheatPlus.
|
|
|
|
prefix:
|
|
|
|
Will be placed in front of many log messages. To get colors, use "&"
|
|
followed by a number (0-9) or a letter (A-F). E.g. "&7NCP&f:" would produce
|
|
the letters NCP in red (&7), followed by black text (&f).
|
|
|
|
filename:
|
|
|
|
The name of the logfile that NoCheatPlus will use to log its messages. The
|
|
default name is "nocheatplus.log", but you can use a different one if you want
|
|
to.
|
|
|
|
file:
|
|
|
|
Should the logfile be used at all. Set to false if you don't want to use
|
|
the logfile. By default the logfile will be used (true).
|
|
|
|
console:
|
|
|
|
Should the server console be used to display messages. Set to false if you
|
|
don't want NoCheatPlus to show messages related to checks in the console. Error
|
|
messages may still get displayed there though.
|
|
|
|
ingamechat:
|
|
|
|
Should NoCheatPlus display messages in the ingame chat? Set to false if you
|
|
don't want NoCheatPlus to show messages ingame. The messages will only be seen
|
|
by players with the permission node "nocheatplus.admin.chatlog" or if you don't
|
|
use a permissions plugin, by players who are OP.
|
|
|
|
showactivechecks:
|
|
|
|
Should NoCheatPlus display lists of checks that are enabled for each world. Set
|
|
to true if you are unsure that your (multiworld) setup of the config files
|
|
is done correctly.
|
|
|
|
debugmessages:
|
|
|
|
Should some additional messages be displayed in the server console, e.g.
|
|
about NoCheatPlus encountering lag. The displayed messages may change from
|
|
version to version. This is deactivated by default.
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-------------------------------- CHECKS Section --------------------------------
|
|
--------------------------------------------------------------------------------
|
|
|
|
Everything that in has to do with the various checks that NoCheatPlus runs on the
|
|
players. Use these to specify what will be done, how it will be done and what
|
|
happens if somebody fails checks.
|
|
|
|
|
|
----------------------------- INVENTORY Subsection -----------------------------
|
|
|
|
Checks that at least technically have to do with the inventory or usage of
|
|
items can be found here.
|
|
|
|
1) DROP:
|
|
|
|
The "inventory.drop" check. It limits how many separate items a player can
|
|
drop onto the ground within a specific time. Dropping a lot of separate
|
|
items at once can cause lag on the server, therefore this check exists.
|
|
|
|
active:
|
|
Should the check be enabled. Set to false if you are not interested in
|
|
this at all
|
|
|
|
time:
|
|
Over how many seconds should dropped items be counted, before the
|
|
counter gets reset and starts at zero again.
|
|
|
|
limit:
|
|
How many items may be dropped in the timeframe that is specified by
|
|
the "time" setting. Please consider that dying causes a player to drop
|
|
up to 36 separate items (stacks). Therefore this value shouldn't be
|
|
set below ~50.
|
|
|
|
actions:
|
|
What should happen when a player goes beyond the set limit. Default
|
|
settings log a message and kick the player from the server. The VL of
|
|
the drop check symbolizes how many items a player dropped beyond the
|
|
set limit. If the limit is 100 and he tried to drop 130, he will have a
|
|
Violation Level of 130 - 100 = 30.
|
|
|
|
2) INSTANTBOW:
|
|
|
|
Players may attack extremely fast and with a fully charged bow without
|
|
waiting for it to be fully pulled back. This is a significant advantage in
|
|
PvP and PvE combat.
|
|
|
|
active:
|
|
Should players be checked for this behavior. Set to false if you don't
|
|
care about players using bows faster than normally possible.
|
|
|
|
actions:
|
|
What should happen if the player fails this check. Default is to stop
|
|
the attack ("cancel" it) and log messages. The Violation Level (VL) for
|
|
this check the time difference between how long it took the player to
|
|
fire an arrow and how long NoCheatPlus thinks he should have taken, in
|
|
1/10 seconds. Therefore a VL of 10 would mean that the player shot an
|
|
arrow 1 second faster than NoCheatPlus expected. The VL gets increased with
|
|
every failed check and slowly decreased for every passed check.
|
|
|
|
3) INSTANTEAT:
|
|
|
|
Players may eat various kinds of food instantly instead of waiting the
|
|
usual time munching on the item.
|
|
|
|
active:
|
|
Should players be checked for this behavior. Set to false if you don't
|
|
care about players eating their food faster than normally possible.
|
|
|
|
actions:
|
|
What should happen if the player fails this check. Default is to stop
|
|
the eating ("cancel" it) and log messages. The Violation Level (VL) for
|
|
this check the time difference between how long it took the player to
|
|
eat his food and how long NoCheatPlus thinks he should have taken, in
|
|
1/10 seconds. Therefore a VL of 10 would mean that the player ate his
|
|
food 1 second faster than NoCheatPlus expected. The VL gets increased with
|
|
every failed check and slowly decreased for every passed check.
|
|
|
|
|
|
------------------------------ MOVING Subsection -------------------------------
|
|
|
|
Checks that at least technically have to do with the player moving around or
|
|
impacting the world with his movement can be found here.
|
|
|
|
1) RUNFLY:
|
|
|
|
Players may move in illegal ways (flying, running too fast) or try to
|
|
trick the server into thinking that they are not falling/flying by
|
|
cleverly manipulating the data that they send to the server.
|
|
|
|
active:
|
|
Should players get checked for this type of movement related hacks at
|
|
all. If deactivated, player may freely move around on the server, fly
|
|
or run really fast.
|
|
|
|
walkspeed:
|
|
How fast should the player be allowed to walk. Default is "100",
|
|
meaning 100% of normal walking speed. You will not see this option in
|
|
your config.yml file, because normally you shouldn't have to change the
|
|
walking speed of players at all (NoCheatPlus knows when players sprint, use
|
|
Swiftness potions etc and will already adapt the speed based on that
|
|
data).
|
|
|
|
sprintspeed:
|
|
How fast should the player be allowed to sprint. Default is "100",
|
|
meaning 100% of normal sprinting speed. You will not see this option in
|
|
your config.yml file, because normally you shouldn't have to change the
|
|
sprinting speed of players at all (NoCheatPlus knows when players sprint,
|
|
use Swiftness potions etc and will already adapt the speed based on
|
|
that data).
|
|
|
|
sneakspeed:
|
|
How fast should the player be allowed to sneak. Default is "100",
|
|
meaning 100% of normal sneaking speed. You will not see this option in
|
|
your config.yml file, because normally you shouldn't have to change the
|
|
sneaking speed of players at all (NoCheatPlus knows when players sprint,
|
|
use Swiftness potions etc and will already adapt the speed based on
|
|
that data).
|
|
|
|
swimspeed:
|
|
How fast should the player be allowed to swim. Default is "100",
|
|
meaning 100% of normal swimming speed. You will not see this option in
|
|
your config.yml file, because normally you shouldn't have to change the
|
|
swimming speed of players at all (NoCheatPlus knows when players sprint,
|
|
use Swiftness potions etc and will already adapt the speed based on
|
|
that data).
|
|
|
|
allowfastsneaking:
|
|
Should sneaking players be allowed to move as fast as normal players.
|
|
Set this to true, if you use plugins that enable players to do that
|
|
(e.g. the "Heroes" plugin or other RPG plugins tend to do that)
|
|
|
|
actions:
|
|
What should happen when a player sneaks/swims/walks/runs faster than
|
|
normally allowed or is flying. Default is to log messages (depending on
|
|
how severe the cheating is) and teleport the player to the last known
|
|
legitimate location on ground that NoCheatPlus can remember for that player
|
|
("cancel" the movement)
|
|
|
|
checknofall:
|
|
Should players be checked for a common type of "nofall" hack, that
|
|
allows them to avoid taking damage when falling. If you don't care
|
|
about fall damage, you can deactivate this. It gets deactivated if a
|
|
player is allowed to fly (see some lines below), because it doesn't
|
|
make sense to allow flying and then hurt players when they land.
|
|
|
|
nofallaggressivemode:
|
|
Enable an improved version of nofall check, that will catch additional
|
|
types of "nofall" hacks and deal damage to players directly. This is
|
|
usually safe to activate. It will only work if the "checknofall" is
|
|
also set to "true".
|
|
|
|
nofallactions:
|
|
What should happen if a player is considered to be using a "nofall"
|
|
hack. Default reaction is to log a message and encourage Bukkit to deal
|
|
fall damage anyway ("cancel" the hack). The Violation Level is the
|
|
fall distance in blocks that the player tried to avoid. It gets
|
|
increased every time that the player fails the check, and decreased
|
|
over time if the player doesn't fail the check.
|
|
|
|
TRACKER:
|
|
This is an entire subsection dedicated to a recently introduced check
|
|
specially designed to prevent players from staying in the air longer
|
|
than a defined value.
|
|
|
|
active:
|
|
Should players get checked for this type of movement related hacks at
|
|
all. If deactivated, player may stay in the air without being noticed
|
|
by NoCheat+.
|
|
|
|
actions:
|
|
What should happen if a player tries to stay too much time in the air.
|
|
Default is to kick the player. The Violation Level is the time the
|
|
player has spent in the air minus the maximum time allowed (6 seconds).
|
|
|
|
FLYING:
|
|
This is an entire subsection dedicated to the "moving.flying" check.
|
|
It will be used instead of the "runfly" check whenever a player has
|
|
the right to fly.
|
|
|
|
allowflyingalways:
|
|
Should all players be allowed to fly always.
|
|
|
|
allowflyingincreative:
|
|
Should players that are set to "creative mode" be allowed to fly. If
|
|
they are already allowed because of "allowflyingalways" to fly, this
|
|
setting gets ignored.
|
|
|
|
flyingspeedlimithorizontal:
|
|
How many 1/100 blocks may a player fly horizontal within one "step".
|
|
The official "creative mode" flying reaches speeds of about 0.6
|
|
blocks which means a value of 60 here.
|
|
|
|
flyingspeedlimitvertical:
|
|
How many 1/100 blocks may a player fly vertically up within one
|
|
"step". A value of 100 which means 1 block seems reasonable for most
|
|
cases.
|
|
|
|
flyingheightlimit:
|
|
What is the maximum height (in blocks) that a player may reach by
|
|
flying, relative to the max world height he is in. Some servers
|
|
experience lag when players fly very, very high. This value is how
|
|
far above the map height a player may fly.
|
|
|
|
actions:
|
|
What should happen if a player flies faster/higher than defined here?
|
|
Default is to log messages and to prevent the player from moving
|
|
("cancel" his last movement). The Violation Level (VL) of this check
|
|
is the distance that the player went beyond what NoCheatPlus allowed him.
|
|
The VL increases with every failed check and slowly decreases for
|
|
every passed check.
|
|
|
|
2) MOREPACKETS:
|
|
|
|
The morepackets check is complementary to the "runfly" check. While the
|
|
"runfly" check(s) limit the distance a player can move per step, this
|
|
"morepackets" check limits the number of "steps" a player may take per
|
|
second. A normal value is 20 steps per second.
|
|
|
|
active:
|
|
Should players be checked for this kind of cheating. If you are not
|
|
interested in players that cheat that way, set this to false. It is a
|
|
good idea to have this active, because players that cheat by sending
|
|
more packets than normally allowed may lag the server (each of those
|
|
packets has to be processed, after all).
|
|
|
|
actions:
|
|
What should happen if a player is considered to be cheating by taking
|
|
more steps per second than normal. Default is to log messages and
|
|
teleport the player back to a location where he was ~1 second before
|
|
("cancel" his movement). The Violation Level VL is the number of
|
|
packets that the player sent beyond the expected amount.
|
|
|
|
3) MOREPACKETSVEHICULE:
|
|
|
|
The morepacketsvehicule check is complementary to the "morepackets" check.
|
|
While the "morepacket" check limit the number of player-move packets send
|
|
per second, this "morepacketsvehicle" limit the number of vehicule-move
|
|
packets sent per second. A normal value is 20 packets per second.
|
|
|
|
active:
|
|
Should players be checked for this kind of cheating. If you are not
|
|
interested in players that cheat that way, set this to false. It is a
|
|
good idea to have this active, because players that cheat by sending
|
|
more packets than normally allowed may lag the server (each of those
|
|
packets has to be processed, after all).
|
|
|
|
actions:
|
|
What should happen if a player is considered to be cheating by taking
|
|
more steps per second than normal. Default is to log messages and break
|
|
the boat the player is using. The Violation Level VL is the number of
|
|
packets that the player sent beyond the expected amount.
|
|
|
|
4) WATERWALK:
|
|
|
|
The waterwalk check is used to prevent players from walking on water using
|
|
a client dedicated to griefing (this mode is usually called Jesus mod).
|
|
Firstly, it'll check if the player's move is valid (not only moving the X
|
|
and Z axes but also on the Y axis and, of course, if the player is near the
|
|
surface (most of the griefing client set the player 0.3 blocks under the
|
|
water surface). Secondly, it'll make sure the player is using the borders
|
|
of the block to climb outside the water (it prevents players using griefing
|
|
clients to simply jump multiple times over the water).
|
|
|
|
active:
|
|
Should players be checked for this kind of cheating. If you are not
|
|
interested in players that cheat that way, set this to false. It is a
|
|
good idea to have this active, because player won't be able to cross
|
|
easily the oceans.
|
|
|
|
actions:
|
|
What should happen if a player is considered to be cheating by walking
|
|
on water. Default is to log messages and to prevent the player from moving
|
|
("cancel" his last movement). The Violation Level (VL) of this check is
|
|
the distance between the player and the surface or how far away he is from
|
|
the normal position if a player climbing a block. The VL increases with
|
|
every failed check and slowly decreases for every passed check.
|
|
|
|
|
|
---------------------------- BLOCKBREAK Subsection -----------------------------
|
|
|
|
Checks that at least technically have to do with the player breaking blocks.
|
|
|
|
1) FASTBREAK:
|
|
|
|
This check will prevent players from breaking blocks too quickly by checking
|
|
the interval of time elapsed since they've broken their last block. This
|
|
should prevent players from using the features called "Smasher", "Click
|
|
Nuker" and "Creative Nuker" of their griefing client.
|
|
|
|
active:
|
|
Should players be checked for this behaviour.
|
|
|
|
actions:
|
|
What should happen if the player is considered to cheat this way. The
|
|
default is to prevent him from breaking the block ("cancel" breaking)
|
|
and on repeated offenses to log messages about it. If the Violation
|
|
Level becomes too hight, the player will be kicked. The Violation Level
|
|
(VL) is the difference between the usual minimum time it takes to break
|
|
two blocks and the real time elapsed. The VL increases with every failed
|
|
attempt to break a block, and decreases with every successful attempt.
|
|
|
|
|
|
2) REACH:
|
|
|
|
Players may slightly increase the distance at which they can break
|
|
blocks. This check will try to identify that by comparing player and
|
|
block location.
|
|
|
|
active:
|
|
Should players be checked for this behaviour.
|
|
|
|
actions:
|
|
What should happen if the player is considered to cheat this way. The
|
|
default is to prevent him from breaking the block ("cancel" breaking)
|
|
and on repeated offenses to log messages about it. The Violation Level
|
|
(VL) is the distance in Blocks between the reach distance that NoCheatPlus
|
|
allowed and what the player actually tried to use. The VL increases
|
|
with every failed attempt to break a block out of reach, and decreases
|
|
with every successful attempt.
|
|
|
|
3) DIRECTION:
|
|
|
|
Players may break blocks without really looking at them. This is often
|
|
combined with breaking a lot of blocks surrounding the player at the same
|
|
time.
|
|
|
|
active:
|
|
Should players get checked for this type of hack
|
|
|
|
precision:
|
|
How strict should NoCheatPlus be when comparing the players line of view
|
|
with the broken block location. The value represents (roughly) the
|
|
amount of 1/100 blocks that the player is allowed to look past the to
|
|
be broken block. 50 (0.5 blocks) seems a good default value.
|
|
|
|
penaltytime:
|
|
If a player fails this check, how long should he be prevented from
|
|
breaking blocks afterwards, in milliseconds. This is intended to make
|
|
automated destruction of blocks harder. 0.3 seconds (value 300) is the
|
|
default. Set to 0, if you don't want to limit players at all after
|
|
failing this check.
|
|
|
|
actions:
|
|
What should happen if a player fails this check. Default is to prevent
|
|
the breaking of the block ("cancel" it) and after repeated/more severe
|
|
offenses to log a message. The Violation Level (VL) for this check is
|
|
the distance in Blocks between the line of view of the player and the
|
|
block. It increases with every failure and decreases with every
|
|
successful block break.
|
|
|
|
4) NOSWING:
|
|
|
|
Players may break blocks without moving their arm. This is confusing for
|
|
nearby players, as they won't see who broke the blocks.
|
|
|
|
active:
|
|
Should players get checked for this type of hack
|
|
|
|
actions:
|
|
What should happen if the player didn't swing his arm first? Default is
|
|
to log a message and prevent the breaking of the block ("cancel" it).
|
|
The Violation Level (VL) is the number of block-break attempts without
|
|
first swinging the arm. It increases with every failed attempt by 1 and
|
|
decreases with every successful attempt slowly.
|
|
|
|
|
|
---------------------------- BLOCKPLACE Subsection -----------------------------
|
|
|
|
Checks that at least technically have to do with the player placing blocks.
|
|
|
|
1) FASTPLACE:
|
|
|
|
This check will prevent players from placing blocks too quicly by checking
|
|
the interval of time elapsed since they've placed their last block. This
|
|
should prevent players from using the features called "FastPlace" and
|
|
"Build" of their griefing client.
|
|
|
|
active:
|
|
Should players be checked for this behaviour.
|
|
|
|
actions:
|
|
What should happen if the player is considered to cheat this way. The
|
|
default is to prevent him from placing the block ("cancel" placing)
|
|
and on repeated offenses to log messages about it. If the Violation
|
|
Level becomes too hight, the player will be kicked. The Violation Level
|
|
(VL) is the difference between the usual minimum time it takes to place
|
|
two blocks and the real time elapsed. The VL increases with every failed
|
|
attempt to place a block, and decreases with every successful attempt.
|
|
|
|
2) REACH:
|
|
|
|
Players may slightly increase the distance at which they can place
|
|
blocks. This check will try to identify that by comparing player and
|
|
block location.
|
|
|
|
active:
|
|
Should players be checked for this behaviour.
|
|
|
|
actions:
|
|
What should happen if the player is considered to cheat this way. The
|
|
default is to prevent him from placing the block ("cancel" placing)
|
|
and on repeated offenses to log messages about it. The Violation Level
|
|
(VL) is the distance in Blocks between the reach distance that NoCheatPlus
|
|
allowed and what the player actually tried to use. The VL increases
|
|
with every failed attempt to place a block out of reach, and decreases
|
|
with every successful attempt.
|
|
|
|
3) DIRECTION:
|
|
|
|
Players may place blocks without really looking at them. This is often
|
|
combined with placing a lot of blocks in a certain shape.
|
|
|
|
active:
|
|
Should players get checked for this type of hack.
|
|
|
|
precision:
|
|
How strict should NoCheatPlus be when comparing the players line of view
|
|
with the placed block location. The value represents (roughly) the
|
|
amount of 1/100 blocks that the player is allowed to look past the to
|
|
be placed block. 75 (0.75 blocks) seems a good default value.
|
|
|
|
penaltytime:
|
|
If a player fails this check, how long should he be prevented from
|
|
placing blocks afterwards, in milliseconds. This is intended to make
|
|
automated placing of blocks harder. 0.1 second (value 100) is the
|
|
default. Set to 0, if you don't want to limit players at all after
|
|
failing this check.
|
|
|
|
actions:
|
|
What should happen if a player fails this check. Default is to prevent
|
|
the placing of the block ("cancel" it) and after repeated/more severe
|
|
offenses to log a message. The Violation Level (VL) for this check is
|
|
the distance in Blocks between the line of view of the player and the
|
|
block. It increases with every failure and decreases with every
|
|
successful block placement.
|
|
|
|
4) PROJECTILE
|
|
|
|
Players may throw projectiles (experience bottles, eggs, monster eggs,
|
|
eyes of ender, ender pearls) really quickly in order to crash the server.
|
|
|
|
active:
|
|
Should players get checked for this type of hack.
|
|
|
|
interval:
|
|
The time (in milliseconds) between each thrown projectile. It takes
|
|
more than 150 ms if the player is keeping its right button pressed.
|
|
|
|
actions:
|
|
What should happen if a player fails this check. Default is to prevent
|
|
the placing of the block ("cancel" it) and after repeated/more severe
|
|
offenses to log a message and kick the player. The Violation Level (VL)
|
|
for this check is the interval elapsed subtracted to the interval defined
|
|
in the configuration's file; It increases with every failure and decreases
|
|
with every successfully thrown projectile.
|
|
|
|
|
|
------------------------------- CHAT Subsection --------------------------------
|
|
|
|
Checks that at least technically have to do with chat or commands.
|
|
|
|
hidenocheatplus:
|
|
|
|
Setting this to true will hide NoCheatPlus for the /plugins (or /pl) command
|
|
of Bukkit (only if typed by a player). This command might be used by some
|
|
griefing clients to try to detect and to apply bypasses to NoCheatPlus.
|
|
|
|
1) COLOR:
|
|
|
|
Players may use color-codes to send colored messages. This may be used
|
|
to fool other players into believing they are admins or similar.
|
|
|
|
active:
|
|
Should player messages get checked for the use of color codes.
|
|
|
|
actions:
|
|
What should be done if a player sends messages with color codes.
|
|
Default is to log a message and prevent ("cancel") the use of the
|
|
color codes, by filtering them from the message. The message itself
|
|
will still be transmitted. The Violation Level (VL) for this check is
|
|
the number of messages that contained color codes. It increases with
|
|
each color-code message by 1 and decreases slowly with colorless
|
|
messages.
|
|
|
|
2) SPAM:
|
|
|
|
Players may send a ton of messages/commands in a short time to cause
|
|
lag or even crash a server.
|
|
|
|
active:
|
|
Should player messages get checked for sending of too many messages.
|
|
|
|
whitelist:
|
|
A " " (whitespace) separated list of words. Messages that start with
|
|
these sequences will not be counted. This is ideal to exempt commands
|
|
from getting filtered, by e.g. adding "/help" to the list.
|
|
|
|
timeframe:
|
|
For how many seconds should messages and commands be counted, before
|
|
the counters get reset and counting starts at zero again.
|
|
|
|
messagelimit:
|
|
How many "normal" chat messages may be sent within the timeframe. All
|
|
messages that don't start with "/" are considered "normal".
|
|
|
|
commandlimit:
|
|
How many commands may be issued within the timeframe. Some mods (e.g.
|
|
TooManyItems) send a command on every mouse-click, which may cause
|
|
problems if this is set too low. So choose wisely. Every message that
|
|
starts with "/" is considered a command, even if the command doesn't
|
|
exist.
|
|
|
|
actions:
|
|
What should happen if players send more messages/commands than declared
|
|
by the above limits? Default is to prevent the message/command from
|
|
being processed ("cancel" them) and for severe cases where players send
|
|
a lot of messages/commands, kick them. The Violation Level (VL) is the
|
|
number of messages/commands that were sent beyond the specified limits.
|
|
It gets increased for every message/command by 1 and reset to zero when
|
|
the "timeframe" has passed.
|
|
|
|
3) SPAMJOINS:
|
|
|
|
This check limits the number of new players joining every X seconds to
|
|
prevent the usage of softwares like PWN4G3.
|
|
|
|
active:
|
|
Should players get checked for that kind of spam.
|
|
|
|
playerslimit:
|
|
The number of new players allowed to join during the interval defined
|
|
in the configuration.
|
|
|
|
timelimit:
|
|
The interval in milliseconds during which the number of new players
|
|
defined in the configuration are allowed to join.
|
|
|
|
cooldown:
|
|
The number of milliseconds during which new players won't be allowed
|
|
to join if too many new players have been detected.
|
|
|
|
|
|
------------------------------ FIGHT Subsection --------------------------------
|
|
|
|
Checks that at least technically have to do with direct combat.
|
|
|
|
1) DIRECTION:
|
|
|
|
Players may attack other players and creatures without really looking at
|
|
them. This is often combined with automatically attacking every living
|
|
thing within reach ("kill-aura"). This check will check if the attacker
|
|
looks at his target.
|
|
|
|
active:
|
|
Should players get checked for this type of hack
|
|
|
|
precision:
|
|
How strict should NoCheatPlus be when comparing the players line of view
|
|
with the his target's location. The value represents (roughly) the
|
|
amount of 1/100 blocks that the player is allowed to look past the to
|
|
be attacked entity. 75 (0.75 blocks) seems a good default value.
|
|
|
|
penaltytime:
|
|
If a player fails this check, how long should he be prevented from
|
|
attacking stuff afterwards, in milliseconds. This is intended to make
|
|
automated attacking of enemies harder. 0.5 second (value 500) is the
|
|
default. Set to 0, if you don't want to limit players at all after
|
|
failing this check.
|
|
|
|
actions:
|
|
What should happen if a player fails this check. Default is to prevent
|
|
the attack from happening ("cancel" it) and after repeated/more severe
|
|
offenses to log a message. The Violation Level (VL) for this check is
|
|
the distance in Blocks between the line of view of the player and the
|
|
target. It increases with every failure and decreases with every
|
|
successful attack.
|
|
|
|
2) NOSWING:
|
|
|
|
Players may attack entities without moving their arm. This is confusing
|
|
for nearby players, as they won't see who is attacking them or the nearby
|
|
creatures.
|
|
|
|
active:
|
|
Should players get checked for this type of hack
|
|
|
|
actions:
|
|
What should happen if the player didn't swing his arm first? Default is
|
|
to log a message and prevent the attack from happening ("cancel" it).
|
|
The Violation Level (VL) is the number of attacking attempts without
|
|
first swinging the arm. It increases with every failed attempt by 1 and
|
|
decreases with every successful attempt slowly.
|
|
|
|
3) REACH:
|
|
|
|
Players may slightly increase the distance at which they can attack enemy
|
|
creatures/players. This check will try to identify that by comparing
|
|
player and target location.
|
|
|
|
active:
|
|
Should players be checked for this behaviour.
|
|
|
|
distance:
|
|
How far can the enemy be away from the attacker, in 1/100 Blocks. The
|
|
default value of 400, which is 4.00 blocks seems to work fine most of
|
|
the time. Increase if you get to many false positives to e.g. 425 or
|
|
450.
|
|
|
|
penaltytime:
|
|
If a player fails this check, how long should he be prevented from
|
|
attacking stuff afterwards, in milliseconds. This is intended to make
|
|
automated attacking of enemies harder. 0.5 second (value 500) is the
|
|
default. Set to 0, if you don't want to limit players at all after
|
|
failing this check.
|
|
|
|
actions:
|
|
What should happen if the player is considered to cheat this way. The
|
|
default is to prevent him from attacking the target ("cancel" attack)
|
|
and on repeated offenses to log messages about it. The Violation Level
|
|
(VL) is the distance in Blocks between the reach distance that NoCheatPlus
|
|
allowed and what the player actually tried to use. The VL increases
|
|
with every failed attempt to attack enemies out of reach, and decreases
|
|
with every successful attempt.
|
|
|
|
4) SPEED:
|
|
|
|
Players may be attacking extremely fast within a short time by using
|
|
automated clicking or hacks. This is an advantage in many situations.
|
|
|
|
active:
|
|
Should players be checked for this behavior.
|
|
|
|
attacklimit:
|
|
How many attacks may a player start within 1 second. Consider setting
|
|
this to a value that's close to how fast you believe players can click
|
|
their mouse. The default is 15 per second.
|
|
|
|
actions:
|
|
What should happen if the player fails this check. Default is to stop
|
|
the attack ("cancel" it) and log messages. The Violation Level (VL) is
|
|
the number of attacks beyond the set limit. For each failed check it
|
|
is increased by 1 and it gets decreased for every successful attack.
|
|
|
|
5) GODMODE:
|
|
|
|
Players may trick Bukkit into not dealing them damage when they get
|
|
attacked. This will try to identify and correct that behavior.
|
|
|
|
active:
|
|
Should players be checked for this behavior.
|
|
|
|
actions:
|
|
What should happen if the player fails this check. Default is to make
|
|
him vulnerable to the attack ("cancel" his "godmode") and log messages.
|
|
The Violation Level (VL) for this check is the number of ticks that the
|
|
player seemingly tried to stay invulnerable. A second has 20 ticks.
|
|
Every time the player fails the check, the VL gets increased by the
|
|
amount of ticks (but at most 15 per failed check), and everytime the
|
|
player didn't avoid taking damage it gets reduced slowly.
|
|
|
|
6) INSTANTHEAL:
|
|
|
|
Players may trick Bukkit into regenerating their health faster when they
|
|
are satiated (full food bar) than normally possible. This will try to
|
|
identify and correct that behaviour.
|
|
|
|
active:
|
|
Should players be checked for this behavior.
|
|
|
|
actions:
|
|
What should happen if the player fails this check. Default is to not
|
|
allow the health regeneration ("cancel" the regeneration) and log a
|
|
message. The Violation LEvel (VL) for this check is the number of
|
|
seconds that the player tried to skip while regenerating health. It
|
|
gets reduced whenever the player regenerates health while obeying the
|
|
normal regeneration times.
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
------------------------------- STRINGS Section --------------------------------
|
|
--------------------------------------------------------------------------------
|
|
|
|
This is the section that defines various strings for "log" or "cmd" actions.
|
|
Each has a name (the part in front of ":") and a definition (the part behind
|
|
the ":"). Whenever you use a "log" or "cmd" action in one of the "actions: "
|
|
options of this config file, the string will be taken from this section.
|
|
Arbitrary many additional strings may be defined here, or existing strings
|
|
may be changed.
|
|
|
|
Most messages/commands use place-holders in [ ], which will be replaced at
|
|
runtime with relevant information. Some of these may only be available in
|
|
certain circumstances, only "[player]" can be used everywhere, especially
|
|
in "cmd" actions.
|
|
|
|
|
|
################################################################################
|
|
# #
|
|
# Other noteworthy stuff, DONATIONS #
|
|
# #
|
|
################################################################################
|
|
|
|
|
|
- NoCheatPlus isn't perfect and won't prevent all forms of cheating. It's a best
|
|
effort approach.
|
|
|
|
- NoCheatPlus may make mistakes. Don't see everything NoCheatPlus says or does as
|
|
indisputable fact that somebody cheated. It's not possible to be 100% sure
|
|
if somebody is cheating or not, NoCheatPlus will try to be right most of the
|
|
time.
|
|
|
|
Thank you for reading this file. It took hours to write it, so it's nice that
|
|
people actually take a look at it. ;) |