 # Settings for importing from other plugins
 # Most users should not have to touch this.
 # 
 # In order to perform an import, run /libertybans import <source>.
 # Available sources are 'advancedban', 'litebans', 'vanilla', and 'self'.
 # 
 # Importing from vanilla is only possible on Bukkit.
 # Essentials users: Note that Essentials uses the vanilla ban system.
 # 
 # During the import, it is not needed to enable the plugin you are importing from.
 # 
 # --- NOTICE ---
 # You MUST backup your data before performing the import.
 # LibertyBans will never delete your data, but taking a backup is the best practice
 # whenever you are performing any large transfer of data.
 # 
 # --- WARNING when importing from AdvancedBan and Vanilla ---
 # AdvancedBan/Vanilla does not store the uuid of the operator who made a punishment.
 # To work around this, LibertyBans will attempt to lookup the operator uuid. By default
 # this uses the Mojang API. However, if your server sends the Mojang API too many requests,
 # your server might be rate limited (which you do NOT want to happen).
 # To prevent this, add another service to your web-api-resolvers, in the config.yml
 # before importing.
 # 
 # 
 # 
 # 
 # -- Importing from AdvancedBan --
 # 
 # The defaults here match the default settings in AdvancedBan.
 # If you use AdvancedBan's default storage, you do not need to change anything here.
 # 
 # --- Using AdvancedBan's MySQL/MariaDB Storage ---
 # However, if you use MySQL with AdvancedBan, you will need to change a few things.
 # The jdbc-url should be set to 'jdbc:mariadb://<host>:<port>/<database>' with <host>,
 # <port>, and <database> replaced with the correct values. The username and password
 # ought to be the same username and password you used with AdvancedBan.
 # 
 # For example: You used AdvancedBan with MySQL. Your host is localhost, your port
 # is 3306, and your database name is 'bans'. You use the username 'advancedban' and
 # password 'password'. You should set the jdbc-url option to
 # 'jdbc:mysql://localhost:3306/bans', the username to 'advancedban', and the password to 'password'
advancedban:
  jdbc-url: 'jdbc:hsqldb:file:plugins/AdvancedBan/data/storage;hsqldb.lock_file=false'
  password: ''
  username: 'SA'

 # 
 # 
 # 
 # -- Importing from LiteBans --
 # 
 # This is no easy task. The main problem is that LiteBans is a closed-source black box,
 # such that no one except its author knows how the plugin works internally.
 # 
 # However, it is still possible to import from LiteBans to LibertyBans, and this is achieved
 # primarily from inspecting the generated SQL schema.
 # 
 # --- Config Options Explained ---
 # The jdbc-url depends on the storage mode you are using LiteBans with.
 # - Using H2, it should be 'jdbc:h2:./plugins/LiteBans/litebans'
 # - Using MySQL or MariaDB, it should be 'jdbc:mariadb://<host>:<port>/<database>' with <host>,
 # <port>, and <database> replaced with the correct values.
 # - Using PostgreSQL, it should be 'jdbc:postgresql://<host>:<port>/<database>' with <host>,
 # <port>, and <database> replaced with the correct values.
 # 
 # If you configured a username and password for LiteBans, you should enter the same
 # username and password in this section.
 # 
 # --- JDBC Driver Availability: If you use H2 ---
 # LiteBans uses the H2 database by default. If importing from H2, you will need to install the H2 driver first.
 # 
 # The driver is installed by adding it to the classpath. This is done by downloading the driver jar, and starting
 # your server with the -cp option. The wiki has a tutorial on how to do this.
litebans:
   # The same table prefix you used with LiteBans
  table-prefix: 'litebans_'
   # The default value here is set for H2.
  jdbc-url: 'jdbc:h2:./plugins/LiteBans/litebans'
  password: ''
  username: ''

 # 
 # 
 # 
 # -- Importing from BanManager (v7) --
 # 
 # Bans, IP bans, mutes, IP mutes, warns, and kicks are supported.
 # 
 # BanManager's IP range bans, name bans, notes, and reports are not supported. LibertyBans has no equivalent features.
 # 
 # --- Config Options Explained ---
 # The jdbc-url depends on the storage mode you are using BanManager with.
 # - Using H2, it should be 'jdbc:h2:./plugins/BanManager/local-bans'
 # - Using MySQL or MariaDB, it should be 'jdbc:mariadb://<host>:<port>/<database>' with <host>,
 # <port>, and <database> replaced with the correct values.
 # 
 # If you configured a username and password for BanManager, you should enter the same
 # username and password in this section.
ban-manager:
   # The same table prefix you used with BanManager
  table-prefix: 'bm_'
   # The default value here is set for H2.
  jdbc-url: 'jdbc:h2:./plugins/BanManager/local-bans'
  password: ''
  username: ''

 # How many punishments to retrieve at once from the import source.
 # You may be surprised to find out your server is capable of retrieving hundreds,
 # even thousands of punishments, into memory without much trouble. However,
 # this is set to 250 as a reasonable conservative estimate.
retrieval-size: 250
 # 
 # 
 # 
 # -- Importing from another LibertyBans database --
 # 
 # NOTICE: The current database MUST be empty when the import is performed.
 # 
 # The self-import process is different from the import process for other plugins.
 # It is a direct transfer, which is why the current database must be empty. Also, punishment IDs are preserved.
 # 
 # Self-importing may be used to switch between various database backends supported by LibertyBans.
 # For example, you could transfer your data from HSQLDB to MariaDB.
 # 
 # The settings here are used exactly as in sql.yml - in fact, they are the same settings.
self:
   # Whether to reverse the direction of the self-import. If enabled, this will import TO the database
   # configured here, rather than FROM it.
   # 
   # Normally, LibertyBans will import from this database, to the current database defined in sql.yml.
   # If this option is enabled, LibertyBans will import to the current database in sql.yml, from this database.
  reverse-direction: false
   # 
   # Connection timeout settings
   # LibertyBans uses HikariCP for connection pooling. The following settings control connection timeouts.
  timeouts:
     # How long, at maximum, should LibertyBans wait when acquiring new connections, if no existing connection is available?
    connection-timeout-seconds: 14
     # How long, at maxium, should a connection in the pool last before having to be recreated?
     # "This value should be set for MariaDB or MySQL. HikariCP notes:
     # "It should be several seconds shorter than any database or infrastructure imposed connection time limit"
    max-lifetime-minutes: 25

   # Authentication details for remote databases: used for MariaDB, MySQL, PostgreSQL, and CockroachDB.
  auth-details:
    database: 'bans'
    password: 'defaultpass'
    user: 'defaultuser'
    host: 'localhost'
    port: 3306

   # The values in this section only apply when using a MariaDB or MySQL database
  mariadb:
     # Connection properties to be applied to database connections
    connection-properties:
      cachePrepStmts: 'true'
      useUnicode: 'true'
      prepStmtCacheSqlLimit: '1024'
      characterEncoding: 'UTF-8'
      prepStmtCacheSize: '25'
      useServerPrepStmts: 'true'


   # The values in this section only apply when using a PostgreSQL or CockroachDB database
  postgres:
     # Connection properties to be applied to database connections
    connection-properties:
      preparedStatementCacheQueries: '25'


   # Legacy option. Don't touch this unless you understand it or you're told to enable it.
  use-traditional-jdbc-url: false
   # What RDMS vendor will you be using?
   # Available options:
   # 'HSQLDB' - Local HyperSQL database. No additional requirements.
   # 'MARIADB' - Requires an external MariaDB database. At least MariaDB 10.6 is required.
   # 'MYSQL' - Requires an external MySQL database. At least MySQL 8.0 is required.
   # 'POSTGRES' - Requires an external PostgreSQL database. At least PostgreSQL 12 is required.
   # 'COCKROACH' - Requires an external CockroachDB database. The latest CockroachDB is required. Warning: this option is strictly experimental.
  rdms-vendor: 'HSQLDB'
   # 
   # How large should the connection pool be?
   # A thread pool of similar size is derived from the connection pool size.
   # For most servers, the default option is suitable.
  connection-pool-size: 6

