Slime Login

config.yml#

Every option, what reads it, and what it does.

The file written on first start contains only the options your role uses โ€” a bridge server gets a seven-line file, a proxy does not get spawn:. Anything you add by hand is still read, and anything missing falls back to the bundled default, so nothing breaks either way.

Roles: P = single Paper server ยท V = Velocity or BungeeCord proxy ยท B = Paper behind a proxy


License#

license-key: ""
Option Roles Default Notes
license-key P V "" Your key from devlio.store. Bridge servers do not need one โ€” the proxy holds the license for the network

Role#

mode: auto
Value Meaning
auto Detect it. Proxy forwarding enabled โ†’ bridge, otherwise standalone
standalone Always authenticate here
bridge Always act as a bridge for a proxy

Read on Paper only; a proxy install ignores it.

Tip

After changing mode, delete config.yml and restart so the right template is written out again.


Premium bypass#

premium-bypass:
  enabled: true
  mode: auto
  protect-premium-names: true
  debug: false
Option Roles Default Notes
enabled P V true Turn off and premium players register with a password like everyone else
mode P V auto auto = detect every name; command = players opt in with /premium
protect-premium-names P V true Reserves premium names for their owners, refusing impostors with your own message. Needs a 1.20.2+ client to do that; older ones fall back to Mojang's own refusal
bedrock-autologin P V true Bedrock players (Geyser + Floodgate) join without registering โ€” Xbox Live already authenticated them
debug P V false Logs every premium decision. Turn this on first when something is wrong

More about premium detection


Auth server#

auth-server:
  enabled: false
  server: "auth"
  lobby: ""
Option Roles Default Notes
enabled V false Hold unauthenticated players on a limbo server
server V auth A server name from the proxy's own configuration
lobby V "" Where to send them after they authenticate. Empty = leave them where they are

More about the auth server


Security#

security:
  encryption: "BCrypt"
  bcrypt-rounds: 12
  min-password-length: 4
  max-password-length: 32
  max-login-attempts: 3
  lockout-duration-seconds: 60
  kick-on-lockout: true
  command-cooldown-seconds: 2
  max-accounts-per-ip: 0
Option Roles Default Notes
encryption P V BCrypt Informational โ€” BCrypt is the only algorithm this plugin writes
bcrypt-rounds P V 12 4โ€“15. Each step doubles the work. 12 is ~200 ms; hashing always runs off the main thread
min-password-length P V 4
max-password-length P V 32
max-login-attempts P V 3 Wrong passwords before lockout. 0 = never lock
lockout-duration-seconds P V 60
kick-on-lockout P V true Disconnect instead of only refusing
command-cooldown-seconds P V 2 Minimum gap between attempts, per player
max-accounts-per-ip P V 0 0 = unlimited. Counts registered accounts whose last known IP matches

Session#

session:
  enabled: true
  duration-minutes: 60
  trusted-ip: true
  max-trusted-ips: 5
Option Roles Default Notes
enabled P V true Skip the password for a returning player
duration-minutes P V 60 0 = until restart
trusted-ip P V true Remember addresses a player logs in from, in the database
max-trusted-ips P V 5 Oldest is dropped past the cap. 0 = unlimited

More about sessions


Protection#

protection:
  block-movement: true
  block-chat: true
  block-commands: true
  block-inventory: true
  block-interact: true
  block-break: true
  block-place: true
  block-damage: true
  block-teleport: true
  block-pickup: true
  block-server-switch: true
  hide-unlogged: false
  allowed-commands: []
Option Roles Default Notes
block-movement P B true Looking around still works
block-chat P B V true
block-commands P B V true Auth commands are always allowed
block-inventory P B true Click, drag, open, drop
block-interact P B true Blocks, entities, vehicles
block-break P B true
block-place P B true
block-damage P B true Both taking and dealing
block-teleport P B true The plugin's own teleports still go through
block-pickup P B true
block-server-switch V true No /server before logging in
hide-unlogged P B false Hides waiting players from everyone, and from each other
allowed-commands P B V [] Extra commands, no leading slash

More about protection


Login spawn#

spawn:
  enabled: false
  teleport-back: true
  world: "world"
  x: 0.0
  y: 64.0
  z: 0.0
  yaw: 0.0
  pitch: 0.0
Option Roles Default Notes
enabled P B false Hold players at a fixed location
teleport-back P B true Return them to where they were after logging in
world โ€ฆ pitch P B Set with /slimeadmin setspawn rather than by hand

Captcha#

captcha:
  enabled: false
  on-register: true
  max-attempts: 3
Option Roles Default Notes
enabled P V false
on-register P V true Never asked on login
max-attempts P V 3 0 = never kick

More about the captcha


Titles and misc#

startup-banner: true
update-checker: true
show-title: true
title-main: "&6&lSLIME"
title-sub-login: "&7Type &e/login <password>"
title-sub-register: "&7Type &e/register <password> <confirm>"
title-fade-in: 10
title-stay: 60
title-fade-out: 10

title:
  repeat-interval-ticks: 60
  kick-after-seconds: 30
Option Roles Default Notes
startup-banner P V B true The ASCII art in the console
update-checker P V true Checks once at startup, notifies admins on join
show-title P V true The repeating login title
title-* P V Text and timings. Timings are in ticks (20 = 1 second)
title.repeat-interval-ticks P V 60 How often the title is re-shown
title.kick-after-seconds P V 30 Kick a player who never authenticates. 0 = never

Sounds#

sounds:
  enabled: true
  login-success: "ENTITY_PLAYER_LEVELUP"
  register-success: "ENTITY_PLAYER_LEVELUP"
  wrong-password: "ENTITY_VILLAGER_NO"
  error: "BLOCK_ANVIL_LAND"

Paper only โ€” a proxy cannot play sounds. Both naming styles work: ENTITY_PLAYER_LEVELUP or entity.player.levelup.