feature-27-LibertyBans
This commit is contained in:
parent
a09524292a
commit
fdf69649ed
281
src/plugins/LibertyBans/config.yml
Normal file
281
src/plugins/LibertyBans/config.yml
Normal file
@ -0,0 +1,281 @@
|
||||
#
|
||||
#
|
||||
# The main LibertyBans configuration
|
||||
# All options here can be updated with /libertybans reload
|
||||
#
|
||||
#
|
||||
durationPermissions:
|
||||
# Which duration permissions should a staff member be checked for?
|
||||
# Specify all the durations which you want to explicitly grant permission for.
|
||||
permissions-to-check:
|
||||
- 'perm'
|
||||
- '4h'
|
||||
- '30d'
|
||||
- '10d'
|
||||
# If disabled, players are not checked for duration permissions.
|
||||
enable: false
|
||||
|
||||
# Formatting of absolute dates
|
||||
date-formatting:
|
||||
# How should dates be formatted? Follows Java's DateTimeFormatter.ofPattern
|
||||
format: 'dd/MM/yyyy kk:mm'
|
||||
# Do you want to override the timezone? If 'default', the system default timezone is used
|
||||
# The value must be in continent/city format, such as 'America/New_York'. Uses Java's ZoneId.of
|
||||
timezone: 'Europe/Kyiv'
|
||||
|
||||
# What language file should be used for messages?
|
||||
# For example, 'en' means LibertyBans will look for a file called 'messages_en.yml'
|
||||
lang-file: 'en'
|
||||
# Options related to punishment enforcement and alt account checking
|
||||
#
|
||||
# -- Alt Account Enforcement and Checking --
|
||||
# There are multiple ways to combat alt accounts in LibertyBans.
|
||||
#
|
||||
# First, you can have the plugin automatically detect alt accounts and prevent them from joining,
|
||||
# with the same ban message. This is controlled by the 'address-strictness' setting.
|
||||
#
|
||||
# Second, you can tell your staff members to be on the lookout for alts. They can use
|
||||
# the /alts command to manually check players they suspect are alt accounts. Also, you can
|
||||
# use the alts-auto-show feature which will automatically notify staff of players who may be using alts.
|
||||
#
|
||||
# Third, you may use 'composite punishments', a more advanced feature which is described on the wiki.
|
||||
enforcement:
|
||||
# Controls the expiration of join history as used by manual alt detection.
|
||||
# This allows expiring alt accounts after some time has elapsed.
|
||||
#
|
||||
# This setting does NOT affect enforcement of IP-based punishments.
|
||||
# It applies only to the /alts command and the alts-auto-show feature.
|
||||
#
|
||||
# Note that this feature will not actually delete any data from the database.
|
||||
alt-account-expiration:
|
||||
# The expiration time, in days.
|
||||
expiration-time-days: 30
|
||||
# Whether to enable this feature
|
||||
enable: false
|
||||
|
||||
#
|
||||
# How strict should IP-based punishments be?
|
||||
# Available options are LENIENT, NORMAL, STERN, and STRICT
|
||||
#
|
||||
# An IP-based punishment applies to a player if:
|
||||
# LENIENT - The player's current address matches the punished address
|
||||
# NORMAL - Any of the player's past addresses matches the punished address
|
||||
# STERN - Any of the player's past addresses matches any of the past addresses of the punished user
|
||||
#
|
||||
# STRICT is the same as STERN, but also enforces user punishments as stringently as IP-based punishments.
|
||||
# (Using STRICT turns all user punishments into IP-based punishments)
|
||||
address-strictness: 'NORMAL'
|
||||
# Limits players connecting from the same IP address.
|
||||
#
|
||||
# The limiter works by counting the amount of joins from a given IP address within a recent timespan.
|
||||
# Thus, it is not an absolute limit, but a limit on the rate of joins.
|
||||
connection-limiter:
|
||||
# What is the duration within which recent joins are counted against the limit?
|
||||
# The default is 30 minutes and the value is specified in seconds.
|
||||
duration-seconds: 1800
|
||||
# The limit to apply
|
||||
limit: 5
|
||||
# The message when a player is denied from joining due to the limit
|
||||
denial-message: 'There have been too many connections from your IP address recently'
|
||||
# Whether to enable this feature
|
||||
enable: false
|
||||
|
||||
# Runs an alt-check on newly joined players, as if by /alts,
|
||||
# the results of which will be shown to staff members with the libertybans.alts.autoshow permission.
|
||||
alts-auto-show:
|
||||
# Allows determining which alts will be shown by this alt-check
|
||||
# (This does not affect the alts command, which will always show all alts)
|
||||
# ALL_ALTS - shows all alts
|
||||
# BANNED_OR_MUTED_ALTS - shows alts either banned or muted
|
||||
# BANNED_ALTS - shows only banned alts
|
||||
show-which-alts: 'ALL_ALTS'
|
||||
# Set to true to enable this feature
|
||||
enable: false
|
||||
|
||||
#
|
||||
# A list of commands muted players will not be able to execute
|
||||
#
|
||||
# This list supports subcommands, which will be enforced if the executed command starts with the list entry.
|
||||
# Additionally, colons in commands, such as"pluginname:cmd", cannot be used to bypass this.
|
||||
mute-commands:
|
||||
- 'msg'
|
||||
- 'r'
|
||||
- 't'
|
||||
- 'w'
|
||||
- 'tell'
|
||||
- 'me'
|
||||
- 'whisper'
|
||||
- 'say'
|
||||
- 'clan chat'
|
||||
- 'reply'
|
||||
|
||||
# Options relating to finding UUIDs from names, and vice-versa
|
||||
# LibertyBans will first check its own caches before using these resources
|
||||
player-uuid-resolution:
|
||||
#
|
||||
# As a last resort, when LibertyBans cannot find a uuid or name, it will use an external web API
|
||||
# Available options are 'MOJANG', 'ASHCON', and 'MCHEADS'. They will be queried sequentially in the order specified.
|
||||
# (If the server is not in ONLINE mode, this option is ignored)
|
||||
web-api-resolvers:
|
||||
- 'MOJANG'
|
||||
# By default, LibertyBans will automatically detect if you are running Geyser or Floodgate.
|
||||
# The prefix will be determined using the Geyser API
|
||||
#
|
||||
# However, in rare cases, you may want to force LibertyBans to acknowledge the presence of Geyser usernames
|
||||
# If so, set this option to the value of the prefix you use for Geyser/Floodgate.
|
||||
# An empty string will revert this option to automatic detection, which requires a server restart to take effect.
|
||||
force-geyser-prefix: ''
|
||||
#
|
||||
# What kind of UUIDs do your players have?
|
||||
# Available options are ONLINE, OFFLINE, and MIXED
|
||||
#
|
||||
# For most servers this will be 'ONLINE'
|
||||
# For offline servers where all players have offline UUIDs, use OFFLINE
|
||||
# For offline servers where some players have online and some have offline UUIDs, use MIXED
|
||||
server-type: 'ONLINE'
|
||||
|
||||
platforms:
|
||||
# Related to game servers such as Spigot, Paper, and Sponge
|
||||
game-servers:
|
||||
# This option is relevant for backend servers running within a network (BungeeCord or Velocity).
|
||||
# It enables the use of plugin messaging, such as for:
|
||||
# - Kicking the player from the entire network
|
||||
# - Detecting the name of the backend server for use with server scopes
|
||||
# - Synchronizing punishments across instances, depending on the mode in the sql.yml
|
||||
#
|
||||
# DO NOT enable this option if you do not run a network. Otherwise, you create a security vulnerability
|
||||
# whereby players can pretend to be coming from a proxy, evading kicks and sending sync messages.
|
||||
# After changing this option, please perform a restart (/libertybans restart).
|
||||
use-plugin-messaging: false
|
||||
|
||||
# Related to the Sponge platform
|
||||
sponge:
|
||||
# Whether to register the ban service for use by other plugins.
|
||||
# If enabled, LibertyBans will replace the server's default banning implementation with its own.
|
||||
#
|
||||
# This option is somewhat technical. For advice on whether you should configure this option,
|
||||
# please ask for support.
|
||||
# It is highly recommended to ask for guidance if you are unsure about this option.
|
||||
#
|
||||
# How this affects compatibility:
|
||||
# - If disabled, the vanilla ban service will remain. Other plugins which query for bans will be
|
||||
# served with information from vanilla. For example, if a player is banned through LibertyBans
|
||||
# but not vanilla, then other plugins will think the player is not banned.
|
||||
# - If enabled, uses of the ban service will forward to LibertyBans. Other plugins which query for bans
|
||||
# will be served with accurate information from LibertyBans.
|
||||
# - However, the LibertyBans ban service has limitations. It cannot issue bans, for example.
|
||||
# So, if another plugin attempts to create bans using the ban service, you will receive an error.
|
||||
# If you absolutely need other plugins to issue bans, you must disable this option.
|
||||
#
|
||||
# Note that it is impossible to import vanilla bans if you enable this option. So, if you wish to import
|
||||
# from vanilla, first you need to disable this option. After importing, you may re-enable it.
|
||||
register-ban-service: true
|
||||
|
||||
# Related to proxies such as BungeeCord and Velocity
|
||||
proxies:
|
||||
# Set this to true to indicate that you are running multiple proxy instances.
|
||||
#
|
||||
# It will instruct LibertyBans to perform additional synchronization measures, where applicable.
|
||||
multiple-proxy-instances: false
|
||||
# Server-scoped punishments will be enforced by preventing server switches for players connecting
|
||||
# to servers on which they are banned. The server name is obtained from the proxy API
|
||||
#
|
||||
# This option is enabled by default for full functionality. However, it increases performance usage,
|
||||
# so you may want to disable it if you do not use the scopes feature.
|
||||
enforce-server-switch: true
|
||||
|
||||
|
||||
commands:
|
||||
# If this is enabled, it will be as if relevant commands used the -both argument.
|
||||
# Effectively, this makes punishments more strict, since moderators will end up banning UUIDs and addresses
|
||||
use-composite-victims-by-default: false
|
||||
# By default, /blame shows only active punishments made by a staff member.
|
||||
# If you disable this option, /blame will show all punishments, including those revoked and expired.
|
||||
#
|
||||
# If you use the staffrollback addon, you probably want to disable this to make /blame consistent
|
||||
# with the staffrollback operation.
|
||||
blame-shows-active-only: true
|
||||
# By default, /history and /warns show punishments specifically for the player requested.
|
||||
# Enabling this option will make /history and /warn scan punishments which would apply to the player
|
||||
#
|
||||
# For example, an IP ban may apply to a player, but it will not be in the player's /history unless this is enabled
|
||||
show-applicable-for-history: false
|
||||
# Other options relating to tab completion
|
||||
# These settings require a restart (/libertybans restart) to take effect
|
||||
tab-completion:
|
||||
# Regards tab completing the names of players who have formerly joined
|
||||
# This can be a bit heavy on memory for large servers, so it's disabled by default.
|
||||
# To tune how long player names are retained for, see the retention-minutes option
|
||||
offline-player-names:
|
||||
# What is the period in which recently joining players' names should be completed
|
||||
# If a player has joined in the last specified amount of minutes, his or her name is tab-completed
|
||||
retention-minutes: 4320
|
||||
# This feature is implemented using a cache. How often should the cache be refreshed?
|
||||
# Shorter times mean more accurate tab completion but use slightly more performance
|
||||
cache-refresh-seconds: 120
|
||||
# Whether to enable this feature
|
||||
enable: false
|
||||
|
||||
# This option is only relevant when LibertyBans is on a proxy
|
||||
# If enabled, tab completion of online player names will exclude the names of players
|
||||
# on different backend servers.
|
||||
use-only-players-on-same-server: true
|
||||
# Enables tab-completing punishment durations. For example, '30d' in '/ban A248 30d'
|
||||
#
|
||||
punishment-durations:
|
||||
# Which duration permissions should be tab-completed?
|
||||
# Specify all the durations which you want to tab complete.
|
||||
#
|
||||
# If duration permissions are enabled, only players who have permission to use a certain duration
|
||||
# will have that duration tab-completed.
|
||||
durations-to-supply:
|
||||
- 'perm'
|
||||
- '4h'
|
||||
- '30d'
|
||||
- '10d'
|
||||
# Whether to enable this feature
|
||||
enable: false
|
||||
|
||||
|
||||
# Whether to enable tab completion
|
||||
enable-tab-completion: true
|
||||
# What commands should be registered as aliases for libertybans commands?
|
||||
# For each command listed here, '/<command>' will be equal to '/libertybans <command>'
|
||||
#
|
||||
# This basic system is for convenience; please use a dedicated alias plugin if you need more control.
|
||||
# Also, please note that command aliases are disabled on Sponge, due to command API differences.
|
||||
aliases:
|
||||
- 'ban'
|
||||
- 'ipban'
|
||||
- 'mute'
|
||||
- 'ipmute'
|
||||
- 'warn'
|
||||
- 'ipwarn'
|
||||
- 'kick'
|
||||
- 'ipkick'
|
||||
- 'unban'
|
||||
- 'unbanip'
|
||||
- 'unmute'
|
||||
- 'unmuteip'
|
||||
- 'unwarn'
|
||||
- 'unwarnip'
|
||||
- 'banlist'
|
||||
- 'mutelist'
|
||||
- 'history'
|
||||
- 'warns'
|
||||
- 'blame'
|
||||
- 'alts'
|
||||
- 'accounthistory'
|
||||
|
||||
# Handles how staff are permitted to specify reasons
|
||||
reasons:
|
||||
# Deprecated option kept for compatibility purposes. Ignore this.
|
||||
permit-blank: false
|
||||
# When entering commands, what happens if the staff member does not specify a reason?
|
||||
# USE_EMPTY_REASON - Keep the reason blank, as specified.
|
||||
# REQUIRE_REASON - Deny the command; send the usage message.
|
||||
# SUBSTITUTE_DEFAULT - Substitute the default reason.
|
||||
unspecified-reason-behavior: 'SUBSTITUTE_DEFAULT'
|
||||
# If unspecified-reason-behavior is SUBSTITUTE_DEFAULT, what is the default reason to use when staff do not specify a reason?
|
||||
default-reason: 'No reason stated.'
|
||||
|
187
src/plugins/LibertyBans/import.yml
Normal file
187
src/plugins/LibertyBans/import.yml
Normal file
@ -0,0 +1,187 @@
|
||||
# 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
|
||||
|
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
#HSQL Database Engine 2.7.1
|
||||
#Sun Jul 20 00:13:08 EEST 2025
|
||||
modified=no
|
||||
tx_timestamp=843
|
||||
version=2.7.1
|
@ -0,0 +1,100 @@
|
||||
SET DATABASE UNIQUE NAME HSQLDB98239984BE
|
||||
SET DATABASE DEFAULT RESULT MEMORY ROWS 0
|
||||
SET DATABASE EVENT LOG LEVEL 0
|
||||
SET DATABASE TRANSACTION CONTROL MVLOCKS
|
||||
SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED
|
||||
SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE
|
||||
SET DATABASE TRANSACTION ROLLBACK ON INTERRUPT TRUE
|
||||
SET DATABASE TEXT TABLE DEFAULTS ''
|
||||
SET DATABASE DEFAULT TABLE TYPE CACHED
|
||||
SET DATABASE SQL NAMES TRUE
|
||||
SET DATABASE SQL RESTRICT EXEC TRUE
|
||||
SET DATABASE SQL REFERENCES TRUE
|
||||
SET DATABASE SQL SIZE TRUE
|
||||
SET DATABASE SQL TYPES TRUE
|
||||
SET DATABASE SQL TDC DELETE TRUE
|
||||
SET DATABASE SQL TDC UPDATE TRUE
|
||||
SET DATABASE SQL SYS INDEX NAMES TRUE
|
||||
SET DATABASE SQL CONCAT NULLS TRUE
|
||||
SET DATABASE SQL UNIQUE NULLS TRUE
|
||||
SET DATABASE SQL CONVERT TRUNCATE TRUE
|
||||
SET DATABASE SQL AVG SCALE 0
|
||||
SET DATABASE SQL DOUBLE NAN TRUE
|
||||
SET FILES WRITE DELAY 500 MILLIS
|
||||
SET FILES BACKUP INCREMENT TRUE
|
||||
SET FILES CACHE SIZE 10000
|
||||
SET FILES CACHE ROWS 50000
|
||||
SET FILES SCALE 32
|
||||
SET FILES LOB SCALE 32
|
||||
SET FILES DEFRAG 0
|
||||
SET FILES NIO TRUE
|
||||
SET FILES NIO SIZE 256
|
||||
SET FILES LOG TRUE
|
||||
SET FILES LOG SIZE 50
|
||||
SET FILES CHECK 843
|
||||
SET DATABASE COLLATION "SQL_TEXT" PAD SPACE
|
||||
CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e'
|
||||
ALTER USER SA SET LOCAL TRUE
|
||||
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
|
||||
CREATE SEQUENCE PUBLIC."libertybans_punishment_ids" AS BIGINT START WITH 1 MINVALUE 1 MAXVALUE 9223372036854775806
|
||||
CREATE SEQUENCE PUBLIC."libertybans_victim_ids" AS INTEGER START WITH -2147483648
|
||||
CREATE SEQUENCE PUBLIC."libertybans_track_ids" AS INTEGER START WITH 1
|
||||
CREATE SEQUENCE PUBLIC."libertybans_scope_ids" AS INTEGER START WITH 1
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_schema_history"("installed_rank" INTEGER NOT NULL,"version" VARCHAR(50),"description" VARCHAR(200) NOT NULL,"type" VARCHAR(20) NOT NULL,"script" VARCHAR(1000) NOT NULL,"checksum" INTEGER,"installed_by" VARCHAR(100) NOT NULL,"installed_on" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,"execution_time" INTEGER NOT NULL,"success" BIT(1) NOT NULL,CONSTRAINT "libertybans_schema_history_pk" PRIMARY KEY("installed_rank"))
|
||||
CREATE INDEX "libertybans_schema_history_s_idx" ON PUBLIC."libertybans_schema_history"("success")
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_revision"("constant" VARCHAR(8) NOT NULL,"major" INTEGER NOT NULL,"minor" INTEGER NOT NULL,UNIQUE("constant"),CHECK(PUBLIC."libertybans_revision"."constant"='Constant'))
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_names"("uuid" UUID NOT NULL,"name" VARCHAR(16) NOT NULL,"lower_name" VARCHAR(16) GENERATED ALWAYS AS(LOWER(PUBLIC."libertybans_names"."name")),"updated" BIGINT NOT NULL,CONSTRAINT "libertybans_uuid_name_uniqueness" UNIQUE("uuid","name"))
|
||||
CREATE INDEX "libertybans_name_index" ON PUBLIC."libertybans_names"("lower_name")
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_addresses"("uuid" UUID NOT NULL,"address" VARBINARY(16) NOT NULL,"updated" BIGINT NOT NULL,CONSTRAINT "libertybans_uuid_address_uniqueness" UNIQUE("uuid","address"),CONSTRAINT "libertybans_address_length" CHECK((OCTET_LENGTH(PUBLIC."libertybans_addresses"."address")) IN ((4),(16))))
|
||||
CREATE INDEX "libertybans_address_index" ON PUBLIC."libertybans_addresses"("address")
|
||||
CREATE VIEW PUBLIC."libertybans_latest_names" ("uuid","name","updated") AS SELECT "names1"."uuid" "uuid","names1"."name" "name","names1"."updated" "updated" FROM PUBLIC."libertybans_names" "names1" LEFT JOIN PUBLIC."libertybans_names" "names2" ON "names1"."uuid"="names2"."uuid" AND "names1"."updated"<"names2"."updated" WHERE "names2"."uuid" IS NULL
|
||||
CREATE VIEW PUBLIC."libertybans_latest_addresses" ("uuid","address","updated") AS SELECT "addrs1"."uuid" "uuid","addrs1"."address" "address","addrs1"."updated" "updated" FROM PUBLIC."libertybans_addresses" "addrs1" LEFT JOIN PUBLIC."libertybans_addresses" "addrs2" ON "addrs1"."uuid"="addrs2"."uuid" AND "addrs1"."updated"<"addrs2"."updated" WHERE "addrs2"."address" IS NULL
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_punishments"("id" BIGINT NOT NULL,"type" SMALLINT NOT NULL,"operator" UUID NOT NULL,"reason" VARCHAR(256) NOT NULL,"scope" VARCHAR(32) NOT NULL,"start" BIGINT NOT NULL,"end" BIGINT NOT NULL,"track" INTEGER,"scope_id" INTEGER,CONSTRAINT "libertybans_punishment_id_uniqueness" UNIQUE("id"),CONSTRAINT "libertybans_punishment_type_validity" CHECK((PUBLIC."libertybans_punishments"."type">=0) AND (PUBLIC."libertybans_punishments"."type"<=3)),CONSTRAINT "libertybans_punishment_duration_positivity" CHECK((PUBLIC."libertybans_punishments"."end"=0) OR (PUBLIC."libertybans_punishments"."end">PUBLIC."libertybans_punishments"."start")))
|
||||
CREATE INDEX "libertybans_punishment_operator_index" ON PUBLIC."libertybans_punishments"("operator")
|
||||
CREATE INDEX "libertybans_punishment_start_index" ON PUBLIC."libertybans_punishments"("start")
|
||||
CREATE INDEX "libertybans_punishment_end_index" ON PUBLIC."libertybans_punishments"("end")
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_victims"("id" INTEGER NOT NULL,"type" SMALLINT NOT NULL,"uuid" UUID NOT NULL,"address" VARBINARY(16) NOT NULL,CONSTRAINT "libertybans_victim_id_uniqueness" UNIQUE("id"),CONSTRAINT "libertybans_victim_type_validity" CHECK((PUBLIC."libertybans_victims"."type">=0) AND (PUBLIC."libertybans_victims"."type"<=2)),CONSTRAINT "libertybans_victim_uniqueness" UNIQUE("type","uuid","address"),CONSTRAINT "libertybans_victim_address_length" CHECK((OCTET_LENGTH(PUBLIC."libertybans_victims"."address")) IN ((4),(16))))
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_bans"("id" BIGINT NOT NULL,"victim" INTEGER NOT NULL,CONSTRAINT "libertybans_ban_id_uniqueness" UNIQUE("id"),CONSTRAINT "libertybans_ban_id_validity" FOREIGN KEY("id") REFERENCES PUBLIC."libertybans_punishments"("id") ON DELETE CASCADE,CONSTRAINT "libertybans_ban_victim_uniqueness" UNIQUE("victim"),CONSTRAINT "libertybans_ban_victim_validity" FOREIGN KEY("victim") REFERENCES PUBLIC."libertybans_victims"("id"))
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_mutes"("id" BIGINT NOT NULL,"victim" INTEGER NOT NULL,CONSTRAINT "libertybans_mute_id_uniqueness" UNIQUE("id"),CONSTRAINT "libertybans_mute_id_validity" FOREIGN KEY("id") REFERENCES PUBLIC."libertybans_punishments"("id") ON DELETE CASCADE,CONSTRAINT "libertybans_mute_victim_uniqueness" UNIQUE("victim"),CONSTRAINT "libertybans_mute_victim_validity" FOREIGN KEY("victim") REFERENCES PUBLIC."libertybans_victims"("id"))
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_warns"("id" BIGINT NOT NULL,"victim" INTEGER NOT NULL,CONSTRAINT "libertybans_warn_id_uniqueness" UNIQUE("id"),CONSTRAINT "libertybans_warn_id_validity" FOREIGN KEY("id") REFERENCES PUBLIC."libertybans_punishments"("id") ON DELETE CASCADE,CONSTRAINT "libertybans_warn_victim_validity" FOREIGN KEY("victim") REFERENCES PUBLIC."libertybans_victims"("id"))
|
||||
CREATE INDEX "libertybans_warn_victim_index" ON PUBLIC."libertybans_warns"("victim")
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_history"("id" BIGINT NOT NULL,"victim" INTEGER NOT NULL,CONSTRAINT "libertybans_history_id_uniqueness" UNIQUE("id"),CONSTRAINT "libertybans_history_id_validity" FOREIGN KEY("id") REFERENCES PUBLIC."libertybans_punishments"("id") ON DELETE CASCADE,CONSTRAINT "libertybans_history_victim_validity" FOREIGN KEY("victim") REFERENCES PUBLIC."libertybans_victims"("id"))
|
||||
CREATE INDEX "libertybans_history_victim_index" ON PUBLIC."libertybans_history"("victim")
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_messages"("message" BLOB(1G) NOT NULL,"time" BIGINT NOT NULL)
|
||||
CREATE INDEX "libertybans_messages_time_index" ON PUBLIC."libertybans_messages"("time")
|
||||
CREATE VIEW PUBLIC."libertybans_strict_links" ("uuid1","uuid2") AS SELECT "addrs1"."uuid" AS "uuid1","addrs2"."uuid" AS "uuid2" FROM PUBLIC."libertybans_addresses" AS "addrs1" INNER JOIN PUBLIC."libertybans_addresses" AS "addrs2" ON "addrs1"."address"="addrs2"."address"
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_tracks"("id" INTEGER NOT NULL,"namespace" VARCHAR(64) NOT NULL,"value" VARCHAR(64) NOT NULL,CONSTRAINT "libertybans_track_id_uniqueness" UNIQUE("id"),CONSTRAINT "libertybans_track_uniqueness" UNIQUE("namespace","value"),CONSTRAINT "libertybans_track_validity" CHECK((((PUBLIC."libertybans_tracks"."namespace"!='') AND (PUBLIC."libertybans_tracks"."value"!='')) AND (NOT (PUBLIC."libertybans_tracks"."namespace" LIKE '%:%'))) AND (NOT (PUBLIC."libertybans_tracks"."value" LIKE '%:%'))))
|
||||
CREATE CACHED TABLE PUBLIC."libertybans_scopes"("id" INTEGER NOT NULL,"type" SMALLINT NOT NULL,"value" VARCHAR(32) NOT NULL,CONSTRAINT "libertybans_scope_id_uniqueness" UNIQUE("id"),CONSTRAINT "libertybans_scope_type_validity" CHECK((PUBLIC."libertybans_scopes"."type") IN ((1),(2))),CONSTRAINT "libertybans_scope_data_uniqueness" UNIQUE("type","value"))
|
||||
CREATE VIEW PUBLIC."libertybans_simple_bans" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","track","scope_type") AS SELECT "puns"."id","puns"."type","victims"."type" AS "victim_type","victims"."uuid" AS "victim_uuid","victims"."address" AS "victim_address","puns"."operator","puns"."reason",CAST((CASE WHEN "puns"."scope_id" IS NULL THEN''ELSE "scopes"."value" END)AS CHARACTER VARYING(32))AS "scope","puns"."start","puns"."end",(CASE WHEN "tracks"."namespace" IS NULL THEN NULL ELSE(("tracks"."namespace"||':')||"tracks"."value")END)AS "track",(CASE WHEN "puns"."scope_id" IS NULL THEN CAST(0 AS SMALLINT)ELSE "scopes"."type" END)AS "scope_type" FROM PUBLIC."libertybans_bans" AS "thetype" INNER JOIN PUBLIC."libertybans_punishments" AS "puns" ON "thetype"."id"="puns"."id" INNER JOIN PUBLIC."libertybans_victims" AS "victims" ON "thetype"."victim"="victims"."id" LEFT JOIN PUBLIC."libertybans_tracks" AS "tracks" ON "puns"."track"="tracks"."id" LEFT JOIN PUBLIC."libertybans_scopes" AS "scopes" ON "puns"."scope_id"="scopes"."id"
|
||||
CREATE VIEW PUBLIC."libertybans_applicable_bans" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","uuid","address","track","scope_type") AS SELECT "puns"."id","puns"."type","puns"."victim_type","puns"."victim_uuid","puns"."victim_address","puns"."operator","puns"."reason","puns"."scope","puns"."start","puns"."end","addrs"."uuid","addrs"."address","puns"."track","puns"."scope_type" FROM PUBLIC."libertybans_simple_bans" AS "puns" INNER JOIN PUBLIC."libertybans_addresses" AS "addrs" ON("puns"."victim_type"=0 AND "puns"."victim_uuid"="addrs"."uuid" OR "puns"."victim_type"=1 AND "puns"."victim_address"="addrs"."address" OR "puns"."victim_type"=2 AND("puns"."victim_uuid"="addrs"."uuid" OR "puns"."victim_address"="addrs"."address"))
|
||||
CREATE VIEW PUBLIC."libertybans_simple_mutes" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","track","scope_type") AS SELECT "puns"."id","puns"."type","victims"."type" AS "victim_type","victims"."uuid" AS "victim_uuid","victims"."address" AS "victim_address","puns"."operator","puns"."reason",CAST((CASE WHEN "puns"."scope_id" IS NULL THEN''ELSE "scopes"."value" END)AS CHARACTER VARYING(32))AS "scope","puns"."start","puns"."end",(CASE WHEN "tracks"."namespace" IS NULL THEN NULL ELSE(("tracks"."namespace"||':')||"tracks"."value")END)AS "track",(CASE WHEN "puns"."scope_id" IS NULL THEN CAST(0 AS SMALLINT)ELSE "scopes"."type" END)AS "scope_type" FROM PUBLIC."libertybans_mutes" AS "thetype" INNER JOIN PUBLIC."libertybans_punishments" AS "puns" ON "thetype"."id"="puns"."id" INNER JOIN PUBLIC."libertybans_victims" AS "victims" ON "thetype"."victim"="victims"."id" LEFT JOIN PUBLIC."libertybans_tracks" AS "tracks" ON "puns"."track"="tracks"."id" LEFT JOIN PUBLIC."libertybans_scopes" AS "scopes" ON "puns"."scope_id"="scopes"."id"
|
||||
CREATE VIEW PUBLIC."libertybans_applicable_mutes" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","uuid","address","track","scope_type") AS SELECT "puns"."id","puns"."type","puns"."victim_type","puns"."victim_uuid","puns"."victim_address","puns"."operator","puns"."reason","puns"."scope","puns"."start","puns"."end","addrs"."uuid","addrs"."address","puns"."track","puns"."scope_type" FROM PUBLIC."libertybans_simple_mutes" AS "puns" INNER JOIN PUBLIC."libertybans_addresses" AS "addrs" ON("puns"."victim_type"=0 AND "puns"."victim_uuid"="addrs"."uuid" OR "puns"."victim_type"=1 AND "puns"."victim_address"="addrs"."address" OR "puns"."victim_type"=2 AND("puns"."victim_uuid"="addrs"."uuid" OR "puns"."victim_address"="addrs"."address"))
|
||||
CREATE VIEW PUBLIC."libertybans_simple_warns" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","track","scope_type") AS SELECT "puns"."id","puns"."type","victims"."type" AS "victim_type","victims"."uuid" AS "victim_uuid","victims"."address" AS "victim_address","puns"."operator","puns"."reason",CAST((CASE WHEN "puns"."scope_id" IS NULL THEN''ELSE "scopes"."value" END)AS CHARACTER VARYING(32))AS "scope","puns"."start","puns"."end",(CASE WHEN "tracks"."namespace" IS NULL THEN NULL ELSE(("tracks"."namespace"||':')||"tracks"."value")END)AS "track",(CASE WHEN "puns"."scope_id" IS NULL THEN CAST(0 AS SMALLINT)ELSE "scopes"."type" END)AS "scope_type" FROM PUBLIC."libertybans_warns" AS "thetype" INNER JOIN PUBLIC."libertybans_punishments" AS "puns" ON "thetype"."id"="puns"."id" INNER JOIN PUBLIC."libertybans_victims" AS "victims" ON "thetype"."victim"="victims"."id" LEFT JOIN PUBLIC."libertybans_tracks" AS "tracks" ON "puns"."track"="tracks"."id" LEFT JOIN PUBLIC."libertybans_scopes" AS "scopes" ON "puns"."scope_id"="scopes"."id"
|
||||
CREATE VIEW PUBLIC."libertybans_applicable_warns" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","uuid","address","track","scope_type") AS SELECT "puns"."id","puns"."type","puns"."victim_type","puns"."victim_uuid","puns"."victim_address","puns"."operator","puns"."reason","puns"."scope","puns"."start","puns"."end","addrs"."uuid","addrs"."address","puns"."track","puns"."scope_type" FROM PUBLIC."libertybans_simple_warns" AS "puns" INNER JOIN PUBLIC."libertybans_addresses" AS "addrs" ON("puns"."victim_type"=0 AND "puns"."victim_uuid"="addrs"."uuid" OR "puns"."victim_type"=1 AND "puns"."victim_address"="addrs"."address" OR "puns"."victim_type"=2 AND("puns"."victim_uuid"="addrs"."uuid" OR "puns"."victim_address"="addrs"."address"))
|
||||
CREATE VIEW PUBLIC."libertybans_simple_history" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","track","scope_type") AS SELECT "puns"."id","puns"."type","victims"."type" AS "victim_type","victims"."uuid" AS "victim_uuid","victims"."address" AS "victim_address","puns"."operator","puns"."reason",CAST((CASE WHEN "puns"."scope_id" IS NULL THEN''ELSE "scopes"."value" END)AS CHARACTER VARYING(32))AS "scope","puns"."start","puns"."end",(CASE WHEN "tracks"."namespace" IS NULL THEN NULL ELSE(("tracks"."namespace"||':')||"tracks"."value")END)AS "track",(CASE WHEN "puns"."scope_id" IS NULL THEN CAST(0 AS SMALLINT)ELSE "scopes"."type" END)AS "scope_type" FROM PUBLIC."libertybans_history" AS "thetype" INNER JOIN PUBLIC."libertybans_punishments" AS "puns" ON "thetype"."id"="puns"."id" INNER JOIN PUBLIC."libertybans_victims" AS "victims" ON "thetype"."victim"="victims"."id" LEFT JOIN PUBLIC."libertybans_tracks" AS "tracks" ON "puns"."track"="tracks"."id" LEFT JOIN PUBLIC."libertybans_scopes" AS "scopes" ON "puns"."scope_id"="scopes"."id"
|
||||
CREATE VIEW PUBLIC."libertybans_simple_active" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","track","scope_type") AS SELECT "id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","track","scope_type" FROM PUBLIC."libertybans_simple_bans" UNION ALL SELECT "id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","track","scope_type" FROM PUBLIC."libertybans_simple_mutes" UNION ALL SELECT "id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","track","scope_type" FROM PUBLIC."libertybans_simple_warns"
|
||||
CREATE VIEW PUBLIC."libertybans_applicable_active" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","uuid","address","track","scope_type") AS SELECT "id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","uuid","address","track","scope_type" FROM PUBLIC."libertybans_applicable_bans" UNION ALL SELECT "id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","uuid","address","track","scope_type" FROM PUBLIC."libertybans_applicable_mutes" UNION ALL SELECT "id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","uuid","address","track","scope_type" FROM PUBLIC."libertybans_applicable_warns"
|
||||
CREATE VIEW PUBLIC."libertybans_applicable_history" ("id","type","victim_type","victim_uuid","victim_address","operator","reason","scope","start","end","uuid","address","track","scope_type") AS SELECT "puns"."id","puns"."type","puns"."victim_type","puns"."victim_uuid","puns"."victim_address","puns"."operator","puns"."reason","puns"."scope","puns"."start","puns"."end","addrs"."uuid","addrs"."address","puns"."track","puns"."scope_type" FROM PUBLIC."libertybans_simple_history" AS "puns" INNER JOIN PUBLIC."libertybans_addresses" AS "addrs" ON("puns"."victim_type"=0 AND "puns"."victim_uuid"="addrs"."uuid" OR "puns"."victim_type"=1 AND "puns"."victim_address"="addrs"."address" OR "puns"."victim_type"=2 AND("puns"."victim_uuid"="addrs"."uuid" OR "puns"."victim_address"="addrs"."address"))
|
||||
ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
|
||||
ALTER SEQUENCE PUBLIC."libertybans_punishment_ids" RESTART WITH 11
|
||||
ALTER SEQUENCE PUBLIC."libertybans_victim_ids" RESTART WITH -2147483647
|
||||
ALTER SEQUENCE PUBLIC."libertybans_track_ids" RESTART WITH 1
|
||||
ALTER SEQUENCE PUBLIC."libertybans_scope_ids" RESTART WITH 1
|
||||
SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC
|
||||
SET TABLE PUBLIC."libertybans_schema_history" INDEX '47 47 0 0 14'
|
||||
SET TABLE PUBLIC."libertybans_revision" INDEX '83 83 0 0 1'
|
||||
SET TABLE PUBLIC."libertybans_names" INDEX '91 91 220 0 0 0 2'
|
||||
SET TABLE PUBLIC."libertybans_addresses" INDEX '95 95 224 0 0 0 2'
|
||||
SET TABLE PUBLIC."libertybans_punishments" INDEX '146 146 146 146 146 0 0 0 0 0 10'
|
||||
SET TABLE PUBLIC."libertybans_victims" INDEX '111 111 111 0 0 0 1'
|
||||
SET TABLE PUBLIC."libertybans_bans" INDEX '208 208 208 208 208 0 0 0 0 0 1'
|
||||
SET TABLE PUBLIC."libertybans_warns" INDEX '152 152 152 152 152 0 0 0 0 0 5'
|
||||
SET TABLE PUBLIC."libertybans_history" INDEX '156 156 156 156 156 0 0 0 0 0 10'
|
||||
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC
|
||||
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC
|
||||
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC
|
||||
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
|
||||
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC
|
||||
GRANT DBA TO SA
|
||||
SET SCHEMA SYSTEM_LOBS
|
||||
INSERT INTO BLOCKS VALUES(0,2147483647,0)
|
BIN
src/plugins/LibertyBans/internal/libraries/com.github.ben-manes.caffeine.caffeine_3.1.2.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/LibertyBans/internal/libraries/com.github.ben-manes.caffeine.caffeine_3.1.2.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
src/plugins/LibertyBans/internal/libraries/jakarta.inject.jakarta.inject-api_2.0.0.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/LibertyBans/internal/libraries/jakarta.inject.jakarta.inject-api_2.0.0.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
src/plugins/LibertyBans/internal/libraries/space.arim.libertybans.bans-download_1.1.0.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/LibertyBans/internal/libraries/space.arim.libertybans.bans-download_1.1.0.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
498
src/plugins/LibertyBans/lang/messages_en.yml
Normal file
498
src/plugins/LibertyBans/lang/messages_en.yml
Normal file
@ -0,0 +1,498 @@
|
||||
#
|
||||
# Messages configuration
|
||||
#
|
||||
#
|
||||
# In most cases, the variables inside the default messages are those available
|
||||
# in that specific message. The exception to this is messages which are related
|
||||
# to a certain punishment.
|
||||
#
|
||||
# When message has an associated punishment, multiple variables are available:
|
||||
#
|
||||
# %ID% - punishment ID number
|
||||
# %TYPE% - punishment type, e.g. 'Ban'
|
||||
# %TYPE_VERB% - punishment type as a verb, e.g. 'Banned'
|
||||
# %VICTIM% - display name of the victim of the punishment
|
||||
# %VICTIM_ID% - internal identifier of victim
|
||||
# %OPERATOR% - display name of the staff member who made the punishment
|
||||
# %OPERATOR_ID% - internal identifier of the operator
|
||||
# %UNOPERATOR% - staff member undoing the punishment. available only when the punishment is undone
|
||||
# %UNOPERATOR_ID% - internal identifier of staff member undoing the punishment
|
||||
# %REASON% - reason for the punishment
|
||||
# %SCOPE% - scope of the punishment
|
||||
# %DURATION% - original duration (how long the punishment was made for)
|
||||
# %START_DATE% - the date the punishment was created
|
||||
# %TIME_PASSED% - the time since the punishment was created
|
||||
# %TIME_PASSED_SIMPLE% - the time since the punishment was created, rounded to the biggest time unit possible (e.g. 2 months instead of 1 month 23 days)
|
||||
# %END_DATE% - the date the punishment will end, or formatting.permanent-display.absolute for permanent punishments
|
||||
# %TIME_REMAINING% - the time until the punishment ends, or formatting.permanent-display.relative for permanent punishments
|
||||
# %TIME_REMAINING_SIMPLE% - the time until the punishment ends, rounded to the biggest time unit possible (e.g. 10 days instead of 9 days 13 hours)
|
||||
# %HAS_EXPIRED% - Shows if a punishments duration has run out. Does not check if the punishment is revoked!
|
||||
# %TRACK% - the escalation track of the punishment, for example if you are using layouts
|
||||
# %TRACK_ID% - the ID of the escalation track
|
||||
# %TRACK_NAMESPACE% - the namespace of a track can be used by other plugins to implement their own layouts
|
||||
#
|
||||
# The following variables have limited availability:
|
||||
# %TARGET% - the original target argument of a command. For example, in '/ipban Player1', %TARGET% is Player1
|
||||
# %NEXTPAGE% - the number of the next page of a list like history
|
||||
# %PREVIOUSPAGE% - the number of the previous page of a list like history
|
||||
#
|
||||
#
|
||||
# Configuration for the /accounthistory command
|
||||
account-history:
|
||||
# Regards /accounthistory list <user>
|
||||
listing:
|
||||
none-found: '&7No recorded accounts found'
|
||||
usage: '&cUsage: /accounthistory list <user|ip>'
|
||||
# How a single recorded account should be displayed
|
||||
# Available variables:
|
||||
# %TARGET% - the original input to the command
|
||||
# %USERNAME% - the username the player connected with
|
||||
# %ADDRESS% - the address the player connected with
|
||||
# %DATE_RECORDED% - the date the join was recorded
|
||||
# %DATE_RECORDED_RAW% - the raw timestamp the join was recorded
|
||||
layout: '%USERNAME% &7(on %ADDRESS%) at %DATE_RECORDED% (%DATE_RECORDED_RAW%)||ttp:&7Click to delete this stored account||cmd:/accounthistory delete %TARGET% %DATE_RECORDED_RAW%'
|
||||
# The message to display before the account listing. Set to an empty string to disable
|
||||
header: '&7Known accounts report for &c&o%TARGET%&7 follows.'
|
||||
permission: '&cYou may not list recorded accounts.'
|
||||
|
||||
usage: '&cUsage: /accounthistory <delete|list>'
|
||||
# Pertains to /accounthistory delete <user> <timestamp>
|
||||
delete:
|
||||
no-such-account: '&c%TARGET% has no recorded account for the specified timestamp.'
|
||||
usage:
|
||||
- '&cUsage: /accounthistory delete <user> <timestamp>.&f'
|
||||
- '&7The timestamp is in unix seconds and is usually obtained from /accounthistory list'
|
||||
permission: '&cYou may not delete recorded accounts.'
|
||||
success: '&7Successfully deleted the recorded account of &e%TARGET%'
|
||||
|
||||
|
||||
#
|
||||
# Messages regarding /ban, /mute, /warn, /kick
|
||||
# Includes punishment layouts
|
||||
#
|
||||
#
|
||||
additions:
|
||||
mutes:
|
||||
success:
|
||||
message: '&aMuted &c&o%VICTIM%&a for &o%DURATION%&r&a because of &e&o%REASON%&a.'
|
||||
notification: '&c&o%OPERATOR%&7 muted &c&o%VICTIM%&7 for &a&o%DURATION%&7 because of &e&o%REASON%&7.'
|
||||
|
||||
exempted: '&c&o%TARGET%&7 cannot be muted.'
|
||||
conflicting: '&c&o%TARGET%&7 is already muted.'
|
||||
usage: '&cUsage: /mute &e<player> [time] <reason>&c.'
|
||||
layout:
|
||||
- '&7&lMuted&f'
|
||||
- '&cDuration: &e%TIME_REMAINING%&f'
|
||||
- ''
|
||||
- '&c&lReason&f'
|
||||
- '&7%REASON%'
|
||||
permission:
|
||||
duration: '&cYou may not do this for &e%DURATION%&c.'
|
||||
both: '&cYou may not do this to players and their IP addresses.'
|
||||
uuid: '&cYou may not do this to players.'
|
||||
ip-address: '&cYou may not do this to IP addresses.'
|
||||
|
||||
|
||||
kicks:
|
||||
success:
|
||||
message: '&aKicked &c&o%VICTIM%&a because of &e&o%REASON%&a.'
|
||||
notification: '&c&o%OPERATOR%&7 kicked &c&o%VICTIM%&7 because of &e&o%REASON%&7.'
|
||||
|
||||
must-be-online: '&c&o%TARGET%&7 must be online.'
|
||||
exempted: '&c&o%TARGET%&7 cannot be kicked.'
|
||||
usage: '&cUsage: /kick &e<player> <reason>&c.'
|
||||
layout:
|
||||
- '&7&lKicked&f'
|
||||
- ''
|
||||
- '&c&lReason&f'
|
||||
- '&7%REASON%'
|
||||
permission:
|
||||
both: '&cYou may not do this to players and their IP addresses.'
|
||||
uuid: '&cYou may not do this to players.'
|
||||
ip-address: '&cYou may not do this to IP addresses.'
|
||||
|
||||
|
||||
warns:
|
||||
success:
|
||||
message: '&aWarned &c&o%VICTIM%&a for &o%DURATION%&r&a because of &e&o%REASON%&a.'
|
||||
notification: '&c&o%OPERATOR%&7 warned &c&o%VICTIM%&7 for &a&o%DURATION%&7 because of &e&o%REASON%&7.'
|
||||
|
||||
exempted: '&c&o%TARGET%&7 cannot be warned.'
|
||||
usage: '&cUsage: /warn &e<player> [time] <reason>&c.'
|
||||
layout:
|
||||
- '&7&lWarned&f'
|
||||
- '&cDuration: &e%TIME_REMAINING%&f'
|
||||
- ''
|
||||
- '&c&lReason&f'
|
||||
- '&7%REASON%'
|
||||
permission:
|
||||
duration: '&cYou may not do this for &e%DURATION%&c.'
|
||||
both: '&cYou may not do this to players and their IP addresses.'
|
||||
uuid: '&cYou may not do this to players.'
|
||||
ip-address: '&cYou may not do this to IP addresses.'
|
||||
|
||||
|
||||
bans:
|
||||
success:
|
||||
message: '&aBanned &c&o%VICTIM%&a for &o%DURATION%&r&a because of &e&o%REASON%&a.'
|
||||
notification: '&c&o%OPERATOR%&7 banned &c&o%VICTIM%&7 for &a&o%DURATION%&7 because of &e&o%REASON%&7.'
|
||||
|
||||
exempted: '&c&o%TARGET%&7 cannot be banned.'
|
||||
conflicting: '&c&o%TARGET%&7 is already banned.'
|
||||
usage: '&cUsage: /ban &e<player> [time] <reason>&c.'
|
||||
layout:
|
||||
- '&7&lBanned&f'
|
||||
- '&cDuration: &e%TIME_REMAINING%&f'
|
||||
- ''
|
||||
- '&c&lReason&f'
|
||||
- '&7%REASON%&f'
|
||||
- ''
|
||||
- '&3&lAppeal Your Punishment&f'
|
||||
- '&cWebsite: &7https://bebrashield.net&f'
|
||||
- '&cDiscord: &7https://discord.gg/xsyy7d8RfG'
|
||||
permission:
|
||||
duration: '&cYou may not do this for &e%DURATION%&c.'
|
||||
both: '&cYou may not do this to players and their IP addresses.'
|
||||
uuid: '&cYou may not do this to players.'
|
||||
ip-address: '&cYou may not do this to IP addresses.'
|
||||
|
||||
|
||||
|
||||
# Messages for alt-checks and alt account notifications
|
||||
#
|
||||
# Before configuring this section, it is necessary to look at the address-enforcement
|
||||
# settings in the main config.yml and understand the different kinds of alt detection.
|
||||
# There is normal and strict detection.
|
||||
alts:
|
||||
auto-show:
|
||||
# The message to display atop the alt check. Set to an empty string to disable
|
||||
header:
|
||||
- '&c&o%TARGET%&7 may be an alt account. Report follows.&f'
|
||||
- '&7Strong possibility - Same address as banned player.&f'
|
||||
- '&7Mere possibility - Linked to banned player by common past address'
|
||||
|
||||
formatting:
|
||||
# In the alt-check layout, the username of the alt may be formatted depending upon whether it is banned
|
||||
# For example, the usernames of banned alts may be colored red whereas alts not banned are green
|
||||
# Variables: %USERNAME%
|
||||
name-display:
|
||||
not-punished: '&o%USERNAME%'
|
||||
muted: '&e&o%USERNAME%'
|
||||
banned: '&c&o%USERNAME%'
|
||||
|
||||
# The description for an alt account detected by strict detection.
|
||||
strict: '&eMere possibility'
|
||||
# How a single detected alt should be displayed
|
||||
# Available variables:
|
||||
# %DETECTION_KIND% - how the account was detected. Will be replaced by the normal or strict options.
|
||||
# %ADDRESS% - the address in question which led to the detection
|
||||
# %RELEVANT_USER% - the username of the other account, formatted according to the name-display option
|
||||
# %RELEVANT_USERID% - the uuid of the other account
|
||||
# %DATE_RECORDED% - the date the alt account was recorded
|
||||
layout: '%RELEVANT_USER% &7(per %ADDRESS%) at %DATE_RECORDED% - %DETECTION_KIND%'
|
||||
# The description for an alt account detected by normal detection.
|
||||
normal: '&cStrong possibility'
|
||||
|
||||
# Regarding the /alts command
|
||||
command:
|
||||
none-found: '&7No alt accounts found'
|
||||
usage: '&cUsage: /alts &e<player>&c.'
|
||||
# The message to display atop the alt check. Set to an empty string to disable
|
||||
header:
|
||||
- '&7Alt account report for &c&o%TARGET%&7 follows.&f'
|
||||
- '&7Strong possibility - Same address as banned player.&f'
|
||||
- '&7Mere possibility - Linked to banned player by common past address'
|
||||
permission: '&cYou may not check alts.'
|
||||
|
||||
|
||||
# Used for /banlist, /mutelist, /history, /warns, /blame
|
||||
lists:
|
||||
ban-list:
|
||||
perPage: 10
|
||||
noPages: '&7There are no active bans.'
|
||||
maxPages: '&7Page &e%PAGE%&7 does not exist.'
|
||||
permission:
|
||||
command: '&7You may not view the banlist.'
|
||||
|
||||
layout:
|
||||
header:
|
||||
- '&7[&eID&7] &e&oSubject&f'
|
||||
- '&7Operator &8/ &7Reason &8/ &7Time Remaining&f'
|
||||
body:
|
||||
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
|
||||
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%&f'
|
||||
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans banlist %NEXTPAGE%'
|
||||
|
||||
usage: '&cUsage: /banlist &e[page]'
|
||||
|
||||
mute-list:
|
||||
perPage: 10
|
||||
noPages: '&7There are no active mutes.'
|
||||
maxPages: '&7Page &e%PAGE%&7 does not exist.'
|
||||
permission:
|
||||
command: '&7You may not view the mutelist.'
|
||||
|
||||
layout:
|
||||
header:
|
||||
- '&7[&eID&7] &e&oSubject&f'
|
||||
- '&7Operator &8/ &7Reason &8/ &7Time Remaining&f'
|
||||
body:
|
||||
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
|
||||
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%&f'
|
||||
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans mutelist %NEXTPAGE%'
|
||||
|
||||
usage: '&cUsage: /mutelist &e[page]'
|
||||
|
||||
warns:
|
||||
perPage: 10
|
||||
noPages: '&c&o%TARGET%&7 has no warns.'
|
||||
maxPages: '&7Page &e%PAGE%&7 does not exist.'
|
||||
permission:
|
||||
command: '&7You may not view warns.'
|
||||
|
||||
layout:
|
||||
header: '&7[&eID&7] Operator &8/ &7Reason &8/ &7Time Remaining&f'
|
||||
body: '&7[&e%ID%&7] %OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%&f'
|
||||
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
|
||||
|
||||
usage: '&cUsage: /warns &e<player> [page]'
|
||||
|
||||
blame:
|
||||
perPage: 10
|
||||
noPages: '&c&o%TARGET%&7 has not punished any players.'
|
||||
maxPages: '&7Page &e%PAGE%&7 does not exist.'
|
||||
permission:
|
||||
command: '&7You may not use blame.'
|
||||
|
||||
layout:
|
||||
header:
|
||||
- '&7[&eID&7] &e&oSubject &8/ &7Punishment Type&f'
|
||||
- '&7Reason &8/ &7Date Enacted&f'
|
||||
body:
|
||||
- '&7[&e%ID%&7] &e&o%VICTIM% &8 / &7%TYPE%&f'
|
||||
- '&7%REASON% &8/ &7%START_DATE%&f'
|
||||
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
|
||||
|
||||
usage: '&cUsage: /blame &e<player> [page]'
|
||||
|
||||
history:
|
||||
perPage: 10
|
||||
noPages: '&c&o%TARGET%&7 has no history.'
|
||||
maxPages: '&7Page &e%PAGE%&7 does not exist.'
|
||||
permission:
|
||||
command: '&7You may not view history.'
|
||||
|
||||
layout:
|
||||
header:
|
||||
- '&7[&eID&7] &8/ &7Punishment Type&f'
|
||||
- '&7Operator &8/ &7Reason &8/ &7Date Enacted&f'
|
||||
body:
|
||||
- '&7[&e%ID%&7] / %TYPE%&f'
|
||||
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%START_DATE%&f'
|
||||
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans history %TARGET% %NEXTPAGE%'
|
||||
|
||||
usage: '&cUsage: /history &e<player> [page]'
|
||||
|
||||
|
||||
# Specific formatting options
|
||||
formatting:
|
||||
# There are 2 ways to make permanent punishments. The first is to not specify a time (/ban <player> <reason>).
|
||||
# The second is to specify a permanent amount of time (/ban <player> perm <reason>).
|
||||
# When typing commands, what time arguments will be counted as permanent?
|
||||
permanent-arguments:
|
||||
- 'perm'
|
||||
- 'permanent'
|
||||
- 'permanently'
|
||||
# How should 'permanent' be displayed as a length of time?
|
||||
permanent-display:
|
||||
# What do you call a permanent duration?
|
||||
duration: 'Infinite'
|
||||
# When does a permanent punishment end?
|
||||
absolute: 'Never'
|
||||
# How do you describe the time remaining in a permanent punishment?
|
||||
relative: 'Permanent'
|
||||
|
||||
# When there is no more time remaining in a punishment (the punishment has expired),
|
||||
# this becomes the value of the %TIME_REMAINING% variable
|
||||
no-time-remaining-display: 'N/A'
|
||||
# How should the %HAS_EXPIRED% variable be displayed?
|
||||
punishment-expired-display:
|
||||
# How do you describe a punishment which is not expired?
|
||||
not-expired: 'Not expired'
|
||||
# How do you describe an expired punishment?
|
||||
expired: 'Expired'
|
||||
|
||||
# Controls how the %TRACK%, %TRACK_ID%, and %TRACK_NAMESPACE% variables are displayed
|
||||
track-display:
|
||||
# How do you describe the lack of an escalation track?
|
||||
# The value will be displayed for the %TRACK% variable
|
||||
no-track: 'No track'
|
||||
# How do you describe the lack of an escalation track with respect to its ID?
|
||||
# The value will be displayed for the %TRACK_ID% variable
|
||||
no-track-id: 'No track ID'
|
||||
# How do you describe the lack of an escalation track with respect to its namespace?
|
||||
# The value will be displayed for the %TRACK_NAMESPACE% variable
|
||||
no-track-namespace: '(none)'
|
||||
# You may wish to override the track display names. Normally the track ID is displayed,
|
||||
# which is lowercase and stored in the database. If you want a different name to be displayed
|
||||
# for the track, write it here.
|
||||
#
|
||||
# This option affects the %TRACK% variable but not the %TRACK_ID% variable.
|
||||
track-display-names:
|
||||
spam: 'Spamming'
|
||||
hacking: 'Hacking'
|
||||
|
||||
|
||||
# How should the console be displayed?
|
||||
console-display: 'Console'
|
||||
# When using /blame, how should the console be specified?
|
||||
console-arguments:
|
||||
- 'console'
|
||||
# How should punishment types be displayed?
|
||||
punishment-type-display:
|
||||
WARN: 'Warn'
|
||||
KICK: 'Kick'
|
||||
BAN: 'Ban'
|
||||
MUTE: 'Mute'
|
||||
|
||||
# How should punishment types be displayed as a verb? Used for the %TYPE_VERB% variable.
|
||||
punishment-type-verb-display:
|
||||
WARN: 'Warned'
|
||||
KICK: 'Kicked'
|
||||
BAN: 'Banned'
|
||||
MUTE: 'Muted'
|
||||
|
||||
# How should the global scope be displayed?
|
||||
global-scope-display: 'All servers'
|
||||
# Controls how victims are displayed
|
||||
victim-display:
|
||||
# In rare cases, you may have punishments for a user whose name is unknown. This can happen because
|
||||
# users are punished by UUID, but on some configurations it is not possible to lookup player names.
|
||||
# When this occurs, the following text is used instead of the player name.
|
||||
player-name-unknown: '-NameUnknown-'
|
||||
# Whether to censor IP addresses for players without the libertybans.admin.viewips permission
|
||||
censor-ip-addresses: false
|
||||
# The substitute text when an IP address cannot be viewed because the user lacks permission
|
||||
censored-ip-address: '<censored IP address>'
|
||||
|
||||
|
||||
misc:
|
||||
unknown-error: '&cAn unknown error occurred.'
|
||||
# Only applicable if synchronous enforcement strategy is DENY in the main config
|
||||
sync-chat-denial-message: '&cSynchronous chat denied. &7Please try again.'
|
||||
# Concerns formatting of relative times and durations
|
||||
time:
|
||||
# Times are formatted to seconds accuracy, but you may not want to display seconds
|
||||
# for most times. However, for very small durations, you need to display a value in seconds.
|
||||
# If you are using SECONDS in the above section, this value is meaningless.
|
||||
fallback-seconds: '%VALUE% seconds'
|
||||
grammar:
|
||||
# If enabled, places commas after each time fragment, except the last one
|
||||
comma: true
|
||||
# What should come before the last fragment? Set to empty text to disable
|
||||
and: 'and '
|
||||
|
||||
fragments:
|
||||
MINUTES: '%VALUE% minutes'
|
||||
MONTHS: '%VALUE% months'
|
||||
DAYS: '%VALUE% days'
|
||||
HOURS: '%VALUE% hours'
|
||||
YEARS: '%VALUE% years'
|
||||
WEEKS: '%VALUE% weeks'
|
||||
|
||||
|
||||
|
||||
# Regards /unban, /unmute, /unwarn
|
||||
removals:
|
||||
mutes:
|
||||
success:
|
||||
message: '&7Unmuted &c&o%VICTIM%&7.'
|
||||
notification: '&c&o%UNOPERATOR%&7 unmuted &c&o%VICTIM%&7.'
|
||||
|
||||
not-found: '&c&o%TARGET%&7 is not muted.'
|
||||
usage: '&cUsage: /unmute &e<player>&c.'
|
||||
permission:
|
||||
both: '&cYou may not do this to players and their IP addresses.'
|
||||
uuid: '&cYou may not do this to players.'
|
||||
ip-address: '&cYou may not do this to IP addresses.'
|
||||
|
||||
|
||||
warns:
|
||||
not-a-number: '&c&o%ID_ARG%&7 is not a number.'
|
||||
success:
|
||||
message: '&7Unwarned &c&o%VICTIM%&7.'
|
||||
notification: '&c&o%UNOPERATOR%&7 unwarned &c&o%VICTIM%&7.'
|
||||
|
||||
not-found: '&c&o%TARGET%&7 does not have a warn by &c&o%ID%&7.'
|
||||
usage: '&cUsage: /unwarn &e<player> <id>&c.'
|
||||
permission:
|
||||
both: '&cYou may not do this to players and their IP addresses.'
|
||||
uuid: '&cYou may not do this to players.'
|
||||
ip-address: '&cYou may not do this to IP addresses.'
|
||||
|
||||
|
||||
bans:
|
||||
success:
|
||||
message: '&7Unbanned &c&o%VICTIM%&7.'
|
||||
notification: '&c&o%UNOPERATOR%&7 unbanned &c&o%VICTIM%&7.'
|
||||
|
||||
not-found: '&c&o%TARGET%&7 is not banned.'
|
||||
usage: '&cUsage: /unban &e<player>&c.'
|
||||
permission:
|
||||
both: '&cYou may not do this to players and their IP addresses.'
|
||||
uuid: '&cYou may not do this to players.'
|
||||
ip-address: '&cYou may not do this to IP addresses.'
|
||||
|
||||
|
||||
|
||||
admin:
|
||||
ellipses: '&a...'
|
||||
reloaded: '&aReloaded'
|
||||
reload-failed: '&cAn error occurred reloading the configuration. Please check the server console.'
|
||||
restarted: '&aRestarted'
|
||||
addons:
|
||||
reload-addon:
|
||||
does-not-exist: '&cThat addon does not exist.'
|
||||
failed: '&cAn error occurred reloading addon configuration. Please check the server console.'
|
||||
usage: '&cUsage: /libertybans addon reload <addon>. To reload all addons, /libertybans reload will suffice.'
|
||||
success: '&aReloaded addon &e%ADDON%&a.'
|
||||
|
||||
listing:
|
||||
message: '&b&lAddons Installed'
|
||||
layout: '&7- %ADDON%'
|
||||
|
||||
usage: '&cUsage: /libertybans addon <list|reload>'
|
||||
|
||||
no-permission: '&cSorry, you cannot use this.'
|
||||
importing:
|
||||
# To prevent mistakes, it is not allowed to import multiple times at once.
|
||||
in-progress: '&cThere is already an import in progress.'
|
||||
usage: '&cUsage: /libertybans import <advancedban|litebans|vanilla|self>'
|
||||
failure: '&cImport failed. View the server console for details.'
|
||||
started: '&7Import has started. View your server console for details and progress.'
|
||||
complete: '&7Import completed.'
|
||||
|
||||
|
||||
all:
|
||||
# If a player types /libertybans but does not have the permission 'libertybans.commands', this is the denial message
|
||||
base-permission-message: '&cYou may not use this.'
|
||||
prefix:
|
||||
# The prefix to use
|
||||
value: '&6&lLibertyBans &8»&7 '
|
||||
# If enabled, all messages will be prefixed
|
||||
enable: true
|
||||
|
||||
# This section is only relevant if using the server scopes feature
|
||||
scopes:
|
||||
no-permission-for-default: '&cYou may not use this command without specifying a scope.'
|
||||
no-permission: '&cYou may not use scope &e%SCOPE%&c.'
|
||||
invalid: '&cInvalid scope specified: &e%SCOPE_ARG%&c.'
|
||||
|
||||
# When issuing commands, if the specified player or IP was not found, what should the error message be?
|
||||
not-found:
|
||||
player-or-address: '&c&o%TARGET%&7 was not found online or offline, and is not a valid IP address.'
|
||||
uuid: '&c&o%TARGET%&7 is not a valid uuid.'
|
||||
player: '&c&o%TARGET%&7 was not found online or offline.'
|
||||
|
||||
usage: '&cUnknown sub command. Displaying usage:'
|
||||
|
438
src/plugins/LibertyBans/lang/messages_ru.yml
Normal file
438
src/plugins/LibertyBans/lang/messages_ru.yml
Normal file
@ -0,0 +1,438 @@
|
||||
#
|
||||
# Messages configuration
|
||||
#
|
||||
#
|
||||
# In most cases, the variables inside the default messages are those available
|
||||
# in that specific message. The exception to this is messages which are related
|
||||
# to a certain punishment.
|
||||
#
|
||||
# When message has an associated punishment, multiple variables are available:
|
||||
#
|
||||
# %ID% - punishment ID number
|
||||
# %TYPE% - punishment type, e.g. 'Ban'
|
||||
# %TYPE_VERB% - punishment type as a verb, e.g. 'Banned'
|
||||
# %VICTIM% - display name of the victim of the punishment
|
||||
# %VICTIM_ID% - internal identifier of victim
|
||||
# %OPERATOR% - display name of the staff member who made the punishment
|
||||
# %OPERATOR_ID% - internal identifier of the operator
|
||||
# %UNOPERATOR% - staff member undoing the punishment. available only when the punishment is undone
|
||||
# %UNOPERATOR_ID% - internal identifier of staff member undoing the punishment
|
||||
# %REASON% - reason for the punishment
|
||||
# %SCOPE% - scope of the punishment
|
||||
# %DURATION% - original duration (how long the punishment was made for)
|
||||
# %START_DATE% - the date the punishment was created
|
||||
# %TIME_PASSED% - the time since the punishment was created
|
||||
# %TIME_PASSED_SIMPLE% - the time since the punishment was created, rounded to the biggest time unit possible (e.g. 2 months instead of 1 month 23 days)
|
||||
# %END_DATE% - the date the punishment will end, or formatting.permanent-display.absolute for permanent punishments
|
||||
# %TIME_REMAINING% - the time until the punishment ends, or formatting.permanent-display.relative for permanent punishments
|
||||
# %TIME_REMAINING_SIMPLE% - the time until the punishment ends, rounded to the biggest time unit possible (e.g. 10 days instead of 9 days 13 hours)
|
||||
# %HAS_EXPIRED% - Shows if a punishments duration has run out. Does not check if the punishment is revoked!
|
||||
#
|
||||
# The following variables have limited availability:
|
||||
# %TARGET% - the original target argument of a command. For example, in '/ipban Player1', %TARGET% is Player1
|
||||
# %NEXTPAGE% - the number of the next page of a list like history
|
||||
# %PREVIOUSPAGE% - the number of the previous page of a list like history
|
||||
#
|
||||
#
|
||||
# Used for /banlist, /mutelist, /history, /warns, /blame
|
||||
lists:
|
||||
warns:
|
||||
perPage: 10
|
||||
noPages: '&c&o У %TARGET%&7 нету варнов.'
|
||||
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
|
||||
permission:
|
||||
command: '&7У вас нету прав использовать эту команду.'
|
||||
|
||||
layout:
|
||||
header: '&7[&eID&7] Обвиняющий &8/ &7Причина &8/ &7До снятия'
|
||||
body: '&7[&e%ID%&7] %OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%'
|
||||
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
|
||||
|
||||
usage: '&cИспользование: /warns &e<игрок> [страница]'
|
||||
|
||||
blame:
|
||||
perPage: 10
|
||||
noPages: '&c&o%TARGET%&7 не наказывал игроков.'
|
||||
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
|
||||
permission:
|
||||
command: '&7У вас нету права использовать эту команду.'
|
||||
|
||||
layout:
|
||||
header:
|
||||
- '&7[&eID&7] &e&oНаказуемый &8/ &7Вид наказания&f'
|
||||
- 'Причина &8/ &7Дата принятия'
|
||||
body:
|
||||
- '&7[&e%ID%&7] &e&o%VICTIM% &8 / &7%TYPE%&f'
|
||||
- '%REASON% &8/ &7%START_DATE%'
|
||||
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
|
||||
|
||||
usage: '&cИспользование: /blame &e<игрок> [страница]'
|
||||
|
||||
ban-list:
|
||||
perPage: 10
|
||||
noPages: '&7Нету активных банов.'
|
||||
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
|
||||
permission:
|
||||
command: '&7У вас нету права на использование этой команды.'
|
||||
|
||||
layout:
|
||||
header:
|
||||
- '&7[&eID&7] &e&oНаказуемый&f'
|
||||
- '&7Обвиняющий &8/ &7Причина &8/ &7Осталось времени'
|
||||
body:
|
||||
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
|
||||
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%'
|
||||
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans banlist %NEXTPAGE%'
|
||||
|
||||
usage: '&cИспользование: /banlist &e[страница]'
|
||||
|
||||
mute-list:
|
||||
perPage: 10
|
||||
noPages: '&7Нету активных мутов.'
|
||||
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
|
||||
permission:
|
||||
command: '&7У вас нету права на эту команду'
|
||||
|
||||
layout:
|
||||
header:
|
||||
- '&7[&eID&7] &e&oНаказуемый&f'
|
||||
- '&7Обвиняющий &8/ &7Причина &8/ &7Осталось времени'
|
||||
body:
|
||||
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
|
||||
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%'
|
||||
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans mutelist %NEXTPAGE%'
|
||||
|
||||
usage: '&cИспользование: /mutelist &e[страница]'
|
||||
|
||||
history:
|
||||
perPage: 10
|
||||
noPages: '&c&o%TARGET%&7 чист.'
|
||||
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
|
||||
permission:
|
||||
command: '&7У вас нету права на использование данной команды.'
|
||||
|
||||
layout:
|
||||
header:
|
||||
- '&7[&eID&7] &8/ &7Вид наказания&f'
|
||||
- 'Обвиняющий &8/ &7Причина &8/ &7Дата'
|
||||
body:
|
||||
- '&7[&e%ID%&7] / %TYPE%&f'
|
||||
- '%OPERATOR% &8/ &7%REASON% &8/ &7%START_DATE%'
|
||||
footer: '&7Страница &e%PAGE%&7.||ttp:Следуюшая страница||cmd:/libertybans history %TARGET% %NEXTPAGE%'
|
||||
|
||||
usage: '&cИспользование: /history &e<игрок> [страница]'
|
||||
|
||||
|
||||
all:
|
||||
# When issuing commands, if the specified player or IP was not found, what should the error message be?
|
||||
not-found:
|
||||
player-or-address: '&c&o%TARGET%&7 не был/было найден(o).'
|
||||
uuid: '&c&o%TARGET%&7 - неправильный формат uuid.'
|
||||
player: '&c&o%TARGET%&7 не был найден.'
|
||||
|
||||
# If a player types /libertybans but does not have the permission 'libertybans.commands', this is the denial message
|
||||
base-permission-message: '&cТы уверен, что оно тебе нужно? К слову, права на эту команду у тебя нет.'
|
||||
prefix:
|
||||
# If enabled, all messages will be prefixed
|
||||
enable: true
|
||||
# The prefix to use
|
||||
value: '&6&lLibertyBans &8»&7 '
|
||||
|
||||
usage: '&cНеизвестная подкоманда. Может ты имел ввиду это?'
|
||||
|
||||
#
|
||||
# Messages regarding /ban, /mute, /warn, /kick
|
||||
# Includes punishment layouts
|
||||
#
|
||||
#
|
||||
additions:
|
||||
warns:
|
||||
success:
|
||||
notification: '&c&o%OPERATOR%&7 выдал варн &c&o%VICTIM%&7 на &a&o%DURATION%&7 по причине &e&o%REASON%&7.'
|
||||
message: '&c&o%VICTIM%&a получил варн на &o%DURATION%&r&a по причине &e&o%REASON%&a.'
|
||||
|
||||
usage: '&cИспользование: /warn &e<игрок> [время] <причина>&c.'
|
||||
layout:
|
||||
- '&7&lВы получили варн!&f'
|
||||
- '&cДлительность: &e%TIME_REMAINING%&f'
|
||||
- ''
|
||||
- '&cПричина:&f'
|
||||
- '&7%REASON%'
|
||||
permission:
|
||||
duration: '&cВам нельзя варнить игроков на &e%DURATION%&c.'
|
||||
both: '&cYou may not do this to players and their IP addresses.'
|
||||
uuid: '&cВам нельзя варнить других игроков.'
|
||||
ip-address: '&cВам нельзя варнить по ip-адресу.'
|
||||
|
||||
|
||||
kicks:
|
||||
success:
|
||||
notification: '&c&o%OPERATOR%&7 кикнул &c&o%VICTIM%&7 по причине &e&o%REASON%&7.'
|
||||
message: '&c&o%VICTIM%&a был кикнут по причине &e&o%REASON%&a.'
|
||||
|
||||
must-be-online: '&c&o%TARGET%&7 must be online.'
|
||||
usage: '&cИспользование: /kick &e<игрок> <причина>&c.'
|
||||
layout:
|
||||
- '&7&lВас кикнули!&f'
|
||||
- ''
|
||||
- '&cПричина:&f'
|
||||
- '&7%REASON%'
|
||||
permission:
|
||||
both: '&cВам нельзя кикать игроков.'
|
||||
uuid: '&cВам нельзя кикать игроков по uuid/нику.'
|
||||
ip-address: '&cВам нельзя кикать по ip-адресу.'
|
||||
|
||||
|
||||
bans:
|
||||
conflicting: '&c&o%TARGET%&7 уже заблокирован.'
|
||||
success:
|
||||
notification: '&c&o%OPERATOR%&7 заблокировал &c&o%VICTIM%&7 на &a&o%DURATION%&7 по причине &e&o%REASON%&7.'
|
||||
message: '&c&o%VICTIM%&a заблокирован на &o%DURATION%&r&a по причине &e&o%REASON%&a.'
|
||||
|
||||
usage: '&cИспользование: /ban &e<игрок> [длительность] <причина>&c.'
|
||||
layout:
|
||||
- '&7&lВы заблокированы на этом сервере.&f'
|
||||
- '&cДлительность бана: &e%TIME_REMAINING%&f'
|
||||
- ''
|
||||
- '&cПричина&f'
|
||||
- '&7%REASON%&f'
|
||||
- ''
|
||||
- '&3По поводу разбана пишите в тех.поддержку:&f'
|
||||
- '&cwww.support.com'
|
||||
permission:
|
||||
duration: '&cТебе нельзя банить на &e%DURATION%&c.'
|
||||
both: '&cВы не можете блокировать игроков.'
|
||||
uuid: '&cВы не можете банить игроков по uuid/нику.'
|
||||
ip-address: '&cВы не можете банить игроков по ip!.'
|
||||
|
||||
|
||||
mutes:
|
||||
conflicting: '&c&o%TARGET%&7 уже заглушён.'
|
||||
success:
|
||||
notification: '&c&o%OPERATOR%&7 заглушил &c&o%VICTIM%&7 на &a&o%DURATION%&7 по причине &e&o%REASON%&7.'
|
||||
message: '&c&o%VICTIM%&a заглушён на &o%DURATION%&r&a по причине &e&o%REASON%&a.'
|
||||
|
||||
usage: '&cИспользование: /mute &e<игрок> [длительность] <причина>&c.'
|
||||
layout:
|
||||
- '&7&lВы получили мут!&f'
|
||||
- '&cДлительность: &e%TIME_REMAINING%&f'
|
||||
- ''
|
||||
- '&cПричина:&f'
|
||||
- '&7%REASON%'
|
||||
permission:
|
||||
duration: '&cВам нельзя мутить на &e%DURATION%&c.'
|
||||
both: '&cВы не можете мутить игроков.'
|
||||
uuid: '&cВы не можете мутить игроков по uuid/нику.'
|
||||
ip-address: '&cВы не можете мутить игроков по ip-адресу.'
|
||||
|
||||
|
||||
|
||||
# Regards /unban, /unmute, /unwarn
|
||||
removals:
|
||||
warns:
|
||||
success:
|
||||
notification: '&c&o%UNOPERATOR%&7 снял предупреждение с &c&o%VICTIM%&7.'
|
||||
message: '&7C &c&o%VICTIM% &7снято предупреждение.'
|
||||
|
||||
not-found: 'У &c&o%TARGET%&7 нету предупреждений с id &c&o%ID%&7.'
|
||||
not-a-number: '&c&o%ID_ARG%&7 не является номером.'
|
||||
usage: '&cИспользование: /unwarn &e<игрок> <id>&c.'
|
||||
permission:
|
||||
both: '&cВы не можете снимать предупреждения.'
|
||||
uuid: '&cВы не можете снимать предупрежедния по uuid/нику.'
|
||||
ip-address: '&cВы не можете снимать предупреждения по ip-адресу.'
|
||||
|
||||
|
||||
bans:
|
||||
success:
|
||||
notification: '&c&o%UNOPERATOR%&7 разбанил &c&o%VICTIM%&7.'
|
||||
message: '&7Снят бан с аккаунта &c&o%VICTIM%&7.'
|
||||
|
||||
not-found: '&c&o%TARGET%&7 не заблокирован.'
|
||||
usage: '&cИспользование: /unban &e<игрок>&c.'
|
||||
permission:
|
||||
both: '&cВы не можете разбанивать игроков..'
|
||||
uuid: '&cВы не можете разбанивать игроков по uuid/нику.'
|
||||
ip-address: '&cВы не можете разбанивать игроков по ip-адресу.'
|
||||
|
||||
|
||||
mutes:
|
||||
success:
|
||||
notification: '&c&o%UNOPERATOR%&7 размутил &c&o%VICTIM%&7.'
|
||||
message: '&7С &c&o%VICTIM%&7 снят мут.'
|
||||
|
||||
not-found: '&c У &o%TARGET%&7 нету мута.'
|
||||
usage: '&cИспользование: /unmute &e<игрок>&c.'
|
||||
permission:
|
||||
both: '&cYou may not do this to players and their IP addresses.'
|
||||
uuid: '&cВам нельзя размучивать других игроков.'
|
||||
ip-address: '&cВам нельзя размучивать по ip-адрессу.'
|
||||
|
||||
|
||||
|
||||
# Specific formatting options
|
||||
formatting:
|
||||
# When using /blame, how should the console be specified?
|
||||
console-arguments:
|
||||
- 'console'
|
||||
# How should 'permanent' be displayed as a length of time?
|
||||
permanent-display:
|
||||
# When does a permanent punishment end?
|
||||
absolute: 'Никогда'
|
||||
# What do you call a permanent duration?
|
||||
duration: 'Бесконечное'
|
||||
# How do you describe the time remaining in a permanent punishment?
|
||||
relative: 'Навеки вечные'
|
||||
|
||||
# When there is no more time remaining in a punishment (the punishment has expired),
|
||||
# this becomes the value of the %TIME_REMAINING% variable
|
||||
no-time-remaining-display: 'N/A'
|
||||
# How should the %HAS_EXPIRED% variable be displayed?
|
||||
punishment-expired-display:
|
||||
# How do you describe an expired punishment?
|
||||
expired: 'Более неактивен'
|
||||
# How do you describe a punishment which is not expired?
|
||||
not-expired: 'Активен'
|
||||
|
||||
# How should the console be displayed?
|
||||
console-display: 'Консоль'
|
||||
# How should punishment types be displayed?
|
||||
punishment-type-display:
|
||||
WARN: 'Предупрежедние'
|
||||
MUTE: 'Мут'
|
||||
KICK: 'Кик'
|
||||
BAN: 'Бан'
|
||||
|
||||
# How should punishment types be displayed as a verb? Used for the %TYPE_VERB% variable.
|
||||
punishment-type-verb-display:
|
||||
WARN: 'Предупрежден'
|
||||
KICK: 'Кикнут'
|
||||
MUTE: 'Заглушен'
|
||||
BAN: 'Заблокирован'
|
||||
|
||||
# How should the global scope be displayed?
|
||||
global-scope-display: 'Все сервера'
|
||||
# There are 2 ways to make permanent punishments. The first is to not specify a time (/ban <player> <reason>).
|
||||
# The second is to specify a permanent amount of time (/ban <player> perm <reason>).
|
||||
# When typing commands, what time arguments will be counted as permanent?
|
||||
permanent-arguments:
|
||||
- 'perm'
|
||||
- 'permanent'
|
||||
- 'permanently'
|
||||
|
||||
misc:
|
||||
# Concerns formatting of relative times and durations
|
||||
time:
|
||||
grammar:
|
||||
# What should come before the last fragment? Set to empty text to disable
|
||||
and: 'и '
|
||||
# If enabled, places commas after each time fragment, except the last one
|
||||
comma: true
|
||||
|
||||
# Times are formatted to seconds accuracy, but you may not want to display seconds
|
||||
# for most times. However, for very small durations, you need to display a value in seconds.
|
||||
# If you are using SECONDS in the above section, this value is meaningless.
|
||||
fallback-seconds: '%VALUE% секунд(ы)'
|
||||
fragments:
|
||||
MONTHS: '%VALUE% месяцев'
|
||||
MINUTES: '%VALUE% минут(ы)'
|
||||
WEEKS: '%VALUE% недель'
|
||||
HOURS: '%VALUE% час(а/ов)'
|
||||
DAYS: '%VALUE% дней'
|
||||
YEARS: '%VALUE% лет'
|
||||
|
||||
|
||||
unknown-error: '&cПроизошла неизвестная ошибка.'
|
||||
# Only applicable if synchronous enforcement strategy is DENY in the main config
|
||||
sync-chat-denial-message: '&cСинхронный чат отключён. &7Попробуйте еще раз позже.'
|
||||
|
||||
admin:
|
||||
importing:
|
||||
failure: '&cИмпорт данных завершился! Больше информации в консоли.'
|
||||
started: '&7Импорт данных закончился неудачей. Больше информации в консоли.'
|
||||
complete: '&7Импорт данных успешно завершён.'
|
||||
# To prevent mistakes, it is not allowed to import multiple times at once.
|
||||
in-progress: '&cИмпорт данных уже запущен! Пожалуйста, дождитесь его окончания.'
|
||||
usage: '&cИспользование: /libertybans import <advancedban|litebans|vanilla>'
|
||||
|
||||
ellipses: '&a...'
|
||||
reloaded: '&aПерезагружено'
|
||||
restarted: '&aПерезапущено'
|
||||
no-permission: '&Извините, но вам не дозволено использовать это.'
|
||||
|
||||
# Messages for alt-checks and alt account notifications
|
||||
#
|
||||
# Before configuring this section, it is necessary to look at the address-enforcement
|
||||
# settings in the main config.yml and understand the different kinds of alt detection.
|
||||
# There is normal and strict detection.
|
||||
alts:
|
||||
# Regarding the /alts command
|
||||
command:
|
||||
# The message to display atop the alt check. Set to an empty string to disable
|
||||
header:
|
||||
- '&7Возможные фейковые аккаунты игрока &c&o%TARGET%&f'
|
||||
- '&7Большая вероятность - У игрока тот же адресс, что и у заблокированного игрока.&f'
|
||||
- '&7Небольшая вероятность - У игроков один и тот же предыдущий адрес.'
|
||||
permission: '&cВам не дозволено проверять твинки.'
|
||||
none-found: '&7Не найдено фейковых аккаунтов.'
|
||||
usage: '&cИспользование: /alts &e<игрок>&c.'
|
||||
|
||||
formatting:
|
||||
# The description for an alt account detected by strict detection.
|
||||
strict: '&eНебольшая вероятность'
|
||||
# The description for an alt account detected by normal detection.
|
||||
normal: '&cБольшая вероятность'
|
||||
# In the alt-check layout, the username of the alt may be formatted depending upon whether it is banned
|
||||
# For example, the usernames of banned alts may be colored red whereas alts not banned are green
|
||||
# Variables: %USERNAME%
|
||||
name-display:
|
||||
not-punished: '&o%USERNAME%'
|
||||
banned: '&c&o%USERNAME%'
|
||||
muted: '&e&o%USERNAME%'
|
||||
|
||||
# How a single detected alt should be displayed
|
||||
# Available variables:
|
||||
# %DETECTION_KIND% - how the account was detected. Will be replaced by the normal or strict options.
|
||||
# %ADDRESS% - the address in question which led to the detection
|
||||
# %RELEVANT_USER% - the username of the other account, formatted according to the name-display option
|
||||
# %RELEVANT_USERID% - the uuid of the other account
|
||||
# %DATE_RECORDED% - the date the alt account was recorded
|
||||
layout: '%RELEVANT_USER% &7(%ADDRESS%) на %DATE_RECORDED% - %DETECTION_KIND%'
|
||||
|
||||
auto-show:
|
||||
# The message to display atop the alt check. Set to an empty string to disable
|
||||
header:
|
||||
- 'Возможно, &c&o%TARGET%&7. - фейковый аккаунт.&f'
|
||||
- '&7Большая вероятность - У игрока тот же адрес, что и у заблокированного игрока.&f'
|
||||
- '&7Небольшая вероятность - У игроков один и тот же предыдущий адрес.'
|
||||
|
||||
|
||||
# Configuration for the /accounthistory command
|
||||
account-history:
|
||||
# Pertains to /accounthistory delete <user> <timestamp>
|
||||
delete:
|
||||
permission: '&cВы не можете удалять записанные аккаунты.'
|
||||
no-such-account: '&c У %TARGET% не было записанных акаунтов в тот момент времени.'
|
||||
usage:
|
||||
- '&cИспользование: /accounthistory delete <пользователь> <момент времент>.&f'
|
||||
- '&7Момент времени измеряется в секундах. Вы можете использовать /accounthistory list для того, чтобы подглядеть возможные значения.'
|
||||
success: '&7Записанный у &e%TARGET% &7аккаунт успешно удалён.'
|
||||
|
||||
# Regards /accounthistory list <user>
|
||||
listing:
|
||||
# The message to display before the account listing. Set to an empty string to disable
|
||||
header: '&7Известные аккаунты у &c&o%TARGET%&7:.'
|
||||
permission: '&cВы не можете просматривать записанные аккаунты.'
|
||||
none-found: '&7Не найдено записанных акаунтов.'
|
||||
usage: '&cИспользование: /accounthistory list <user|ip>'
|
||||
# How a single recorded account should be displayed
|
||||
# Available variables:
|
||||
# %TARGET% - the original input to the command
|
||||
# %USERNAME% - the username the player connected with
|
||||
# %ADDRESS% - the address the player connected with
|
||||
# %DATE_RECORDED% - the date the join was recorded
|
||||
# %DATE_RECORDED_RAW% - the raw timestamp the join was recorded
|
||||
layout: '%USERNAME% &7(%ADDRESS%) на %DATE_RECORDED% (%DATE_RECORDED_RAW%)||ttp:&7Нажми здесь, чтобы удалить аккаунт||cmd:/accounthistory delete %TARGET% %DATE_RECORDED_RAW%'
|
||||
|
||||
usage: '&cИспользование: /accounthistory <delete|list>'
|
||||
|
48
src/plugins/LibertyBans/scope.yml
Normal file
48
src/plugins/LibertyBans/scope.yml
Normal file
@ -0,0 +1,48 @@
|
||||
# This file is for proxies like BungeeCord and Velocity. It is irrelevant for single servers.
|
||||
# It controls scope-related settings for this particular server on the network.
|
||||
#
|
||||
# Unlike other configuration files, one should NOT copy the scope.yml across multiple server instances
|
||||
# Whether to require permissions for using scopes:
|
||||
# - libertybans.scope.global, libertybans.scope.server.<server>, and libertybans.scope.category.<category>
|
||||
# become requirements to use the relevant scopes explicitly.
|
||||
# - libertybans.scope.default must be granted to use commands without a scope argument
|
||||
require-permissions: false
|
||||
# The default scope used to punish players
|
||||
#
|
||||
# GLOBAL - uses the global scope
|
||||
# THIS_SERVER - applies to this server only via the server name
|
||||
# PRIMARY_CATEGORY - uses the first category listed in 'categories-applicable-to-this-server'.
|
||||
#
|
||||
# If you use PRIMARY_CATEGORY but no categories are configured, a warning is printed and THIS_SERVER is used.
|
||||
default-punishing-scope: 'GLOBAL'
|
||||
# The scope categories applicable to this server
|
||||
#
|
||||
# For example, multiple servers might fall under the 'kitpvp' category,
|
||||
# then staff members may use '-category=kitpvp' to create punishment applying to these servers
|
||||
categories-applicable-to-this-server: []
|
||||
# Controls how the name of this server is detected for use with the server scope.
|
||||
#
|
||||
# The server name should correspond to the name of the backend server as configured on the proxy.
|
||||
# The name of the proxy itself is 'proxy' by default, unless overridden.
|
||||
server-name:
|
||||
# Auto detection requires a player to have logged in. But you might punish players, e.g. via console, before that.
|
||||
# By default, if auto detection has not yet occurred, the global scope will be used as a fallback.
|
||||
# The fallback scope may be configured here to something else.
|
||||
fallback-if-auto-detect-fails: '*'
|
||||
# By default, we try to detect the name of this backend server using plugin messaging.
|
||||
# Make sure 'use-plugin-messaging' is enabled in the config.yml for this detection to succeed.
|
||||
#
|
||||
# If running a proxy, the detected name becomes 'proxy'.
|
||||
#
|
||||
# Plugin messaging requires at least one player to have logged into the backend server.
|
||||
# Auto detection may fail, for example, if you ban someone through the console but no one has joined yet.
|
||||
#
|
||||
# To disable auto detection, set this to false then configure 'override-value' to the server name you wish to use.
|
||||
# Re-enabling this option may require a restart (/libertybans restart)
|
||||
auto-detect: true
|
||||
# If auto detection is disabled, this option should be set to the name of the server.
|
||||
#
|
||||
# Server names should be unique, but this is not a strict requirement.
|
||||
# If you want a scope applying to multiple servers, you should use categories instead.
|
||||
override-value: 'myserver'
|
||||
|
119
src/plugins/LibertyBans/sql.yml
Normal file
119
src/plugins/LibertyBans/sql.yml
Normal file
@ -0,0 +1,119 @@
|
||||
#
|
||||
# SQL Database settings
|
||||
#
|
||||
# For most servers, the default options here are perfect. Most users will not need to bother here.
|
||||
#
|
||||
# However, for servers wishing to use an external database, or for large servers wishing to tweak performance,
|
||||
# further configuration is made here.
|
||||
#
|
||||
# Database version requirements:
|
||||
# - MariaDB: Requires MariaDB 10.6 or newer.
|
||||
# - MySQL: Requires MySQL 8.0 or newer.
|
||||
# - PostgreSQL: Requires PostgreSQL 12 or newer.
|
||||
# - CockroachDB: Requires the latest version. Support for this database is experimental.
|
||||
#
|
||||
# Older versions of these respective databases are not supported.
|
||||
#
|
||||
# Information on character sets and encoding:
|
||||
# - MariaDB: UTF8 is configured automatically
|
||||
# - MySQL: UTF8 is configured automatically
|
||||
# - PostgreSQL: UTF8 is used for the client encoding. It may be necessary to configure the database collation to use UTF8.
|
||||
# - CockroachDB: This database uses UTF8 regardless.
|
||||
#
|
||||
# Note well:
|
||||
# To apply changes made here, use '/libertybans restart' or restart the server.
|
||||
# Using '/libertybans reload' will NOT update your database settings!
|
||||
#
|
||||
#
|
||||
#
|
||||
# Settings for synchronizing multiple LibertyBans instances.
|
||||
synchronization:
|
||||
# How frequently the database is polled for updates, in milliseconds.
|
||||
# Usually the default setting of 4 seconds will be sufficiently responsive without querying the database too often
|
||||
# If you want to increase responsiveness, lower this value. If you want to reduce database load, increase this value.
|
||||
#
|
||||
# This value MUST be less than 30 seconds.
|
||||
poll-rate-millis: 4000
|
||||
# Availalble synchronization options:
|
||||
# NONE - no synchronization
|
||||
# ANSI_SQL - uses your database to synchronize punishments (called ANSI_SQL because it uses standard SQL)
|
||||
# Other options may be added in the future, upon feature request.
|
||||
mode: 'NONE'
|
||||
|
||||
# All punishments are stored fully in the database, with one exception.
|
||||
# Mutes are cached for a small period of time so that players' chatting does not
|
||||
# flood your database with queries.
|
||||
#
|
||||
# Note: It is likely you do not need to touch this.
|
||||
mute-caching:
|
||||
# How the expiration time should be used. EXPIRE_AFTER_ACCESS is the default,
|
||||
# which means that a cached mute's expiration time will be reset each time it is used.
|
||||
#
|
||||
# Set this to EXPIRE_AFTER_WRITE if there is any program or other instance of LibertyBans
|
||||
# which may modify mutes in the database outside of this instance of LibertyBans.
|
||||
# For example, if you are using a third-party tool which can delete or add mutes,
|
||||
# EXPIRE_AFTER_WRITE is the correct semantic.
|
||||
#
|
||||
# If you are using multi-instance synchronization, this option is set automatically
|
||||
# and you do not need to configure it.
|
||||
#
|
||||
# EXPIRE_AFTER_WRITE will expire the cached mute after a fixed time has elapsed
|
||||
# since the mute was fetched. With EXPIRE_AFTER_ACCESS, the expiration time
|
||||
# will refresh each time the mute is used.
|
||||
expiration-semantics: 'EXPIRE_AFTER_ACCESS'
|
||||
# How long it takes a mute to expire
|
||||
expiration-time-seconds: 20
|
||||
|
||||
#
|
||||
# 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: 'minecraft_db'
|
||||
password: '0000'
|
||||
user: 'minecraft'
|
||||
host: '127.0.0.1'
|
||||
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
|
BIN
src/plugins/LibertyBans_Release-1.1.0.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/LibertyBans_Release-1.1.0.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user