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
| 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
| 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.