Configuration

Complete guide to configuring configuration.yml and messages.yml.

Main Configuration (configuration.yml)

License

license-key: "CODE"
OptionTypeDefaultDescription
license-keyString"CODE"Plugin license key

Servers

servers:
  login-servers:
    - "auth-1"
    - "auth-2"
  fallback-server: true
  change-server-after-login: false
  after-login-servers:
    - "lobby-1"
    - "lobby-2"
OptionTypeDefaultDescription
login-serversList["auth-1", "auth-2"]Servers designated for authentication
fallback-serverBooleantrueMove kicked players to a fallback server
change-server-after-loginBooleanfalseMove players to a lobby server after login
after-login-serversList["lobby-1", "lobby-2"]Lobby servers for post-login redirection

Premium API

apis:
  api-type: MOJANG
OptionTypeDefaultDescription
api-typeEnumMOJANGAPI used to verify premium accounts

Available API types:

TypeDescription
MOJANGOfficial Mojang API
ASHCONAshcon API (community)
MINETOOLSMineTools API (community)
CLOUDPROTECTEDCloudProtected API
RANDOMRandomly selects from available APIs

Premium Player Strategy

other-settings:
  paid-players-strategy: PROTECT_PAID_USERNAME
StrategyDescription
PROTECT_PAID_USERNAMEPremium usernames are always protected. Original owners auto-login
ALLOW_TO_CLAIM_PAID_USERNAMEAnyone can claim a premium username. Auto-login activates after /premium
ALLOW_TO_CLAIM_PAID_USERNAME_AUTOAnyone can claim a premium username. Original owners auto-login

Sounds

sounds:
  login-sound: "entity.experience_orb.pickup"
  wrong-password-sound: "entity.bat.hurt"
  register-sound: "block.end_portal_frame.fill"
OptionTypeDescription
login-soundStringSound played on successful login
wrong-password-soundStringSound played on wrong password
register-soundStringSound played on registration

Title Notifications

notifications-title:
  enabled: true
  fade-in: 1
  fade-out: 1
  stay: 3
  notification-title: "&lm i n e L o g i n"
  need-registered: "You need to register."
  need-logged: "You need to log in."
  success-cracked-login: "Success cracked log in!"
  success-premium-login: "Success premium log in!"
  success-session-login: "Success session log in!"
  success-register: "Success account registration."
  required-verification: "Confirm verification!"
OptionTypeDefaultDescription
enabledBooleantrueEnable title notifications
fade-inInteger1Fade in duration (seconds)
fade-outInteger1Fade out duration (seconds)
stayInteger3Stay duration (seconds)

Boss Bar

boss-bar-commands:
  enabled: true
  color: YELLOW
  overlay: PROGRESS
  login-command: "Use login command: /login <password>"
  register-command: "Use register command: /register <password> <password>"
  require-2-fa-command: "Use verification command: /verification verify <code>"
  require-create-2-fa-command: "Create verification by command: /verification enable"
OptionTypeDefaultDescription
enabledBooleantrueEnable command boss bars (1.9+)
colorEnumYELLOWBoss bar color (YELLOW, PURPLE, RED, BLUE, GREEN, WHITE, PINK)
overlayEnumPROGRESSBoss bar style (PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12, NOTCHED_20)

Welcome Picture Head

welcome-picture-head:
  enabled: true
  display-type: ALL_PLAYERS
  only-lobby-servers: true
OptionTypeDefaultDescription
enabledBooleantrueShow player head art in welcome message
display-typeEnumALL_PLAYERSWho sees the head (ALL_PLAYERS, PAID_ONLY)
only-lobby-serversBooleantrueOnly show on lobby servers

Default Skin

default-skin:
  enabled: true
  value: "<base64 texture data>"
  signature: "<base64 signature>"
OptionTypeDefaultDescription
enabledBooleantrueEnable default skin for cracked players
valueStringBase64Skin texture data
signatureStringBase64Skin texture signature

Server Ping / MOTD

server-ping:
  message-of-the-day:
    enabled: true
    messages:
      - "&6แดษชษดแด‡สŸแดษขษชษด &8- &7authentication server"
  players-info:
    enabled: true
    messages:
      - "Welcome to the server!"
  version-protocol:
    enabled: true
    protocol: -1
    message: "&e{online} &7players"
OptionTypeDescription
message-of-the-day.enabledBooleanEnable custom MOTD
message-of-the-day.messagesListMOTD lines
players-info.enabledBooleanEnable custom hover text on player count
players-info.messagesListHover text lines
version-protocol.enabledBooleanEnable custom version text
version-protocol.protocolIntegerProtocol version (-1 for custom display)
version-protocol.messageStringVersion text ({online} placeholder available)

Proxy Settings

proxy:
  between-connections: "30ms"
OptionTypeDefaultDescription
between-connectionsDuration30msDelay between consecutive player connections

Cache

cache:
  expire-after-leave: 5
OptionTypeDefaultDescription
expire-after-leaveInteger5Minutes to keep player data cached after disconnect

Geyser / Bedrock

geyser:
  enable-bedrock-support: true
OptionTypeDefaultDescription
enable-bedrock-supportBooleantrueEnable special handling for Bedrock (Geyser/Floodgate) players

Other Settings

other-settings:
  captcha: true
  captcha-type: CHAT
  enable-welcome-message: true
  delete-old-account-with-same-unique-id: true
  enabled-lobby-command: true
  login-timeout: "30s"
  session-active-time: "3d"
  auto-enable-session: false
  commands-repeat: 5
  nickname-allowed-regex: "[a-zA-Z0-9_]+"
  multi-accounts-notification: true
  unique-id-system-type: USER_STATE
  user-updater: ALWAYS_SAME_UUID
OptionTypeDefaultDescription
captchaBooleantrueRequire captcha during registration
captcha-typeEnumCHATCaptcha display mode (CHAT or MAP)
enable-welcome-messageBooleantrueShow welcome message after login
delete-old-account-with-same-unique-idBooleantrueAuto-delete old accounts with duplicate UUIDs
enabled-lobby-commandBooleantrueEnable the /lobby command
login-timeoutDuration30sTime to authenticate before being kicked
session-active-timeDuration3dDuration of trusted login sessions
auto-enable-sessionBooleanfalseAutomatically enable session on login
commands-repeatInteger5Seconds between login/register command reminders
nickname-allowed-regexString[a-zA-Z0-9_]+Allowed characters in player names
multi-accounts-notificationBooleantrueWarn admins about multi-accounts on the same IP

Debug

debugs:
  users-update: false
  paid-check: true
  development: false
OptionTypeDefaultDescription
users-updateBooleanfalseLog database update operations
paid-checkBooleantrueLog which API is used for premium checks
developmentBooleanfalseEnable developer debug output

Messages (messages.yml)

All messages support legacy color codes (e.g. &6 for gold, &c for red).

Available Placeholders

PlaceholderContextDescription
{player}Admin commandsTarget player name
{time}Timeout / sessionRemaining time
{address}Multi-accountIP address
{accounts}Multi-accountNumber of accounts on IP
{email}Email commandsEmail address

Commands Configuration (commands.yml)

Each player command can be individually customized:

login:
  original-name: "login"
  enabled: true
  name: "login"
  description: "Log in to your account"
  permission: ""
  aliases:
    - "l"
  custom-usage: ""
OptionTypeDescription
original-nameStringInternal identifier (do not change)
enabledBooleanEnable or disable the command
nameStringCommand name
descriptionStringCommand description
permissionStringPermission required to use the command (empty = no permission)
aliasesListCommand aliases
custom-usageStringCustom usage text (requires custom-commands-usages: true in config)

Blocked Passwords (blocked-passwords.yml)

A list of forbidden passwords that players cannot use during registration or password change:

blocked-passwords:
  - "password"
  - "password123"
  - "123456"
  - "qwerty"