Configuration - AkselGlyholt/velocity-limbo-handler GitHub Wiki

VelocityLimboHandler generates a config.yml file on first run. This file controls how the plugin behaves β€” everything from queue timing to what commands are blocked in Limbo.

Here’s a breakdown of each option and what it does.


πŸ“ Default config.yml

limbo-name: "limbo"
direct-connect-server: "lobby"
task-interval: 3
queue-notify-interval: 30
disabled-commands: ["server", "lobby", "hub"]

πŸ” Option Breakdown

limbo-name

Type: string Default: "limbo" What it does: The name of the Limbo server in your Velocity proxy config. This is where players will be sent if their target server is unavailable.

Must match the ID in your velocity.toml under [servers].


direct-connect-server

Type: string Default: "lobby" What it does: The fallback server to send players to after Limbo. If the plugin can't determine which server the player originally joined, they’ll be sent here instead.

You can set this to your main hub/lobby or another fallback backend.


task-interval

Type: number (seconds) Default: 3 What it does: How often (in seconds) the plugin checks if the player’s original server is available and tries to reconnect them.

Lower values = faster reconnection, but more load on the proxy.


queue-notify-interval

Type: number (seconds) Default: 30 What it does: How often players in Limbo are told their current queue position.

Set to -1 to disable queue messages entirely.


disabled-commands

Type: list of strings Default:

- "server"
- "lobby"
- "hub"

What it does: Blocks certain commands while the player is in the Limbo server. Prevents them from bypassing the queue by manually switching servers.

This only affects players in Limbo. All other players can still use these commands.


🧠 Example Use Case

Say your Velocity proxy setup looks like this:

[servers]
main = "127.0.0.1:25566"
lobby = "127.0.0.1:25567"
limbo = "127.0.0.1:25568"

You want players to:

  • Join the main server normally
  • Get sent to limbo if main goes down
  • Then be auto-queued back to main

You would configure config.yml like:

limbo-name: "limbo"
direct-connect-server: "lobby"
task-interval: 5
queue-notify-interval: 20
disabled-commands: ["server", "lobby", "hub"]

Messages.yml

Now if you don't like the default messages, you can change them inside the messages.yml config file. Looks like this:

file-version: 1

# You can change all messages inside this file.
# Messages use minimessage format: https://docs.advntr.dev/minimessage/index.html

# Messages can include placeholders such as:
# [queue-position] which will display queue position

# These messages are for errors under reconnection, such as not whitelisted or banned.
bannedMessage: "<red>β›” You are banned from that server.</red>"
notWhitelisted: "<red>⚠ You are not whitelisted on that server.</red>"

maintenanceMode: "<red>The server you're trying to connect to is currently in maintenance mode! You will be reconnected once it's available again."

# This is the message being sent as a notification to the player about their position in the queue
queuePosition: "<yellow>Queue position: [queue-position]"

# The notification the user gets of their position in the queue when joining.
# This is separate from the welcomeMessage, as the queue is toggleable.
queuePositionJoin: "<yellow>You are in the queue. Position: [queue-position]"

# Welcome messages
welcomeMessage: "<blue>🌌 You were sent to Limbo.</blue> \n<gray>You will be reconnected when the system allows.</gray>"

Last updated 29. July 2025, but the file will always contain information on where the message is used :)


πŸ’‘ Tips

  • Avoid setting task-interval too low (like 1s) on large servers
  • If you want to disable command blocking, just remove the entire disabled-commands section or leave it empty
  • queue-notify-interval only affects chat messages β€” the reconnect logic runs independently
⚠️ **GitHub.com Fallback** ⚠️