diff --git a/config (1).yml b/config (1).yml
new file mode 100644
index 0000000..3542f50
--- /dev/null
+++ b/config (1).yml
@@ -0,0 +1,317 @@
+version: "1.1.19"
+# Available serializers:
+# LEGACY_AMPERSAND - "&c&lExample &c&9Text".
+# LEGACY_SECTION - "§c§lExample §c§9Text".
+# MINIMESSAGE - "Example Text". (https://webui.adventure.kyori.net/)
+# GSON - "[{"text":"Example","bold":true,"color":"red"},{"text":" ","bold":true},{"text":"Text","bold":true,"color":"blue"}]". (https://minecraft.tools/en/json_text.php/)
+# GSON_COLOR_DOWNSAMPLING - Same as GSON, but uses downsampling.
+serializer: MINIMESSAGE
+prefix: "&f"
+
+# Don't use \n, use {NL} for new line, and {PRFX} for prefix.
+main:
+ # Check if player's Minecraft client sends the network packet with the settings.
+ check-client-settings: true
+ # Check if player's Minecraft client has a brand.
+ check-client-brand: true
+ # If a player's Minecraft client brand (e.g., fabric or forge) is set here, then that player will be kicked.
+ blocked-client-brands:
+ - "brand1"
+ - "brand2"
+ # Time in milliseconds, how frequently will the cache list with verified players be reset. Before that time, verified players can join the server without passing antibot checks.
+ purge-cache-millis: 3600000
+ # Max attempts, which a player has to solve the captcha.
+ captcha-attempts: 3
+ # Duration of Falling Check in Minecraft ticks (1 tick = 0.05 second, 20 ticks = 1 second).
+ falling-check-ticks: 128
+ # Maximum time to check the player in milliseconds. If the player stays on the filter limbo for longer than this time, then the check will fail.
+ time-out: 45000
+ # Same, but for Geyser users.
+ geyser-time-out: 90000
+ # The timeout for Netty. Max ping while being on the filter limbo. Used to remove useless buffers from RAM.
+ max-ping: 3500
+ # Change the parameters below only if you know what they mean.
+ non-valid-position-xz-attempts: 10
+ non-valid-position-y-attempts: 10
+ max-valid-position-difference: 0.01
+ # Parameter for developers and contributors.
+ falling-check-debug: false
+ # Should captcha be displayed in the left hand. May cause problems with entering captcha for users with 4:3 monitors. Version: 1.9+
+ captcha-left-hand: false
+ # Available states: ONLY_POSITION, ONLY_CAPTCHA, CAPTCHA_POSITION, CAPTCHA_ON_POSITION_FAILED
+ # Meaning:
+ # ONLY_POSITION -> Only falling check (Player will be spawned in the void, server will check player's coordinates, speed, acceleration).
+ # ONLY_CAPTCHA -> Only captcha (Map items with a captcha image will be given to the players, players need to solve captcha, and send the answer in the chat).
+ # CAPTCHA_POSITION -> Falling and Captcha checking concurrently (Player will be kicked, if he fails either falling check or captcha checking).
+ # CAPTCHA_ON_POSITION_FAILED -> Initially, the falling check will be started, but if the player fails that check, the captcha checking will be started.
+ check-state: CAPTCHA_POSITION
+ # See "filter-auto-toggle.check-state-toggle".
+ check-state-non-toggled: CAPTCHA_ON_POSITION_FAILED
+ # See "filter-auto-toggle.check-state-toggle".
+ geyser-check-state: CAPTCHA_POSITION
+ # See "filter-auto-toggle.check-state-toggle".
+ geyser-check-state-non-toggled: CAPTCHA_ON_POSITION_FAILED
+ load-world: false
+ # World file types:
+ # SCHEMATIC (MCEdit .schematic, 1.12.2 and lower, not recommended)
+ # STRUCTURE (structure block .nbt, any Minecraft version is supported, but the latest one is recommended).
+ # WORLDEDIT_SCHEM (WorldEdit .schem, any Minecraft version is supported, but the latest one is recommended).
+ world-file-type: STRUCTURE
+ world-file-path: "world.nbt"
+ # World time in ticks (24000 ticks == 1 in-game day)
+ world-ticks: 4000
+ # World light level (from 0 to 15)
+ world-light-level: 15
+ # Should we override block light level (to light up the nether and the end)
+ world-override-block-light-level: true
+ # Available: ADVENTURE, CREATIVE, SURVIVAL, SPECTATOR
+ game-mode: ADVENTURE
+ # Should we prevent the player from falling after passing the fall check, or after they join the game when the ONLY_CAPTCHA mode is enabled
+ # This might be useful when using a world schema to allow players to walk in that world
+ disable-falling-on-captcha: true
+ # Unit of time in seconds for the Auto Toggles and Statistics.
+ unit-of-time-cps: 300
+ # Unit of time in seconds for the Auto Toggles and the Statistics.
+ unit-of-time-pps: 5
+ # Time in milliseconds how much we should wait before re-enabling logs after attacks
+ log-enabler-check-refresh-rate: 1000
+ # Duration (in seconds) between regeneration of captchas
+ captcha-regenerate-rate: 3600
+ # Coordinates for the falling check
+ falling-coords:
+ x: 0
+ y: 512
+ z: 0
+ teleport-id: 44
+ # A "USERNAME - IP" list containing information about players who should join the server without verification.
+ whitelisted-players:
+ - username: "TestUser123"
+ ip: "127.0.0.1"
+ # Minimum/maximum total connections amount per the unit of time to toggle anti-bot checks.
+ # -1 to disable the check.
+ # 0 to enable on any connections per the unit of time.
+ filter-auto-toggle:
+ # All players will bypass all anti-bot checks
+ all-bypass: 0
+ # Online mode players will bypass all anti-bot checks.
+ # Doesn't work with online-mode-verify: -1
+ online-mode-bypass: 49
+ # Geyser players will bypass all anti-bot checks.
+ geyser-bypass: 0
+ # Verify Online Mode connection before AntiBot.
+ # If connections per unit of time amount is bigger than the limit: online mode players will need to reconnect.
+ # Else: Some attacks can consume more cpu and network, and can lead to long-lasting Mojang rate-limiting.
+ # Only works if you have an auth plugin installed. In other cases you should configure need-to-reconnect parameter
+ online-mode-verify: 79
+ # Toggles check-state/check-state-non-toggled.
+ # It is not recommended to enable it, if you want to protect your server from spam-bots.
+ # If connections per unit of time amount is bigger than the limit: check-state will be used.
+ # Else: check-state-non-toggled will be used.
+ check-state-toggle: 0
+ # The player will need to reconnect after passing the AntiBot check.
+ need-to-reconnect: 129
+ # Picture in the MOTD Server Ping packet will be disabled.
+ disable-motd-picture: 25
+ # All the log messages from all plugins will be disabled.
+ disable-log: 129
+ world-coords:
+ x: -4
+ y: 250
+ z: -1
+ captcha-generator:
+ # Prepares Captcha packets, consumes x8 more RAM, but improves CPU performance during bot attacks. It's recommended to disable it, if you have less than 2GB of RAM.
+ prepare-captcha-packets: false
+ # List of paths to the background image to draw on captcha. Any format, 128x128 128x128 px (will be automatically resized and stretched to the correct size). [] if empty.
+ backplate-paths:
+ - "el1.png"
+ - "el2.png"
+ - "el3.png"
+ - "el4.png"
+ # Path to the font files to draw on captcha (ttf), can be empty.
+ fonts-path:
+ - "font.ttf"
+ # Use standard fonts(SANS_SERIF/SERIF/MONOSPACED), use false only if you provide fonts path
+ use-standard-fonts: false
+ letter-offset-x: 12
+ letter-offset-y: 0
+ font-letter-spacing-x: -20
+ font-letter-spacing-y: 0
+ render-font-size: 72.0
+ font-letter-width: 44
+ font-letter-height: 128
+ font-outline: false
+ font-rotate: true
+ font-ripple: true
+ font-ripple-amplitude-width: 100.0
+ font-ripple-amplitude-height: 10.0
+ font-outline-rate: 1.25
+ font-outline-offset-x: -4
+ font-outline-offset-y: 4
+ font-outline-override-radius: 1
+ # Set 0 to disable
+ curve-size: 5
+ # Set 0 to disable
+ curves-amount: 5
+ # RGB colors without #
+ curves-colors:
+ - "000000"
+ strikethrough: false
+ underline: false
+ pattern: "abcdefhijklmnprstuvwxyz12345678"
+ # If enabled, both lowercase and uppercase captcha answers entered by players will be correct
+ ignore-case: true
+ length: 4
+ images-count: 600
+ number-spelling: false
+ # Set to true if you want to verify the number spelling configuration.
+ # Results will be saved to the number_spelling.txt file.
+ save-number-spelling-output: false
+ each-word-on-separate-line: true
+ # If the number ends with any key specified here, the corresponding value will be used.
+ # For example: if exception 11 is specified with value 'eleven', the number 411 will be spelt as 'four hundred eleven'.
+ number-spelling-exceptions:
+ "11": "одиннадцать"
+ "12": "двенадцать"
+ "13": "тринадцать"
+ "14": "четырнадцать"
+ "15": "пятнадцать"
+ "16": "шестнадцать"
+ "17": "семнадцать"
+ "18": "восемнадцать"
+ "19": "девятнадцать"
+ # null or "" means that the digit should be skipped.
+ # Note: all the characters used here (including the space) must be listed in pattern.
+ number-spelling-words:
+ - - ""
+ - "один"
+ - "два"
+ - "три"
+ - "четыре"
+ - "пять"
+ - "шесть"
+ - "семь"
+ - "восемь"
+ - "девять"
+ - - ""
+ - "десять"
+ - "двадцать"
+ - "тридцать"
+ - "сорок"
+ - "пятьдесят"
+ - "шестьдесят"
+ - "семьдесят"
+ - "восемьдесят"
+ - "девяносто"
+ - - ""
+ - "сто"
+ - "двести"
+ - "триста"
+ - "четыреста"
+ - "пятьсот"
+ - "шестьсот"
+ - "семьсот"
+ - "восемьсот"
+ - "девятьсот"
+ rgb-color-list:
+ - "00AA00"
+ - "0000AA"
+ - "AA00AA"
+ - "00AAAA"
+ - "C20000"
+ - "E6BA00"
+ gradient:
+ gradient-enabled: true
+ gradients-count: 40
+ start-x: 0.0
+ start-y: 40.0
+ end-x: 128.0
+ end-y: 80.0
+ start-x-randomness: 0.0
+ start-y-randomness: 2.0
+ end-x-randomness: 0.0
+ end-y-randomness: 2.0
+ # Numbers ranging from 0.0 to 1.0 specifying the distribution of colors along the gradient. Can be empty.
+ fractions: null
+ framed-captcha:
+ framed-captcha-enabled: true
+ width: 5
+ height: 3
+ frame-rotation-chance: 0.0
+ autoscale-font: true
+ coords:
+ x: -4
+ y: 251
+ z: 3
+ offset-1-7:
+ x: 0
+ y: -2
+ z: 1
+ # Available dimensions: OVERWORLD, NETHER, THE_END
+ botfilter-dimension: OVERWORLD
+ coords:
+ captcha-x: -1.5
+ # If your server supports Minecraft 1.7, don't set captcha-y to 0. https://media.discordapp.net/attachments/878241549857738793/915165038464098314/unknown.png
+ captcha-y: 251.0
+ captcha-z: 0.5
+ captcha-yaw: 0.0
+ captcha-pitch: 0.0
+ falling-check-yaw: 90.0
+ falling-check-pitch: 10.0
+ tcp-listener:
+ # Experimental proxy check feature
+ # Checks the proxy via comparing L4 (TCP PSH+ACK -> TCP ACK) and L7 (Minecraft KeepAlive) ping
+ # Works better with falling check enabled (150+ falling-check-ticks)
+ # Needs libpcap (libpcap-dev) on Linux; WinPcap/npcap on Windows
+ # Needs CAP_NET_RAW (or super-user) on Linux
+ # Doesn't work if Velocity is behind reverse-proxy (haproxy, protection services, etc)
+ proxy-detector-enabled: false
+ # Difference between TCP (L4) and Minecraft (L7) ping in milliseconds to detect proxies.
+ proxy-detector-difference: 5
+ interface-name: "any"
+ # How many bytes we should take from the each frame to analyse. 120 is enough for any TCP+IP header analysing
+ snaplen: 120
+ # How many milliseconds should the delay be between frame analysis.
+ listen-delay: 50
+ # Time in millis for capturing frames
+ timeout: 10
+ # Log L4 and L7 ping
+ debug-on-fail: false
+ debug-on-success: false
+ # Available values: FALSE, TRUE, PERMISSION
+ # FALSE - the command will be disallowed
+ # TRUE - the command will be allowed if player has false permission state
+ # PERMISSION - the command will be allowed if player has true permission state
+ command-permission-state:
+ # Permission: limbofilter.admin.sendfilter
+ send-filter: PERMISSION
+ # Permission: limbofilter.admin.reload
+ reload: PERMISSION
+ # Permission: limbofilter.admin.stats
+ stats: PERMISSION
+ # Permission: limbofilter.admin.help
+ help: TRUE
+ # Leave title fields empty to disable.
+ strings:
+ reload: "{PRFX} Плагин успешно перезагружен!"
+ client-settings-kick: "{NL}ꜰᴀɪʟᴜʀᴇ{NL}{NL}Ваш клиент не отправляет пакеты настроек."
+ client-brand-kick: "{NL}ꜰᴀɪʟᴜʀᴇ{NL}{NL}Ваш клиент не отправляет пакет данных."
+ proxy-check-kick: "{NL}ꜰᴀɪʟᴜʀᴇ{NL}{NL}Ваше подключение вызывает подозрения."
+ checking-chat: "{NL} ☁ ᴀɴᴛɪʙᴏᴛ{NL} Проходит проверка..{NL}"
+ checking-title: "ᴀɴᴛɪʙᴏᴛ"
+ checking-subtitle: "Пожалуйста, подождите..."
+ checking-captcha-chat: "{NL} ☁ ᴀɴᴛɪʙᴏᴛ{NL} Введите символы с картинки в чат.{NL}{NL} Нажмите на клавишу <T>, чтобы открыть чат.{NL}"
+ checking-wrong-captcha-chat: "{NL} 🔥 ꜰᴀɪʟᴜʀᴇ{NL} Вы ввели неверные символы.{NL}{NL} Пожалуйста, попробуйте ещё раз.{NL}"
+ checking-captcha-title: ""
+ checking-captcha-subtitle: ""
+ successful-cracked: "{NL} ☁ ᴀɴᴛɪʙᴏᴛ{NL} Проверка успешно пройдена!{NL}{NL} Приятной игры!{NL}"
+ successful-premium-kick: "{NL}ᴀɴᴛɪʙᴏᴛ{NL}{NL}Проверка успешно пройдена!{NL}Пожалуйста, присоединяйтесь к серверу!"
+ captcha-failed-kick: "{NL}ꜰᴀɪʟᴜʀᴇ{NL}{NL}Проверка не пройдена.{NL}Пожалуйста, попробуйте ещё раз."
+ falling-check-failed-kick: "{NL}ꜰᴀɪʟᴜʀᴇ{NL}{NL}Проверка не пройдена.{NL}Пожалуйста, попробуйте ещё раз."
+ times-up: "{NL}ᴀɴᴛɪʙᴏᴛ{NL}{NL}Вы превысили максимальное время проверки.{NL}Пожалуйста, перезайдите на сервер."
+ stats-format: "{NL} ☁ sᴛᴀᴛᴜs{NL} Всего заблокировано: {0}{NL} Подключений: {1}s{NL} Пингов: {2}s{NL} Всего подключений: {3}{NL} L7 Пинг: {4}{NL} 4 Пинг: {5}{NL}"
+ stats-enabled: "{NL} ☁ sʏsᴛᴇᴍ{NL} Статистика над панелью быстрого доступа показана."
+ stats-disabled: "{NL} ☁ sʏsᴛᴇᴍ{NL} Статистика над панелью быстрого доступа скрыта."
+ send-player-successful: "{NL} ☁ sʏsᴛᴇᴍ{NL} Успешно отправлено {0} игроков в фильтр лимбо{NL}"
+ send-server-successful: "{NL} ☁ sʏsᴛᴇᴍ{NL} Успешно отправлено {0} игроков из {1} в фильтр лимбо{NL}"
+ send-failed: "🔥 ᴇʀʀᴏʀ{NL} Нет зарегистрированных серверов или подключенных игроков с именем {0}.{NL}"
+ captcha-not-ready-yet: "{NL}ᴀɴᴛɪʙᴏᴛ{NL}{NL}Капча еще не готова. Повторите попытку через несколько секунд."
diff --git a/config.yml b/config.yml
new file mode 100644
index 0000000..07ef2f6
--- /dev/null
+++ b/config.yml
@@ -0,0 +1,327 @@
+version: "1.1.14"
+# Available serializers:
+# LEGACY_AMPERSAND - "&c&lExample &c&9Text".
+# LEGACY_SECTION - "§c§lExample §c§9Text".
+# MINIMESSAGE - "Example Text". (https://webui.adventure.kyori.net/)
+# GSON - "[{"text":"Example","bold":true,"color":"red"},{"text":" ","bold":true},{"text":"Text","bold":true,"color":"blue"}]". (https://minecraft.tools/en/json_text.php/)
+# GSON_COLOR_DOWNSAMPLING - Same as GSON, but uses downsampling.
+serializer: LEGACY_AMPERSAND
+prefix: "&x&F&C&D&0&5&Cᴀ&x&F&1&C&4&5&3ʙ&x&E&5&B&8&4&9ᴏ&x&D&A&A&C&4&0ʙ&x&C&F&A&0&3&6ᴀ&x&C&3&9&4&2&Dᴡ&x&B&8&8&8&2&3ᴏ&x&A&D&7&C&1&Aʀ&x&A&1&7&0&1&0ʟ&x&9&6&6&4&0&7ᴅ"
+
+# Don't use \n, use {NL} for new line, and {PRFX} for prefix.
+main:
+ # Maximum time for player to authenticate in milliseconds. If the player stays on the auth limbo for longer than this time, then the player will be kicked.
+ auth-time: 60000
+ enable-bossbar: false
+ # Available colors: PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE
+ bossbar-color: YELLOW
+ # Available overlays: PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12, NOTCHED_20
+ bossbar-overlay: NOTCHED_20
+ min-password-length: 6
+ # Max password length for the BCrypt hashing algorithm, which is used in this plugin, can't be higher than 71. You can set a lower value than 71.
+ max-password-length: 70
+ check-password-strength: true
+ unsafe-passwords-file: "unsafe_passwords.txt"
+ # Players with premium nicknames should register/auth if this option is enabled
+ # Players with premium nicknames must login with a premium Minecraft account if this option is disabled
+ online-mode-need-auth: false
+ # WARNING: its experimental feature, so disable only if you really know what you are doing
+ # When enabled, this option will keep default 'online-mode-need-auth' behavior
+ # When disabled, this option will disable premium authentication for unregistered players if they fail it once,
+ # allowing offline-mode players to use online-mode usernames
+ # Does nothing when enabled, but when disabled require 'save-premium-accounts: true', 'online-mode-need-auth: false' and 'purge_premium_cache_millis > 100000'
+ online-mode-need-auth-strict: false
+ # Needs floodgate plugin if disabled.
+ floodgate-need-auth: true
+ # TOTALLY disables hybrid auth feature
+ force-offline-mode: false
+ # Forces all players to get offline uuid
+ force-offline-uuid: false
+ # If enabled, the plugin will firstly check whether the player is premium through the local database, and secondly through Mojang API.
+ check-premium-priority-internal: true
+ # Delay in milliseconds before sending auth-confirming titles and messages to the player. (login-premium-title, login-floodgate, etc.)
+ premium-and-floodgate-messages-delay: 1250
+ # Forcibly set player's UUID to the value from the database
+ # If the player had the cracked account, and switched to the premium account, the cracked UUID will be used.
+ save-uuid: true
+ # Saves in the database the accounts of premium users whose login is via online-mode-need-auth: false
+ # Can be disabled to reduce the size of stored data in the database
+ save-premium-accounts: true
+ enable-totp: true
+ totp-need-password: true
+ register-need-repeat-password: true
+ change-password-need-old-password: true
+ # Used in unregister and premium commands.
+ confirm-keyword: "confirm"
+ # This prefix will be added to offline mode players nickname
+ offline-mode-prefix: ""
+ # This prefix will be added to online mode players nickname
+ online-mode-prefix: ""
+ # If you want to migrate your database from another plugin, which is not using BCrypt.
+ # You can set an old hash algorithm to migrate from.
+ # AUTHME - AuthMe SHA256(SHA256(password) + salt) that looks like $SHA$salt$hash (AuthMe, MoonVKAuth, DSKAuth, DBA)
+ # AUTHME_NP - AuthMe SHA256(SHA256(password) + salt) that looks like SHA$salt$hash (JPremium)
+ # SHA256_NP - SHA256(password) that looks like SHA$salt$hash
+ # SHA256_P - SHA256(password) that looks like $SHA$salt$hash
+ # SHA512_NP - SHA512(password) that looks like SHA$salt$hash
+ # SHA512_P - SHA512(password) that looks like $SHA$salt$hash
+ # SHA512_DBA - DBA plugin SHA512(SHA512(password) + salt) that looks like SHA$salt$hash (DBA, JPremium)
+ # MD5 - Basic md5 hash
+ # ARGON2 - Argon2 hash that looks like $argon2i$v=1234$m=1234,t=1234,p=1234$hash
+ # MOON_SHA256 - Moon SHA256(SHA256(password)) that looks like $SHA$hash (no salt)
+ # SHA256_NO_SALT - SHA256(password) that looks like $SHA$hash (NexAuth)
+ # SHA512_NO_SALT - SHA512(password) that looks like $SHA$hash (NexAuth)
+ # SHA512_P_REVERSED_HASH - SHA512(password) that looks like $SHA$hash$salt (nLogin)
+ # SHA512_NLOGIN - SHA512(SHA512(password) + salt) that looks like $SHA$hash$salt (nLogin)
+ # CRC32C - Basic CRC32C hash
+ # PLAINTEXT - Plain text
+ migration-hash: AUTHME
+ # Available dimensions: OVERWORLD, NETHER, THE_END
+ dimension: OVERWORLD
+ purge-cache-millis: 3600000
+ purge-premium-cache-millis: 100000
+ purge-bruteforce-cache-millis: 28800000
+ # Used to ban IPs when a possible attacker incorrectly enters the password
+ bruteforce-max-attempts: 10
+ # QR Generator URL, set {data} placeholder
+ qr-generator-url: "https://api.qrserver.com/v1/create-qr-code/?data={data}&size=200x200&ecc=M&margin=30"
+ totp-issuer: "LimboAuth by Elytrium"
+ bcrypt-cost: 10
+ login-attempts: 3
+ ip-limit-registrations: 4
+ totp-recovery-codes-amount: 16
+ # Time in milliseconds, when ip limit works, set to 0 for disable.
+ ip-limit-valid-time: 21600000
+ # Regex of allowed nicknames
+ # ^ means the start of the line, $ means the end of the line
+ # [A-Za-z0-9_] is a character set of A-Z, a-z, 0-9 and _
+ # {3,16} means that allowed length is from 3 to 16 chars
+ allowed-nickname-regex: "^[A-Za-z0-9_]{3,16}$"
+ load-world: false
+ # World file type:
+ # SCHEMATIC (MCEdit .schematic, 1.12.2 and lower, not recommended)
+ # STRUCTURE (structure block .nbt, any Minecraft version is supported, but the latest one is recommended).
+ # WORLDEDIT_SCHEM (WorldEdit .schem, any Minecraft version is supported, but the latest one is recommended).
+ world-file-type: STRUCTURE
+ world-file-path: "world.nbt"
+ disable-falling: true
+ # World time in ticks (24000 ticks == 1 in-game day)
+ world-ticks: 1000
+ # World light level (from 0 to 15)
+ world-light-level: 15
+ # Available: ADVENTURE, CREATIVE, SURVIVAL, SPECTATOR
+ game-mode: ADVENTURE
+ # Custom isPremium URL
+ # You can use Mojang one's API (set by default)
+ # Or CloudFlare one's: https://api.ashcon.app/mojang/v2/user/%s
+ # Or use this code to make your own API: https://blog.cloudflare.com/minecraft-api-with-workers-coffeescript/
+ # Or implement your own API, it should just respond with HTTP code 200 (see parameters below) only if the player is premium
+ ispremium-auth-url: "https://api.mojang.com/users/profiles/minecraft/%s"
+ # Status codes (see the comment above)
+ # Responses with unlisted status codes will be identified as responses with a server error
+ # Set 200 if you use using Mojang or CloudFlare API
+ status-code-user-exists:
+ - 200
+ # Set 204 and 404 if you use Mojang API, 404 if you use CloudFlare API
+ status-code-user-not-exists:
+ - 204
+ - 404
+ # Set 429 if you use Mojang or CloudFlare API
+ status-code-rate-limit:
+ - 429
+ # Sample Mojang API exists response: {"name":"hevav","id":"9c7024b2a48746b3b3934f397ae5d70f"}
+ # Sample CloudFlare API exists response: {"uuid":"9c7024b2a48746b3b3934f397ae5d70f","username":"hevav", ...}
+ #
+ # Sample Mojang API not exists response (sometimes can be empty): {"path":"/users/profiles/minecraft/someletters1234566","errorMessage":"Couldn't find any profile with that name"}
+ # Sample CloudFlare API not exists response: {"code":404,"error":"Not Found","reason":"No user with the name 'someletters123456' was found"}
+ #
+ # Responses with an invalid scheme will be identified as responses with a server error
+ # Set this parameter to [], to disable JSON scheme validation
+ user-exists-json-validator-fields:
+ - "name"
+ - "id"
+ json-uuid-field: "id"
+ user-not-exists-json-validator-fields: []
+ # If Mojang rate-limits your server, we cannot determine if the player is premium or not
+ # This option allows you to choose whether every player will be defined as premium or as cracked while Mojang is rate-limiting the server
+ # True - as premium; False - as cracked
+ on-rate-limit-premium: true
+ # If Mojang API is down, we cannot determine if the player is premium or not
+ # This option allows you to choose whether every player will be defined as premium or as cracked while Mojang API is unavailable
+ # True - as premium; False - as cracked
+ on-server-error-premium: true
+ register-command:
+ - "/reg"
+ - "/register"
+ login-command:
+ - "/l"
+ - "/login"
+ totp-command:
+ - "/2fa"
+ - "/totp"
+ # New players will be kicked with registrations-disabled-kick message
+ disable-registrations: false
+ # Implement the automatic login using the plugin, the LimboAuth client mod and optionally using a custom launcher
+ # See https://github.com/Elytrium/LimboAuth-ClientMod
+ mod:
+ enabled: true
+ # Should the plugin forbid logging in without a mod
+ login-only-by-mod: false
+ # The key must be the same in the plugin config and in the server hash issuer, if you use it
+ verify-key: "Y2ltQl2q2RFyzrRmcTrLYzyN"
+ world-coords:
+ x: 0
+ y: 520
+ z: 0
+ auth-coords:
+ x: 0.0
+ y: 520.0
+ z: 0.0
+ yaw: 0.0
+ pitch: 0.0
+ cracked-title-settings:
+ fade-in: 10
+ stay: 70
+ fade-out: 20
+ clear-after-login: false
+ premium-title-settings:
+ fade-in: 10
+ stay: 70
+ fade-out: 20
+ backend-api:
+ # Should backend API be enabled?
+ # Required for PlaceholderAPI expansion to work (https://github.com/UserNugget/LimboAuth-Expansion)
+ enabled: false
+ # Backend API token
+ token: "19dgqcbgwg8ta"
+ # Available endpoints:
+ # premium_state, hash, totp_token, login_date, reg_date, token_issued_at,
+ # uuid, premium_uuid, ip, login_ip, token_issued_at
+ enabled-endpoints:
+ - "premium_state"
+ - "login_date"
+ - "reg_date"
+ - "uuid"
+ - "premium_uuid"
+ - "token_issued_at"
+ # Available values: FALSE, TRUE, PERMISSION
+ # FALSE - the command will be disallowed
+ # TRUE - the command will be allowed if player has false permission state
+ # PERMISSION - the command will be allowed if player has true permission state
+ command-permission-state:
+ # Permission: limboauth.commands.changepassword
+ change-password: PERMISSION
+ # Permission: limboauth.commands.destroysession
+ destroy-session: PERMISSION
+ # Permission: limboauth.commands.premium
+ premium: PERMISSION
+ # Permission: limboauth.commands.totp
+ totp: PERMISSION
+ # Permission: limboauth.commands.unregister
+ unregister: PERMISSION
+ # Permission: limboauth.admin.forcechangepassword
+ force-change-password: PERMISSION
+ # Permission: limboauth.admin.forceregister
+ force-register: PERMISSION
+ # Permission: limboauth.admin.forcelogin
+ force-login: PERMISSION
+ # Permission: limboauth.admin.forceunregister
+ force-unregister: PERMISSION
+ # Permission: limboauth.admin.reload
+ reload: PERMISSION
+ # Permission: limboauth.admin.help
+ help: TRUE
+ strings:
+ reload: "{PRFX} &f> &aПерезагружено успешно!"
+ error-occurred: "{PRFX} &f> &cПроизошла внутренняя ошибка!"
+ ratelimited: "{PRFX} &f> &cПожалуйста, подождите перед следующим использованием!"
+ database-error-kick: "{PRFX} &f> &cПроизошла ошибка базы данных!"
+ not-player: "{PRFX} &f> &cКонсоли не разрешено выполнять эту команду!"
+ not-registered: "{PRFX} &f> &cВы не зарегистрированы или ваш аккаунт &bПРЕМИУМ!"
+ cracked-command: "{PRFX}{NL}&fВы не можете использовать эту команду, так как ваша учетная запись &6ПРЕМИУМ&f!"
+ wrong-password: "{PRFX} &f> &cНеверный пароль!"
+ nickname-invalid-kick: "{PRFX}{NL}&cВаш никнейм содержит запрещенные символы. Пожалуйста, смените никнейм!"
+ reconnect-kick: "{PRFX}{NL}&cПереподключитесь к серверу, чтобы подтвердить свою учетную запись!"
+ # 6 hours by default in ip-limit-valid-time
+ ip-limit-kick: "{PRFX}{NL}{NL}&cВаш IP достиг максимального количества зарегистрированных учетных записей. Если это ошибка, перезагрузите маршрутизатор или подождите около 6 часов."
+ wrong-nickname-case-kick: "{PRFX}{NL}&fВы должны присоединиться, используя имя пользователя &c{0}&f, а не &c{1}&f."
+ bossbar: "{PRFX} &f> &fУ вас осталось &c{0} &fсекунд для входа в систему."
+ times-up: "{PRFX}{NL}&cВремя авторизации истекло."
+ login-premium: "{PRFX} &f> &fВы вошли в систему автоматически, используя премиум-аккаунт!" # Can be empty.
+ login-premium-title: "{PRFX} &f> &aДобро пожаловать!" # Can be empty.
+ login-premium-subtitle: "&fВы вошли в систему как премиум-игрок!" # Can be empty.
+ login-floodgate: "{PRFX} &f> Вы вошли в систему автоматически, используя учетную запись Bedrock!" # Can be empty.
+ login-floodgate-title: "{PRFX} &f> &aДобро пожаловать!" # Can be empty.
+ login-floodgate-subtitle: "&fВы вошли в систему как основоположник!" # Can be empty.
+ login: "{PRFX} &f> &fИспользование: &5/login &f(пароль)"
+ login-wrong-password: "{PRFX} &f> &cВы ввели неправильный пароль, у вас осталось {0} попыток."
+ login-wrong-password-kick: "{PRFX}{NL}&cВы ввели неправильный пароль несколько раз!"
+ login-successful: "{PRFX} &f> &aУспешно вошли в систему!"
+ login-title: "{PRFX}" # Can be empty.
+ login-subtitle: "&fИспользование: &5/login &f(пароль)" # Can be empty.
+ login-successful-title: "{PRFX}" # Can be empty.
+ login-successful-subtitle: "&aУспешно вошли в систему!" # Can be empty.
+ # Or if register-need-repeat-password set to false remove the "" part.
+ register: "{PRFX} &f> &fИспользование: &5/register &f(пароль) (пароль)"
+ register-different-passwords: "{PRFX} &f> &cВведенные пароли отличаются друг от друга!"
+ register-password-too-short: "{PRFX} &f> &cВы ввели слишком короткий пароль, используйте другой!"
+ register-password-too-long: "{PRFX} &f> &cВы ввели слишком длинный пароль, используйте другой!"
+ register-password-unsafe: "{PRFX} &f> &cВаш пароль ненадежен, используйте другой!"
+ register-successful: "{PRFX} &f> &aУспешно зарегистрирован!"
+ register-title: "{PRFX}" # Can be empty.
+ register-subtitle: "&fИспользование: &5/register &f(пароль) (пароль)" # Can be empty.
+ register-successful-title: "{PRFX}" # Can be empty.
+ register-successful-subtitle: "&aУспешно зарегистрирован!" # Can be empty.
+ unregister-successful: "{PRFX}{NL}&aУспешно незарегистрированный!"
+ unregister-usage: "{PRFX} &f> Использование: &5/unregister &f(текущий пароль) подтвердить"
+ premium-successful: "{PRFX}{NL}&fСостояние учетной записи успешно изменено на &bПРЕМИУМ&f!"
+ already-premium: "{PRFX} &f> &cВаш аккаунт уже &bПРЕМИУМ&c!"
+ not-premium: "{PRFX} &f> &cВаш аккаунт не &bПРЕМИУМ&c!"
+ premium-usage: "{PRFX} &f> Использование: &5/premium &f(текущий пароль) подтвердить"
+ event-cancelled: "{PRFX} &f> Событие авторизации было отменено"
+ force-unregister-successful: "{PRFX} &f> &a{0} &aУспешно незарегистрированный!"
+ force-unregister-kick: "{PRFX}{NL}&aВы были сняты с регистрации администратором!"
+ force-unregister-not-successful: "{PRFX} &f> &cНевозможно отменить регистрацию &c{0}&c. Скорее всего этот игрок никогда не был на этом сервере."
+ force-unregister-usage: "{PRFX} &f> Использование: &5/forceunregister &f(ник)"
+ registrations-disabled-kick: "{PRFX} &f> &cВ настоящее время регистрации отключены."
+ change-password-successful: "{PRFX} &f> &aПароль успешно изменен!"
+ # Or if change-password-need-old-pass set to false remove the "" part.
+ change-password-usage: "{PRFX} &f> &fИспользование: &5/changepassword &f(старый пароль) (новый пароль)"
+ force-change-password-successful: "{PRFX} &f> &fПароль для игрока &a{0} &fуспешно изменен!"
+ force-change-password-message: "{PRFX} &f> &fВаш пароль был изменен на &a{0} &fадминистратором!"
+ force-change-password-not-successful: "{PRFX} &f> &fНевозможно изменить пароль для &a{0}&f. Скорее всего этот игрок никогда не был на этом сервере."
+ force-change-password-not-registered: "{PRFX} &f> &fИгрок &a{0}&f не зарегистрирован."
+ force-change-password-usage: "{PRFX} &f> &fИспользование: &5/forcechangepassword &f(ник) (новый пароль)"
+ force-register-usage: "{PRFX} &f> &fИспользование: &5/forceregister &f(ник) (пароль)"
+ force-register-incorrect-nickname: "{PRFX} &f> &cНик содержит запрещенные символы."
+ force-register-taken-nickname: "{PRFX} &f> &cЭтот ник уже занят."
+ force-register-successful: "{PRFX} &f> Успешно зарегистрированный игрок &a{0}!"
+ force-register-not-successful: "{PRFX} &f> Не могу зарегистрировать игрока &a{0}&f."
+ force-login-usage: "{PRFX} Usage: &6/forcelogin "
+ force-login-successful: "{PRFX} &aSuccessfully authenticated &6{0}&a!"
+ force-login-unknown-player: "{PRFX} &cUnable to find authenticating player with username &6{0}&a!"
+ totp: "{PRFX} &f> Пожалуйста, введите ключ 2FA с помощью &5/2fa &f(ключ)"
+ totp-title: "{PRFX}" # Can be empty.
+ totp-subtitle: "&fВведите ключ 2FA, используя &5/2fa &f(ключ)" # Can be empty.
+ totp-successful: "{PRFX} &f> &aУспешно включил 2FA!"
+ totp-disabled: "{PRFX} &f> &aУспешно отключил 2FA!"
+ # Or if totp-need-pass set to false remove the "" part.
+ totp-usage: "{PRFX} &f> Использование: &5/2fa enable &f(текущий пароль) или &5/2fa disable &f(верхний ключ)."
+ totp-wrong: "{PRFX} &f> &cНеверный ключ 2FA!"
+ totp-already-enabled: "{PRFX} &f> 2FA уже включен. Отключите его с помощью &5/2fa disable &f(ключ)."
+ totp-qr: "{PRFX} &f> Нажмите здесь, чтобы открыть QR-код 2FA в браузере."
+ totp-token: "{PRFX} &f> &fВаш токен двухфакторной аутентификации &7(Нажмите, чтобы скопировать)&f: &a{0}"
+ totp-recovery: "{PRFX} &f> &fВаши коды восстановления &7(Нажмите, чтобы скопировать)&f: &a{0}"
+ destroy-session-successful: "{PRFX} &f> &cВаша сессия теперь уничтожена, вам нужно снова войти в систему после повторного подключения."
+ mod-session-expired: "{PRFX} &f> &cСрок действия вашего сеанса истек, войдите снова."
+
+# Database settings
+database:
+ # Database type: mariadb, mysql, postgresql, sqlite or h2.
+ storage-type: MARIADB
+ # Settings for Network-based database (like MySQL, PostgreSQL):
+ hostname: "100.107.33.61:64000"
+ user: "u20_iAdJFuiHWu"
+ password: "xVXEHtA^u.w9i9sr=IegfKvu"
+ database: "s20_AbobaWorld"
+ connection-parameters: "?autoReconnect=true&initialTimeout=1&useSSL=false"