# LiteBans config.yml generated by version 2.15.1 # If bungeecord is set to true, banned players will be kicked from BungeeCord itself. # (Players will not be kicked to the lobby when they are banned.) # This option has no effect if LiteBans is running directly under BungeeCord or Velocity. bungeecord: false # If enabled, and the server is connected to a remote database (e.g. MySQL), # LiteBans will synchronize across all servers connected to that database with sync enabled. sync: true # If enabled, broadcasts will be synchronized. sync_broadcasts: true # If enabled, notifications will be synchronized. sync_notifications: true # If enabled, dupeip notifications will be synchronized. # This will appear multiple times if a player joins multiple servers, so you might want to leave this disabled. sync_dupeip_notifications: false # The server name is an identifier used in cross-server synchronization. # It represents a single plugin instance (or group of instances) and can be updated at any time. # If you need per-server bans, you have to change server_name on all instances. # The "$serverScope" and "$serverOrigin" variables can be used in messages. # Maximum length is 32 characters. UTF-8 is supported. This is case-sensitive, so it is recommended to only use lowercase characters. server_name: 'litebans' # This option decides which server(s) will be affected in commands by default. default_server_scope: '*' sql: # H2, MySQL, MariaDB, and PostgreSQL are supported database drivers. driver: H2 ## MySQL/PostgreSQL settings ## # If using H2, the database will be stored in the LiteBans plugin folder, # and most of these settings won't apply. # Database server address. address: localhost:3306 # Database name, username and password. database: 'litebans' username: '' password: '' # LiteBans utilizes connection pooling for extra performance and reliability. # min_connections: Minimum amount of pooled connections. # max_connections: Maximum amount of pooled connections. See: https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing # keepalive: Interval between connection keepalive attempts. This prevents connection timeout for established connections. # If connections are being closed due to server-side timeout, a keepalive of 30 seconds is recommended. Disabled by default. # timeout: Connection timeout. # idle_timeout: Maximum amount of time a pooled connection can remain idle before it is closed for inactivity. # max_lifetime: Maximum amount of time an active connection can exist for (while being actively used). pool: min_connections: 1 max_connections: 10 keepalive: 0 seconds timeout: 95 seconds idle_timeout: 1 minute max_lifetime: 30 minutes # Database engine. Only applies to MySQL & MariaDB. engine: InnoDB options: 'useSSL=false&serverTimezone=UTC' table_prefix: 'litebans_' # Format: :[:URL:version:SHA-256] # SQLite is only included here for importing purposes, use H2 instead. drivers: - version:8 - 'mysql:com.mysql.cj.jdbc.Driver:https://repo1.maven.org/maven2/mysql/mysql-connector-java/{}/mysql-connector-java-{}.jar:8.0.29:d4e32d2a6026b5acc00300b73a86c28fb92681ae9629b21048ee67014c911db6' - 'pgsql:org.postgresql.Driver:https://repo1.maven.org/maven2/org/postgresql/postgresql/{}/postgresql-{}.jar:42.4.0:fe25b9c0a2c59458504ec88862853df522ee87f8a02564835d537c29ae4cb125' - 'mariadb:org.mariadb.jdbc.Driver:https://repo1.maven.org/maven2/org/mariadb/jdbc/mariadb-java-client/{}/mariadb-java-client-{}.jar:3.1.2:aaec1ad348d030a65b25c93c65cdaf472bf8b4b6b314b965e5ba13aec81bc622' - 'sqlite:org.sqlite.JDBC:https://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/{}/sqlite-jdbc-{}.jar:3.8.11.1:58ab29176a24a85a0c76177561257a986c4865e45730b79882c688846371d341' - 'h2:org.h2.Driver:https://repo1.maven.org/maven2/com/h2database/h2/{}/h2-{}.jar:1.4.197:37f5216e14af2772930dff9b8734353f0a80e89ba3f33e065441de6537c5e842' durations: ## DURATIONS ## # The highest limit matched by permissions will be used for duration limits. # Players with "litebans.group.unlimited" permission will not have any limits applied. ## COOLDOWNS ## # The lowest duration matched by permissions will be used for cooldowns. # Cooldowns apply in two instances: to prevent the same player from being punished twice, and to prevent the same player from punishing others within cooldown. # Cooldowns can be bypassed with: "litebans.cooldown.bypass", "litebans.cooldown.bypass.ban", "litebans.cooldown.bypass.mute", etc. # Cooldowns default to 5 seconds if not specified. # The redo cooldown applies when someone removes their last punishment and creates a new one. ## OTHER ## # If a group has "require_template" enabled, any players who belong to that group will be restricted to using templates - they cannot create custom punishments. Unlimited users will not have this restriction. limits: moderator: permission: litebans.group.moderator tempban: 1 month tempmute: 1 month helper: permission: litebans.group.helper tempban: 15 days tempmute: 7 days other: permission: none tempban: 7 days tempmute: 1 day cooldown_ban: 20 seconds cooldown_kick: 20 seconds cooldown_mute: 20 seconds cooldown_warn: 20 seconds cooldown_redo: 1 second require_template: false # If true, when a player specifies a duration higher than the configured limit, the duration will be reduced to that limit. # If false, this will result in an error. reduce_to_limit: true # This cooldown will apply to the server console. # Unlike player cooldowns, this does not stop the console from punishing multiple players at once, it only protects players from double punishments. console_cooldown: 1 second # This option allows you to have all IP bans (except wildcard IP) convert into normal bans (UUID ban instead of UUID+IP ban) after a certain amount of time has passed. # For example, if you set this option to 30 days (30d), an IP ban placed on January 1 will be demoted to an account ban on January 31. # Useful for dynamic IP addresses. effective_ipban_duration: permanent mutes: enabled: true # All of these commands can not be used while muted. command_blacklist: - /me - /say - /tell - /whisper - /reply - /pm - /message - /msg - /emsg - /epm - /etell - /ewhisper - /w - /m - /t - /r - /mail send # If enabled, muted players cannot use blacklisted commands containing ":", for example: "/minecraft:me". # This does not prevent muted players from using non-blacklisted commands with ":". prevent_bypass: true warnings: # Warnings will expire after this duration has passed. # To make warnings permanent, set it to "permanent". expire_after: 7 days # Warning actions. # Format: [+]: # The threshold is evaluated as the number of active warnings given to the warned player, including the warning which was just applied. # If '+' is provided after the threshold, the action will execute if the player has that amount of warnings or more. # If you want a punishment action to inherit the silent status from the warning that caused it, add the flag "-s:$silent" to the action. # actions: # - '3:/kick -s:$silent $player Final warning: $reason' # - '4:/tempban -s:$silent $player 1 day Reached 4 warnings: $list' actions: [ ] # If enabled, the console will execute warning actions. # Otherwise, the player who executes the last warning also executes the warning action. actions_execute_as_console: false # If enabled, all active warnings will be deactivated after a warning action is executed. delete_warnings_after_action: false notify: # If enabled, players with the permission 'litebans.notify.banned_join' are notified when a banned player tries to join. banned_player_join: true # If enabled, players with the permission "litebans.notify.mute" are notified when a muted player tries to chat. muted_player_chat: true # If enabled, players are scanned for alt accounts when joining the server. # After the scan has been performed, at least one condition must apply for notifications to be sent (dupeip_on_banned_account, dupeip_on_muted_account, dupeip_on_join_threshold). dupeip_on_join: true # This limits the amount of accounts which can be shown in /dupeip output per IP address. # Accounts are sorted by last login date, so if the limit is reached, # the accounts not shown will be the ones which have joined least recently. dupeip_scan_limit: 20 # Notify if the player has one or more banned accounts on the same IP. dupeip_on_banned_account: true # Same as above, but for muted accounts. dupeip_on_muted_account: false # If you set this to a lower value, players with X accounts will send dupeip notifications. dupeip_on_join_threshold: 9999999 # If enabled, muted accounts will be detected with /dupeip. # This is disabled by default since it can increase the database load on larger servers especially if dupeip_on_join is enabled. dupeip_show_muted_accounts: false # Log all notifications to the console? notify_console: true exempt: enable: true # If enabled, players with lower group weights cannot punish higher groups, and cannot modify or remove punishments made by higher groups using commands like /unban or /unmute. # This replaces the exempt-bypass system - as a result, `litebans.exempt.bypass` will be ignored when this is enabled. # The only exception to the above statement is console - since console is not part of a group, exempt bypass permissions are required to unban players banned by console. # Note that all groups require `litebans.exempt` permission to be considered exempt. use_group_weights: false # By default, permission checks are global. You can set them to a specific world here. permission_world: default # Permission groups that are exempt from bans, mutes, warnings, and kicks. exempt_groups: [ ] # Players who are exempt from bans, mutes, warnings, and kicks. # Format: [:type] # Type can be 'ban', 'mute', 'warning', or 'kick'. (All types apply if not specified) # Example: # exempt_players: ['Player', 'Player2', 'Player3', 'Player4:mute'] exempt_players: [ ] geoip: enable: false # Anyone from these locations will not be able to join. # A full list of countries that can be blacklisted (fifth column: Country): https://www.geonames.org/countries/ # Example: # blacklist: ['Australia', 'Brazil', 'Canada'] blacklist: [ ] # Adding countries to the whitelist will activate this feature and block all countries not on the list. # NOTE: If you are hosting your server on your own machine, you should add "geoip.error" to the whitelist # in order to allow local addresses (like 127.0.0.1 or 192.168.1.23) to join the server. # Example: # whitelist: ['geoip.error', 'Denmark', 'Ecuador', 'Fiji'] whitelist: [ ] download: # https://gitlab.com/ruany/LiteBans/-/wikis/GeoIP db: https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=YOUR_LICENSE_KEY&suffix=tar.gz api: - https://repo1.maven.org/maven2/com/maxmind/geoip2/geoip2/2.1.0/geoip2-2.1.0.jar:81035e738fc392bcfb00be5d39f50fde56692ba305b21338412da9c0fc98e3fb - https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.4.3/jackson-annotations-2.4.3.jar:3c680cfafad00cfe1432514f19c5c13fde17913aa2269a9844882404242f6452 - https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.4.3/jackson-core-2.4.3.jar:2c77b1c9441f257eb9e3dda476758a034a9383ef848f97b9949287a0519923e6 - https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.4.3/jackson-databind-2.4.3.jar:d7ac4f5ce138ce63478673e64378c2efd27f0294602f0fc69cb867685c723797 - https://repo1.maven.org/maven2/com/maxmind/db/maxmind-db/1.0.0/maxmind-db-1.0.0.jar:3cd5c1c731d8d9cb561d4e53ad6017862e4917cc08c24f45111061b1c2170b06 security: # If enabled, only the console can see IP addresses in /dupeip output. # This does not prevent players from using /dupeip. It only prevents them from seeing IP addresses. dupeip: true # If enabled, only the console can use /iphistory. iphistory: true # If enabled, only the console can use /staffrollback. staffrollback: true # If enabled, only the console can use the --modify flag. modify: false # If enabled, only the console can use /prunehistory. prunehistory: false # If enabled, only the console can use --sender flags. sender_custom: true # If enabled, only the console can see IP addresses which have been IP-banned directly. Account names are shown if possible. ipban: true # If set to 0, players can perform both regular IP bans and wildcard IP bans if they have the permission to do so. # If set to 1 or higher, only the console can perform wildcard IP bans. # If set to 2 or higher, only the console can use /ipban and /ipmute. ipban_command: 1 # The obscure seed changes how the "idRandom" variable in messages.yml is generated. Altering this option will invalidate all previously generated random IDs. # If the seed is revealed, the generated IDs may be predictable to someone who has sufficient knowledge. # Words and numbers are accepted for the seed value. obscure_seed: 0 # If enabled, punishment broadcasts will be silent by default. # This can be overridden per-punishment by using the "-p" (public) flag (the opposite of "-s"). silent: false # If enabled, punishments will be IP-based by default. (All bans will be IP bans, all mutes will be IP mutes, etc.) # The affected commands can then still be executed with the base permissions (e.g. `litebans.ban`). For example, /ban does not require `litebans.ipban`, but executes an IP ban. punish_ip: false # Instead of "CONSOLE", this name will be used to represent the console. console_sender_name: Console # Use display names? # This means that when moderators and punished players change their name using /nick, # this name will be used in broadcasts and other messages instead of their regular name. # The Bungee & Velocity versions of LiteBans cannot detect Spigot-side display names. use_display_names: false # This allows /dupeip and /ipreport to scan every single IP address that a player has ever joined with. (Multiple IP scanning) # If set to false, only the player's last IP address will be scanned. # (This option requires `delete_previous_history: false`) dupeip_scan_all_ips: false # If disabled, all previous IP addresses will be recorded, allowing /iphistory to work. delete_previous_history: true # If enabled, LiteBans performs an additional database query on login to provide case-insensitive name bans and mutes. # This also prevents players from evading bans by switching from offline-mode to online-mode (through FastLogin, for example), or from Geyser to Java Edition in offline-mode. ban_names: false # If enabled, all previous login history will be unbanned when unbanning a player. # Essentially a "chain unban" - it can resolve multiple IP bans at the same time, and it will be more effective if "delete_previous_history" is disabled. unban_all_history: false # If a kick message contains any of these, it will not be added to the database. # You can set this list to [''] if you don't want any kicks to be added to the database. ignored_kick_messages: - restarting - afk # This option controls how often notifications are sent from a single player. # When a player tries to join when banned or talk while muted, # you won't see any more messages from them for a short while. notification_throttle_ticks: 12000 # If enabled, a kick reason must be provided, otherwise players will get an error. require_kick_reason: false # If enabled, a ban or mute reason must be provided, otherwise players will get an error. # When set to false, "default_ban_reason" and "default_mute_reason" in messages.yml are used as reasons when no reason is provided. require_ban_mute_reason: false # If enabled, an unban or unmute reason must be provided, otherwise players will get an error. require_unban_unmute_reason: false # After configuring import options, run "/litebans import start" to begin the import. # The import process occurs while the server is running, no downtime is required. import: # You can import from: MaxBans, Ultrabans, BanHammer, BanManagerv4, BanManagerv5, BanManagerv7, BungeeAdminTools, AdvancedBan(MySQL only), LibertyBans(MySQL only), LiteBans, Vanilla. # Vanilla means importing from banned-players.json, which is also used by Essentials. from: vanilla # If enabled, importing will be done from a SQLite database instead of a MySQL database. # You can ignore this if importing from banned-players.json. # If importing from LiteBans, H2 will be used instead of SQLite. sqlite: true # SQLite file locations: # MaxBans: plugins/MaxBans/bans.db # Ultrabans: plugins/Ultrabans/banlist.db # BanHammer: plugins/BanHammer/BanHammer.db sqlite_file: plugins/MaxBans/bans.db import_ipbans: true ## MySQL import settings ## import_mysql_address: localhost:3306 import_mysql_database: maxbans import_mysql_username: '' import_mysql_password: '' import_table_prefix: default ############################## ###### Advanced settings ##### ############################## # If enabled, broadcasts and notifications generated by this instance or obtained from other instances will be displayed here. # If you're getting duplicate broadcasts, disable this on each backend instance. # Disabling this does not disable synchronization, it only prevents an instance from sending messages locally. # (On a proxy-side instance, a "local" message will reach players on all servers on the network, not just the origin server) local_messages: true lockdown: enabled: true # If enabled, /lockdown will continue after restarts. persist_enabled: true # If enabled, the local system timezone will be used. # UTC time will be stored in the database, but dates will be formatted using the timezone offset. use_timezone: true # If enabled, LiteBans will use the timezone stored in the database. use_database_time: false # This option allows you to disable recording IP history on specific servers. # Example: ignored_iphistory_servers: ['Lobby', 'Hub'] # This is useful when you have a layer of authentication (e.g. AuthMe or 2FA) if unauthenticated players are not allowed to switch to other servers from the lobby server. # Under Spigot, you can add 'local' or the server_name value to this list to prevent this server from recording IP history. ignored_iphistory_servers: [ ] # Players in this list will not be shown in /dupeip or /alts output. # Names, UUIDs and IP addresses can be specified. hidden_dupeip_players: [ ] # This option controls the behaviour of the "-N" flag. This flag prevents active bans/mutes from being overridden. # If enabled, the "-N" flag will only prevent bans from being overridden if the active ban has a lower duration. override_lower_duration: false # Amount of entries to show on /history and /staffhistory by default. default_history_limit: 10 # This is the amount of bans shown on each page for /banlist. # Note that ban entries can span 2-3 lines. banlist_bans_per_page: 5 # Only show active bans for /banlist? banlist_show_active_only: true # If enabled, players with `litebans.exempt.bypass` permission can punish exempt players. # Note that all operators will usually have this permission unless negated. allow_exempt_bypass: false # If enabled, online player names will be auto-completed. # Example: /ban Pl -> /ban Player # This has absolutely nothing to do with tab-completion. autocomplete_online_player_names: false # If enabled, AuthMe will be detected and IP history will only be added after a player has successfully logged in. # This option will only work under Spigot, since AuthMe is a Spigot plugin. support_authme: true # If enabled, ProtocolLib will be detected and chat events will be cancelled before they can be processed by any other plugins. # This can help prevent plugin conflicts which allow muted players to chat. # This option will only work under Spigot, since ProtocolLib is a Spigot plugin. use_protocollib: true # If enabled, players will be checked for bans after they have joined. (Spigot only) # This should not be enabled unless you have a conflicting plugin which is un-cancelling login events and allowing banned players to log in. # Players are checked before login regardless of this option. check_after_join: false # /ipreport will not show accounts that have no other players attached by default. ipreport_minimum_accounts: 2 # For Spigot instances: If enabled, all players joining this instance will not be checked for bans. disable_login_ban_check: false # For Bungee/Velocity instances: Any servers listed here will not check for banned players on login. # Example: disable_login_ban_check_servers: [ 'Hub1', 'Hub2' ] disable_login_ban_check_servers: [ ] # If enabled, LiteBans will notify you when an update is available. update_check: true debug_level: 0