bentobox/src/main/resources/config.yml

233 lines
12 KiB
YAML
Raw Normal View History

# BentoBox {$version} configuration file.
#
general:
# Default language for new players.
# This is the filename in the locale folder without .yml.
# If this does not exist, the default en-US will be used.
default-language: en-US
2020-01-26 13:46:46 +01:00
# Use economy or not. If true, an economy plugin is required. If false, no money is used or given.
# If there is no economy plugin present anyway, money will be automatically disabled.
use-economy: true
# Console commands to run when BentoBox has loaded all worlds and addons.
# Commands are run as the console.
# e.g. set aliases for worlds in Multiverse here, or anything you need to
# run after the plugin is fully loaded.
# Added since 1.24.2.
ready-commands: []
database:
# JSON, MYSQL, MARIADB, MONGODB, SQLITE, and POSTGRESQL.
Database transition (#662) - JSON is now the default database type - JSON database files are now pretty-printed - It is now possible to migrate from a database type to another through the use of a command and specific transition database types - It is recommended to move from YAML to JSON. = Commits breakdown = * Proposal to make JSON the default database and retire YAML. * Make JSON file format easier to read. * Fix tests. * Adds a hybrid Yaml2Json database type. This database always tries to use JSON if it is available. If a YAML file is found, it will be loaded and replaced with a JSON file. * Move to generic database transition code * Better comments * Adds transitional database options so admins can choose. Adds Yaml2MySQL option and changes config.yml to add instructions. * Enables full database migration between databases. Adds /bbox migrate command. Adds a number of transition databases. DB starts transition when the server boots up and will migrate organically. The admin can force an immediate update using the bbox migrate command. This operation requires an API breaking change: Addons that use the Config API must now implement ConfigObject in their config class instead of DataObject. This is to differentiate YAML config classes from YAML database classes. If a class is already implements WorldSettings (GameModeAddons), then no change is required because WorldSettings implements ConfigObject now. If an old addon is used that does not implement ConfigObject, BentoBox will not load. * Added null check to YAML deletion * Removed the 2YAML transition dbs because YAML is deprecated. YAML does not support some data structures so conversion could corrupt data. * Fixed some javadoc and added missing DatabaseType#JSON2MARIADB * Renamed package database/transitiondb to database/transition
2019-05-08 21:15:22 +02:00
# Transition database options are:
# JSON2MARIADB, JSON2MYSQL, JSON2MONGODB, JSON2SQLITE, JSON2POSTGRESQL
# MYSQL2JSON, MARIADB2JSON, MONGODB2JSON, SQLITE2JSON, POSTGRESQL2JSON
2019-06-09 09:37:46 +02:00
# If you need others, please make a feature request.
# Minimum required versions:
# MySQL versions 5.7 or later
# MariaDB versions 10.2.3 or later
# MongoDB versions 3.6 or later
# SQLite versions 3.28 or later
# PostgreSQL versions 9.4 or later
Database transition (#662) - JSON is now the default database type - JSON database files are now pretty-printed - It is now possible to migrate from a database type to another through the use of a command and specific transition database types - It is recommended to move from YAML to JSON. = Commits breakdown = * Proposal to make JSON the default database and retire YAML. * Make JSON file format easier to read. * Fix tests. * Adds a hybrid Yaml2Json database type. This database always tries to use JSON if it is available. If a YAML file is found, it will be loaded and replaced with a JSON file. * Move to generic database transition code * Better comments * Adds transitional database options so admins can choose. Adds Yaml2MySQL option and changes config.yml to add instructions. * Enables full database migration between databases. Adds /bbox migrate command. Adds a number of transition databases. DB starts transition when the server boots up and will migrate organically. The admin can force an immediate update using the bbox migrate command. This operation requires an API breaking change: Addons that use the Config API must now implement ConfigObject in their config class instead of DataObject. This is to differentiate YAML config classes from YAML database classes. If a class is already implements WorldSettings (GameModeAddons), then no change is required because WorldSettings implements ConfigObject now. If an old addon is used that does not implement ConfigObject, BentoBox will not load. * Added null check to YAML deletion * Removed the 2YAML transition dbs because YAML is deprecated. YAML does not support some data structures so conversion could corrupt data. * Fixed some javadoc and added missing DatabaseType#JSON2MARIADB * Renamed package database/transitiondb to database/transition
2019-05-08 21:15:22 +02:00
# Transition options enable migration from one database type to another. Use /bbox migrate.
# JSON is a file-based database.
2019-01-20 10:10:29 +01:00
# MYSQL might not work with all implementations: if available, use a dedicated database type (e.g. MARIADB).
# BentoBox uses HikariCP for connecting with SQL databases.
2019-01-01 21:00:21 +01:00
# If you use MONGODB, you must also run the BSBMongo plugin (not addon).
2018-10-30 17:59:11 +01:00
# See https://github.com/tastybento/bsbMongo/releases/.
2019-06-21 18:46:17 +02:00
# You can find more details in this video: https://youtu.be/FFzCk5-y7-g
Database transition (#662) - JSON is now the default database type - JSON database files are now pretty-printed - It is now possible to migrate from a database type to another through the use of a command and specific transition database types - It is recommended to move from YAML to JSON. = Commits breakdown = * Proposal to make JSON the default database and retire YAML. * Make JSON file format easier to read. * Fix tests. * Adds a hybrid Yaml2Json database type. This database always tries to use JSON if it is available. If a YAML file is found, it will be loaded and replaced with a JSON file. * Move to generic database transition code * Better comments * Adds transitional database options so admins can choose. Adds Yaml2MySQL option and changes config.yml to add instructions. * Enables full database migration between databases. Adds /bbox migrate command. Adds a number of transition databases. DB starts transition when the server boots up and will migrate organically. The admin can force an immediate update using the bbox migrate command. This operation requires an API breaking change: Addons that use the Config API must now implement ConfigObject in their config class instead of DataObject. This is to differentiate YAML config classes from YAML database classes. If a class is already implements WorldSettings (GameModeAddons), then no change is required because WorldSettings implements ConfigObject now. If an old addon is used that does not implement ConfigObject, BentoBox will not load. * Added null check to YAML deletion * Removed the 2YAML transition dbs because YAML is deprecated. YAML does not support some data structures so conversion could corrupt data. * Fixed some javadoc and added missing DatabaseType#JSON2MARIADB * Renamed package database/transitiondb to database/transition
2019-05-08 21:15:22 +02:00
type: JSON
host: localhost
# Port 3306 is MySQL's default. Port 27017 is MongoDB's default.
2017-07-08 02:12:14 +02:00
port: 3306
name: bentobox
2017-07-08 02:12:14 +02:00
username: username
password: password
# How often the data will be saved to file in mins. Default is 5 minutes.
# This helps prevent issues if the server crashes.
# Data is also saved at important points in the game.
backup-period: 5
# How many players will be saved in one tick. Default is 200
# Reduce if you experience lag while saving.
# Do not set this too low or data might get lost!
max-saved-players-per-tick: 20
# How many islands will be saved in one tick. Default is 200
# Reduce if you experience lag while saving.
# Do not set this too low or data might get lost!
max-saved-islands-per-tick: 20
# Number of active connections to the SQL database at the same time.
# Default 10.
# Added since 1.21.0.
max-pool-size: 10
2020-03-21 13:10:51 +01:00
# Enable SSL connection to MongoDB, MariaDB, MySQL and PostgreSQL databases.
# Added since 1.12.0.
use-ssl: false
2020-07-07 22:16:47 +02:00
# Database table prefix. Adds a prefix to the database tables. Not used by flatfile databases.
# Only the characters A-Z, a-z, 0-9 can be used. Invalid characters will become an underscore.
# Set this to a unique value if you are running multiple BentoBox instances that share a database.
2020-07-07 22:16:47 +02:00
# Be careful about length - databases usually have a limit of 63 characters for table lengths
2020-05-01 18:14:03 +02:00
# Added since 1.13.0.
prefix-character: ''
# Custom connection datasource properties that will be applied to connection pool.
# Check available values to your SQL driver implementation.
# Example:
# custom-properties:
# cachePrepStmts: 'true'
# prepStmtCacheSize: '250'
# prepStmtCacheSqlLimit: '2048'
# Added since 1.21.0.
custom-properties: {}
2020-07-07 22:16:47 +02:00
# MongoDB client connection URI to override default connection options.
# See: https://docs.mongodb.com/manual/reference/connection-string/
# Added since 1.14.0.
mongodb-connection-uri: ''
# Allow FTB Autonomous Activator to work (will allow a pseudo player [CoFH] to place and break blocks and hang items)
# Add other fake player names here if required
2018-10-30 17:59:11 +01:00
# /!\ This feature is experimental and might not work as expected or might not work at all.
fakeplayers:
- '[CoFH]'
2018-07-29 22:21:46 +02:00
panel:
2020-07-07 22:16:47 +02:00
# Toggle whether panels should be closed or not when the player clicks anywhere outside of the inventory view.
2018-07-29 22:21:46 +02:00
close-on-click-outside: true
2020-07-07 22:16:47 +02:00
# Defines the Material of the item that fills the gaps (in the header, etc.) of most panels.
# Added since 1.14.0.
filler-material: LIGHT_BLUE_STAINED_GLASS_PANE
# Toggle whether player head texture should be gathered from Mojang API or mc-heads.net cache server.
# Mojang API sometime may be slow and may limit requests to the player data, so this will allow to
# get player heads a bit faster then Mojang API.
# Added since 1.16.0.
use-cache-server: true
# Defines how long player skin texture link is stored into local cache before it is requested again.
# Defined value is in the minutes.
# Value 0 will not clear cache until server restart.
# Added since 1.14.1.
head-cache-time: 60
# Defines a number of player heads requested per tasks.
# Setting it too large may lead to temporarily being blocked from head gatherer API.
# Added since 1.16.0.
heads-per-call: 9
# Defines a number of ticks between each player head request task.
# Setting it too large may lead to temporarily being blocked from head gatherer API.
# Added since 1.16.0.
# /!\ In order to apply the changes made to this option, you must restart your server. Reloading BentoBox or the server won't work.
ticks-between-calls: 10
2019-01-27 10:24:01 +01:00
logs:
# Toggle whether superflat chunks regeneration should be logged in the server logs or not.
# It can be spammy if there are a lot of superflat chunks to regenerate.
# However, as superflat chunks regeneration can be performance-intensive, it is recommended to keep
# this setting set to true, as it will help you know if there are regenerations taking place.
2019-02-22 11:25:39 +01:00
# Added since 1.2.0.
2019-01-27 10:24:01 +01:00
clean-super-flat-chunks: true
2019-06-09 09:37:46 +02:00
# Toggle whether downloading data from GitHub should be logged in the server logs or not.
# Added since 1.5.0.
github-download-data: true
island:
2 0 0 multi island (#2185) * Multi world WIP - stashing * Initial work on supporting multiple islands per player The default allowed number is 5 for now, but will be set to 1 by default. Lots more work to do on this! * More work on multi island. Fixed tests so clean compile. * Remove unused imports * Updated island go and homes command to multi island Updated tests. * Do not reload addons anymore. * Add island name when entering or leaving own island * Remove unused import * Adds island names to /island go command. * Enables more homes to be set if player has more than one island * Switch to using a set for islands and explicit primary boolean in Island * WIP * Fix bugs with the go command. * Be able to delete multiple islands, e.g. when joining a team This is not fully tested. * Do not remove all islands when a player does reset. Players can reset just the island they are on. * More fixes for go command * Fix tests * Fix @NonNull annotation * Fix home syntax listing reference for IslandDeleteHome * Fixed deletehome for multiple islands. * Fix /island command teleport to current island default home. * Remove deprecated code. * Fix tag for concurrent island setting in config.yml * Improve error when trying to make additional islands over limit * Update config.yml * Correctly assign invites for islands. * Switch to canExecute API in prep for multi-island handling * Prevent players from obtaining more concurrent islands by owner transfer * Handle leaving and disbanding of teams * Fix tests * Fix minor bugs or code smells. * Restore the quarantine code from deprecation. This code can stay. It checks if islands can load, and if not puts them in a trash. It does no harm. * Remove unneeded eq()'s * Fix tests
2023-09-17 00:55:52 +02:00
# The default number of concurrent islands a player may have.
# This may be overridden by individual game mode config settings.
concurrent-islands: 1
2018-10-25 10:30:27 +02:00
cooldown:
2019-01-27 10:24:01 +01:00
time:
# How long a player must wait until they can rejoin a team island after being kicked in minutes.
# This slows the effectiveness of players repeating challenges
# by repetitively being invited to a team island.
invite: 60
# How long a player must wait until they can coop a player in minutes.
coop: 5
# How long a player must wait until they can trust a player in minutes.
trust: 5
# How long a player must wait until they can ban a player after unbanning them. In minutes.
ban: 10
# How long a player must wait before they can reset their island again in seconds.
reset: 300
options:
# Whether the reset cooldown should be applied when the player creates an island for the first time or not.
2019-02-22 11:25:39 +01:00
# Added since 1.2.0.
2019-01-27 10:24:01 +01:00
set-reset-cooldown-on-create: true
2018-10-25 10:30:27 +02:00
confirmation:
2019-01-27 10:24:01 +01:00
# Time in seconds that players have to confirm sensitive commands, e.g. island reset.
2018-10-25 10:30:27 +02:00
time: 10
commands:
# Ask the player to confirm the command he is using by typing it again.
kick: true
leave: true
reset: true
2019-10-20 15:15:18 +02:00
# Ask the recipient to confirm trust or coop invites.
# Team invites will always require confirmation, for safety concerns.
# Added since 1.8.0.
invites: false
delay:
# Time in seconds that players have to stand still before teleport commands activate, e.g. island go.
2019-08-14 10:11:57 +02:00
time: 0
2018-07-29 22:21:46 +02:00
name:
2019-09-08 16:22:14 +02:00
# Sets the minimum length an island custom name is required to have.
2018-07-29 22:21:46 +02:00
min-length: 4
2019-09-08 16:22:14 +02:00
# Sets the maximum length an island custom name cannot exceed.
2018-07-29 22:21:46 +02:00
max-length: 20
2019-09-08 16:22:14 +02:00
# Requires island custom names to be unique in the gamemode the island is in.
# As a result, only one island per gamemode are allowed to share the same name.
# Note that island names are purely cosmetics and are not used as a way to programmatically identify islands.
# Added since 1.7.0.
uniqueness: false
# Remove hostile mob on teleport box radius
# If hostile mobs are cleared on player teleport, then this sized box will be cleared
# around the player. e.g. 5 means a 10 x 10 x 10 box around the player
# Be careful not to make this too big. Does not cover standard nether or end teleports.
2019-09-08 16:22:14 +02:00
# Added since 1.6.0.
clear-radius: 5
2021-04-25 18:35:45 +02:00
# Minimum nether portal search radius. If this is too low, duplicate portals may appear.
# Vanilla default is 128.
# Added since 1.16.2.
portal-search-radius: 64
2019-09-08 16:22:14 +02:00
# Number of blocks to paste per tick when pasting blueprints.
# Smaller values will help reduce noticeable lag but will make pasting take slightly longer.
# On the contrary, greater values will make pasting take less time, but this benefit is quickly severely impacted by the
# resulting amount of chunks that must be loaded to fulfill the process, which often causes the server to hang out.
2019-12-01 14:10:18 +01:00
paste-speed: 64
# Island deletion: Number of chunks per world to regenerate per second.
# If there is a nether and end then 3x this number will be regenerated per second.
# Smaller values will help reduce noticeable lag but will make deleting take longer.
# A setting of 0 will leave island blocks (not recommended).
2019-09-08 16:22:14 +02:00
# Added since 1.7.0.
delete-speed: 100
2020-05-01 18:14:03 +02:00
deletion:
# Toggles whether islands, when players are resetting them, should be kept in the world or deleted.
# * If set to 'true', whenever a player resets his island, his previous island will become unowned and won't be deleted from the world.
# You can, however, still delete those unowned islands through purging.
# On bigger servers, this can lead to an increasing world size.
# Yet, this allows admins to retrieve a player's old island in case of an improper use of the reset command.
# Admins can indeed re-add the player to his old island by registering him to it.
# * If set to 'false', whenever a player resets his island, his previous island will be deleted from the world.
# This is the default behaviour.
# Added since 1.13.0.
keep-previous-island-on-reset: false
# Toggles how the islands are deleted.
# * If set to 'false', all islands will be deleted at once.
# This is fast but may cause an impact on the performance
# as it'll load all the chunks of the in-deletion islands.
# * If set to 'true', the islands will be deleted one by one.
# This is slower but will not cause any impact on the performance.
# Added since 1.19.1.
slow-deletion: false
# By default, If the destination is not safe, the plugin will try to search for a safe spot around the destination,
# then it will try to expand the y-coordinate up and down from the destination.
# This setting limits how far the y-coordinate will be expanded.
# If set to 0 or lower, the plugin will not expand the y-coordinate.
# Added since 1.19.1.
safe-spot-search-vertical-range: 400
# By default, if the destination is not safe, the plugin will try to search for a safe spot around the destination.
# This allows to change the distance for searching this spot. Larger value will mean longer position search.
# This value is also used for valid nether portal linking between dimension.
# Added since 1.21.0.
safe-spot-search-range: 16
2019-02-22 11:25:39 +01:00
web:
github:
# Toggle whether BentoBox can connect to GitHub to get data about updates and addons.
# Disabling this will result in the deactivation of the update checker and of some other
# features that rely on the data downloaded from the GitHub API.
# It does not send any data.
# Added since 1.5.0.
download-data: true
# Time in minutes between each connection to the GitHub API.
# This allows for up-to-the-minute information gathering.
2019-08-14 10:11:57 +02:00
# However, as the GitHub API data does not get updated instantly, this value cannot be set to less than 60 minutes.
# Setting this to 0 will make BentoBox download data only at startup.
# Added since 1.5.0.
2020-03-21 13:10:51 +01:00
connection-interval: 120