Files
test-server-config-minecicd/plugins/LiteBans/config.yml
2024-10-05 22:23:51 -04:00

422 lines
21 KiB
YAML

# 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: <name>:<class>[: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: <threshold>[+]:<action>
# 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: <name/UUID>[: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