Back to wiki |
Table of content
- General notes on .yml configuration files
- World-Specific configuration
- Configversion
- Logging
- Miscellaneous
- Data
- Protection
- Configuration of checks
- Strings section
- Compatibility section
- Bleeding Edge: Development builds
This page describes the configuration of NoCheatPlus.
This page still needs updating and re-formatting.
Some settings have been changed and/or moved with NoCheatPlus 3.10.2-RC-sMD5NET-b620, updates following soon.
The default configuration file (config.yml) can be supplemented by world-specific configuration files to override all or specific entries.
The default configuration file should generate automatically, you can always rename it and use the "ncp reload" command to generate a new default configuration.
- Use spaces for indentation.
- Keep the indentation level: Never change the amount of white-spaces in front of options in the config file "config.yml".
- Don't insert special characters such as tabs for indentation. If you plan on complicated text entries, wrap them like '...' or "...".
- Refer to the default config file for reference.
- Use a YAML parser to make sure your configuration file is formatted properly.
- Inserting unsupported characters or changing indentation levels can break the configuration.
- For those that use Notepad++ to edit their YAML files we recommend to enable "Replace by space" in Settings -> Preferences -> Tab Settings
Screenshot of Notepad++ preferences
How to create a world specific configuration file ?:
- First create a empty yml file according to a world name on your server. Example: world_config.yml (the _ is required! And everything is case sensitive!)
- Start-up your server or just run /ncp reload or /nocheatplus reload if your server is already running
- NoCheatPlus should now write every setting available for world specific configuration in that/those empty yaml files
- If you rather prefer to use some settings of your global config.yml then set "savebackconfig" to false and remove them from your world specific configuration file
- End result in your explorer window after successfully creating some world specific config.yml files
- Other examples: WorldName_config.yml, world_nether_config.yml, world_the_end_config.yml, HungerGames_config.yml or BackupWorld_config.yml
Notes:
- The world name is case sensitive (MiningWorld, theWorld etc.).
- You can set savebackconfig to false, in order to not have NoCheatPlus add default values to a config file. Thus you can override just the values you are interested in and keep a minimal world-specific configuration file.
- WorldName_config.yml has always higher priority then config.yml. So NoCheatPlus will first apply all settings from config.yml and then override them for a specific world using WorldName_config.yml
- Some settings can only be used in the global config.yml and aren't multiworld compatible (Please don't just copy config.yml and rename it to WorldName_config.yml or similar.)
- World specific files can be created, changed or removed while your server and NoCheatPlus are running. Just use the /ncp reload or /nocheatplus reload command to let NoCheatPlus reread your configuration file.
- If a world gets unloaded, deleted or renamed then NoCheatPlus will automaticly ignore your world specific configuration files you made for it
Set notify to false to suppress the messages about outdated configurations. Only the main configuration file is checked at present.
The other entries are not meant to be changed by hand, they indicate with which version the config was created and last saved back.
Disable all logging with setting active to false.
Individual logging targets can be configured in the sub sections within backends:
- Set active to false to disable the individual backend.
- The prefix parameter allows to create a custom appearance for the log messages.
- File logging allows specifying a file name.
- For ingamechat you can force NoCheatPlus to check permissions subscriptions, if you use plugins that apply this technique to log to IRC and other for instance.
- Set opinconsoleonly to true to prevent op and deop commands from in-game chat. [Will be changed to a list of commands.]
- Set managelisteners to true to help us testing :) - this feature lets NCP register all its listeners inside of a ListenerManager that allows more intricate registration order than Bukkit. This is a "future feature" and is not needed, not even sure it improves performance.
- Set reporttometrics to false in order to disable reporting usage-stats to mcstats.org (PluginMetrics). Setting this to falss also prevents NoCheatplus from creating the PluginMetrics folder, however other plugins or Spigot could still create that folder.
The data section allows you to specify an expiration duration for players data in minutes. If set to something greater than 0, this will periodically remove players data if the players have been logged out for longer than the specified amount of minutes. At present this would also delete set-back locations and current violation levels, if activated, so it should not be set to a too short duration.
expiration
Config | Description | Default |
duration | Duration in minutes after logout, after which data gets erased. | 0 |
history | Should the players violation history also be deleted? | false |
consistencychecks You can suppress consistency check warnings here and alter intervals for periodic checking (usually not needed).
Features for this and other plugins.
This section contains configuration for hiding (some of) your plugins better. You can prevent help-contents display and command usage by setting permissions with a permissions plugin, if the command has a default permission set, but NoCheatPlus allows to set the permission message of some commands, which would otherwise reveal the presence of the command/plugin. So the permission message for some commands can be changed to the "Unknown command" message to hide the presence. You do need to also set the aliases of the commands, use lower case rather.
This feature allows to change command permissions to not be given by default or add a generic filter permission nocheatplus.filter.command.(commandname) to a command that does not have one set yet, the following settings allow configuring lists of commands and the message:
"nopermission":
Display the "no permission" message, default to "plugins" and "version" commands, useful for instance if a plugin does not set a permission for a command.
"unknowncommand":
Display the "unknown command" message, empty by default. This can be used to hide a command from users that don't have the default permission (or the filter permission added by NCP if none was set).
TODO: Link docs on how to configure help topics and other.
Features that concern client mods. Set the active flag to false in the motd section to prevent NoCheatPlus sending any "blank lines" messages to clients on login. Otherwise blank lines can result disregarding if all clients are allowed or not, because some clients use a message to enable features, some need a message to disable features.
Note that it is 100% up to the client to decide on enabling or disabling features, a modified version of any client may ignore any sent messages, without that being detectable.
The checks section contains configuration mostly for checks related to players actions, most can generate violation log messages (few exceptions).
See: Checks Overview
Shortcut links:
| blockbreak | blockinteract | blockplace | chat | combined | fight | inventory | moving |
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.|
This section allows to configure details for the case of compatibility issues, for instance with other server mods or custom blocks.
To allow you to keep track with the configuration and permission changes in the latest development versions, we have a simple page set up: Development Pinboard
For quick overview over recent builds, see: Important Changes By Build Number