– LunaChat can be installed on `Spigot(Paper) 1.18+` / `BungeeCord`.
– It converts romanized Japanese input into kanji.
– It integrates channel chat functionality, with many customizable options.
– You can set passwords for channel entry or hide channels from the list.
– Channel moderators can be assigned. Moderators can change channel options, kick, or ban users. For newly created channels, the first person to join becomes the moderator.
– Messages in channel chat are clickable.
– The `/ch` command displays help.
– The `/tell` command is replaced by LunaChat, and its messages are also converted to kanji.
– The `/r` command allows you to reply to `/tell` messages.
– Numerous APIs and event hooks are supported.
LuckPerms is a permissions plugin/mod for Minecraft servers. It allows server admins to control what features players can use by creating groups and assigning permissions.
It is:
* **fast** – written with performance and scalability in mind.
* **reliable** – trusted by thousands of server admins, and the largest of server networks.
* **easy to use** – setup permissions using commands, directly in config files, or using the web editor.
* **flexible** – supports a variety of data storage options, and works on lots of different server types.
* **extensive** – a plethora of customization options and settings which can be changed to suit your server.
* **free** – available for download and usage at no cost, and permissively licensed so it can remain free forever.
For more information, see the wiki article on [Why LuckPerms?](https://luckperms.net/wiki/Why-LuckPerms)
### Useful Links
The latest downloads & other useful links can be found on the project homepage at [luckperms.net](https://luckperms.net/).
The plugin has extensive [documentation available on the wiki](https://luckperms.net/wiki). Please use the resources there before coming to us directly for support.
Support for the plugin is provided on [Discord](https://discord.gg/luckperms). If you have a question which cannot be answered by reading the wiki, the best place to ask it is there.
If you would like to report a bug, please [open a ticket on GitHub](https://github.com/lucko/LuckPerms/issues).
LuckPerms is proudly sponsored by [BisectHosting](https://bisecthosting.com/luck).
BisectHosting are Minecraft server hosting experts, ready to help you create and host your very own server! They are a trusted and well-established hosting provider in the community, and provide an outstanding level of service that we are happy to recommend. There is a special 25% off discount available for LuckPerms users – click the link above to create your server today.
LPPronouns
# LPPronouns
A simple, cross API plugin that allows players to set their pronouns.
Works on: Spigot, BungeeCord, Fabric, Forge, and Velocity
Link to our support: [Discord](https://discord.gg/NffvJd95tk)
# Message formatting configuration
formatting:
# This sets LPPronouns as the server’s chat formatter
enabled: true
# %player% – Player name
# %message% – Message
# %server% – Server name
# %prefix% – Player prefix
# %suffix% – Player suffix
# %displayname% – Player display name
format: “<%displayname% (%suffix%)> %message%”
# Pronoun configuration
pronouns:
none: “”
any: any
other: other
ask: ask
avoid: avoid
# …
“`
## Background
At the time of this plugin’s creation, it is Lunar New Year (02/2023). Usually, during special holidays, the lottery prize money in Hong Kong get’s extra high to attract people to buy for the occasion.
However, while that is happening, I am halfway across the globe from my extended family and loved ones (Think of it like Christmas when the entire family gather around). Therefore, I’ve had the bright idea of creating a lottery plugin inspired by this… Scroll to the bottom of the page if you want to see what inspired this plugin.
## About
Want a **lottery system** on your server that is **a bit more like IRL** that doesn’t evenly distribute chances over all tickets bought making the poor who wants to try their luck just idiots giving free money to that one person who bought 6400 tickets?
With this plugin, you can create a **manually started or automatically reoccurring lottery game** on your server. While the mechanics in full might not be as simple, **joining a game by placing a bet is super simple**. A player can **win prizes of different tiers depending on the number of matching numbers** they’ve bet on!
**One thing to note is that the odds are independent of the number of bets placed. (In other words, one person playing doesn’t mean that player is 100% going to win.)**
## How to play LotterySix?
### 1. Check if a draw is scheduled and available to play!
– Games can be scheduled to start in the config or manually started with `/lottery start`
– Open the GUI with `/lottery play`
### 4. Get ready at the scheduled draw time for the draw!
– 6 numbers + 1 special number will be chosen at random
– By a cryptographically secure random number generator, if that matters to you
### 5. Collect prizes if you win!
– If the numbers you’ve picked contain 3 or more numbers selected in the draw (excluding the special number), you will win some prizes!
– The more matching numbers, the higher your winnings!
– **Each tier is NOT guaranteed a winner, unlike a lucky draw, in fact, it is extremely difficult to win higher tiers**
– See the link below for a detailed explanation
## How do the entry types & draw work?
https://github.com/LOOHP/LotterySix/wiki/LotterySix-Draw-&-Prizes-Explanation
## DiscordSRV Integration
Place bets, check your bets, past draw results and more offline via DiscordSRV!
– Draw Result Announcement
– Slash Command **/lottery**
## Floodgate Geyser Integration
Use Bedrock forms in places where book interfaces were used because they cannot be opened remotely

## Responsible Gambling
**See how LotterySix facilitates the promotion of responsible gambling even as a just-for-fun Minecraft plugin**
**https://github.com/LOOHP/LotterySix/wiki/Responsible-Gambling**
## Returning to the Community / Charity
**An account can be configured to receive a portion of the lottery ticket sales taken as tax (the “Lotteries Fund”).**
For example, they can be received by the server owner or an admin to then be redistributed to other players to fund server-wide projects! This allows taxed ticket sales to be turned to good use, returning them to the server community.
## Installation
### Only on Spigot, Paper etc.
1. Put LotterySix.jar into the plugins folder along with the required dependencies
2. Start the server
3. *Edit the config (if you need to)*
4. *Restart the server (if you changed something in the config in step 3)*
### Over a Bungeecord or Velocity Network
1. Put LotterySix.jar into the plugins folder along with the required dependencies in your backend servers (Spigot, Paper etc.)
2. Put LotterySix.jar into the plugins folder in your proxy server (there are no dependencies on proxy servers)
3. Start and then Stop your proxy server and your backend servers
4. Edit your LotterySix config **on the proxy server**
5. Remember to set `Bungeecord: true` in the above config
6. **Copy the above config to all of your backend servers** and replace the originally generated one
7. Start your proxy server and your backend servers
8. If you ever want to adjust the config, make sure you follow the steps again starting **from Step 3**
### You are recommended to read this if you are unsure how to configure LotterySix games.
**https://github.com/LOOHP/LotterySix/wiki/Configuration-Guide-&-Recommendations**
## Commands
**/lotterysix play** – Opens the LotterySix GUI [lotterysix.play]
**/lotterysix balance** – Change the balance in any player’s betting account [lotterysix.balance]
**/lotterysix start** – Manually start a game and schedule the draw at timestamp [lotterysix.start]
**/lotterysix run** – Manually start the draw of an on-going game [lotterysix.run]
**/lotterysix cancel** – Cancel the current game and refund all bets [lotterysix.cancel]
**/lotterysix preference** – Set your own player preferences [lotterysix.preference]
**/lotterysix settopprizefund** – Set the top 3 tier prize fund for the current game [lotterysix.settopprizefund]
**/lotterysix setdrawtime** – Set the draw time of the current game [lotterysix.setdrawtime]
**/lotterysix setspecialname** – Set a special name for the current game [lotterysix.setspecialname]
**/lotterysix setcarryoverfund** – Set the carry-over fund from last round to the current game [lotterysix.setcarryoverfund]
**/lotterysix reload** – Reload the config [lotterysix.reload]
**/lotterysix update** – Check for updates [lotterysix.update]
## Disclaimer
Many jurisdictions have regulations against “Game of Chance” (Such as loot boxes, or lotteries) with real-world monetary value. Please make sure your server follows those relevant regulations. LotterySix is just for fun and is not responsible for how each server uses our content.
## Data usage
Usage statistics at https://bstats.org/plugin/bukkit/LotterySix will be visible to the public with your server included in the statistics. No private information of your server is sent.
Update checking is also done via https://api.loohpjames.com to notify you whenever a new version is released. No private information of your server is sent.
## Inspired By “[Mark Six 六合彩](https://en.wikipedia.org/wiki/Mark_Six)” of the [Hong Kong Jockey Club](https://en.wikipedia.org/wiki/Hong_Kong_Jockey_Club)
**If you are wondering how it looks like IRL~~**
(Language: Cantonese, Partially English)
The draw starts at **1:35**
Introducing LoriTime, your server system’s revolutionary online timekeeping plugin! Say goodbye to the hassle of manually tracking player activity. With LoriTime, you can effortlessly monitor and manage the total time players spend on your server network, providing you with valuable insights and control over your gaming environment. Experience a new level of efficiency and precision with LoriTime by your side.
Features
Fast Setup!
The plugin is quick to set up, no complicated configuration designs with thousands of lines!
Few commands
wengier bloated plugin and only a few commands to remember!
Wide compatibility
The plugin is suitable for proxy’s as well as for simple server software. See more at the compatibility page!
Open-source
Still not enough? Submit a pull request—we’re open-source! Or make a suggestion!
Helpful links
Helpful links to get you started:
– ⏱️[Docs](https://github.com/Lorias-Jak/LoriTime/wiki) — Check the docs!
– ⏱️[GitHub](https://github.com/Lorias-Jak/LoriTime) — Check out the plugin source code!
– ⏱️[Setup](https://github.com/Lorias-Jak/LoriTime/wiki/Setup) — Read the setup instructions!
– ⏱️[Localization](https://github.com/Lorias-Jak/LoriTime/wiki/Localization) — Learn how to translate LoriTime!
A lightweight authentication plugin for cracked/offline-mode Minecraft servers. Supports Bukkit, Spigot, Paper, Purpur, Folia, BungeeCord, Waterfall, and Velocity — all in a single JAR.
—
## Features
– Register and login system with `/register` and `/login`
– Passwords hashed with **SHA-256 + random salt** per player — never stored in plaintext
– Offline session cache — players don’t need to re-login after briefly disconnecting
– Full movement, chat, and command restrictions until authenticated
– Blindness effect applied to unauthenticated players
– Login timeout on proxy (auto-kick if not logged in within X seconds)
– **Session sharing** — login once at the proxy, stays logged in across all backend servers
– No external database required — uses a simple flat file (`players.dat`)
**Standalone (Paper/Spigot only, no proxy):**
Drop `LoginMe.jar` into your server’s `plugins/` folder and restart.
**With proxy (BungeeCord / Velocity):**
Drop `LoginMe.jar` into **both** the proxy `plugins/` folder and every backend server’s `plugins/` folder. The proxy handles authentication and shares the session to backend servers automatically.
—
## Commands
| Command | Description |
|—|—|
| `/login ` | Login to your account |
| `/register ` | Create an account |
| `/reg ` | Alias for `/register` |
—
## Configuration
Located at `plugins/LoginMe/config.yml`:
“`yaml
prefix: “&7[&bLoginMe&7] ”
# How long to keep a session after a player disconnects
# Supports: s (seconds), m (minutes), h (hours), d (days)
offline-cache-duration: “5m”
# Proxy only: kick player if not logged in within this time after joining
login-timeout: “60s”
messages:
login-success: “&aLogin successful!”
already-logged-in: “&cYou are already logged in!”
not-registered: “&cYou are not registered! Use /register ”
login-usage: “&cUsage: /login ”
wrong-password: “&cWrong password!”
register-success: “&aRegister successful!”
already-registered: “&cYou are already registered! Use /login ”
register-usage: “&cUsage: /register ”
password-mismatch: “&cPasswords do not match!”
please-login: “&ePlease login with /login ”
please-register: “&ePlease register with /register ”
must-login-first: “&cYou must login first!”
must-login-chat: “&cYou must login first to chat!”
login-timeout: “&cLogin timeout! Please reconnect and login.”
Player data is stored in `plugins/LoginMe/players.dat`. Each entry contains the player’s UUID alongside a randomly generated salt and SHA-256 hash of their password. The file is human-readable but **should not be edited manually**.
## **What is LoginTo?**
LoginTo is a fully customizable authentication plugin for your Minecraft servers or network.
It offers complete control over messages, along with a feature-rich configuration file that allows you to easily adjust and personalize every aspect of the plugin.
## **Why choose LoginTo?**
LoginTo is simple to set up while still providing powerful features, including:
– Premium authentication (auto-login)
– Secure password hashing using BCrypt
– Detailed login and registration logging
– Advanced configuration options
It is built to help you keep your Minecraft server or network secure without sacrificing ease of use.
## **Updates**
LoginTo is actively maintained and regularly updated with bug fixes and new features.
For version 3.x, updates will primarily focus on stability improvements and performance optimizations.
# Plugin
Configuration
“`Yaml
ConfigVersion: “1.9” # DO NOT CHANGE THIS
# ————————————————————————————————– #
# #
# LoginTo Configuration #
# #
# ————————————————————————————————– #
commands-settings:
# Put here the plugin that will be allowed before the login end (the commands /login and /register will be always present, the aliases like /l and /r will not)
pre-login-allowed-commands:
– “l”
– “r”
auth-security:
# Kick the player if they provide an incorrect password during /login?
kick-on-invalid-password: true
# Maximum login attempts before getting kicked
max-login-attempts: 3
# Kick players who stay unauthenticated for too long?
kick-on-auth-timeout: true
# Seconds allowed to authenticate before the kick occurs
auth-timeout-seconds: 10
password-requirements:
# Require specific special characters in the password during registration?
require-special-chars: false
# List the characters required if the setting above is true
required-char-list: ”
# World and teleportation
spawn-settings:
# Enable automatic teleportation to a specific location on join?
teleport-on-join: false
# Target dimension for the teleport (e.g., world, world_nether, world_the_end)
target-dimension: ‘world’
# Exact coordinates for the teleportation point
spawn-coordinates:
x: 0
y: -64
z: 0
# Return the player to their last known location after a successful login?
restore-previous-location: true
# Integrations and webhooks
integrations:
proxy:
# Specify the server where players should be sent after logging into your network (e.g., ‘lobby-1’).
# If you are not using a proxy or wish to disable this feature, leave this field empty.
server-post-login: “”
password-change-webhook-url: ”
password-change-message: “**%playerName%** changed his password”
# Storage
storage:
# Storage Methods: sqlite, mysql, postgre, h2
# Changing this requires a full server reboot
storage-type: “sqlite”
database:
# Connection details for the database (for sqlite or h2, you will need to change only the name)
host: “localhost”
port: 3306
name: “LoginTo_DB”
user: “”
password: “”
# Premium system
premium:
# Enables AutoLogin, /premium, /cracked commands and make unusable the proxy command unless the user is logged.
# Requires a Proxy (Velocity/Bungee) with the plugin installed, and if you are running the proxy and the server on
# two different machines or you are running in a dedicated host that uses pderodactyl, use mysql
enable-premium-features: false
storage:
# Database type for cross-server communication (mysql or h2), it’s raccomanded mysql if you can
database-type: “h2”
database:
host: “localhost”
# If the port is 0, it will be the database’s default port (3306 for mysql and 9092 for h2)
port: 0
user: “sa”
password: “”
# Only used for MySQL; H2 defaults to ‘LoginTo_Sharing’
database-name: “LoginTo_Sharing”
logging:
# This feature is for logging all the players that joins in the server
logging: true
# The time format for showing the current date
# Do not use the space ” ” for the time, you can do this “hh-mm-ss dd-MM-yyyy”, but not “hh mm ss dd MM yyyy”, if you want, tell your staff to use only /getlogs without the day
# You can change the time (ss:mm:hh) and not using the space, but if you use the /getlogs command with the time selector, the date must remain “dd/MM/yyyy”
date-format: “HH:mm:ss dd/MM/yyyy”
plugin-utility:
# Check for new updates on startup and notify the console?
enable-update-checker: true
# Show the ‘Service offered by LoginTo’ watermark?, if you want to support me, consider leaving this on
show-watermark: true
# If set to false, the plugin will require PacketEvents to be installed as a separate plugin on the server.
# If set to true, the plugin will use the built-in PacketEvents API.
# Disclaimer: If possible, I recommend setting this to ‘false’ and installing the PacketEvents plugin.
# Doing so will help prevent any compatibility issues regarding PacketEvents within this plugin.
use-built-in-packetevents-api: true
“`
Messages
“`Yaml
MessageVersion: “1.6” # DO NOT CHANGE THIS
# ————————————————————————————————– #
# #
# LoginTo Messages Config #
# #
# ————————————————————————————————– #
register:
# Messages sent during the registration process
error:
# When a player use the /register command, but they are already registered
already-registered: “You are already registered!”
# When a player types a password, but it doesn’t contains the required characters
register-character-error: “Your password must contain these characters: %characters%”
# When the password is too long or too short
password-length: “Your password must be between %min_length% and %max_length% characters long”
# When a player use the /register command, but the first password is not equal to the second
password-mismatch: “The passwords do not match!”
# When a player types wrong the command
register-usage: “Error: Use /register ”
# Prompt when a player joins the server and need to make an account
register-prompt: “Welcome! Use /register to register.”
# Prompt when a player joins the server and need to make an account + the password must contain those character
register-prompt-characters: “Welcome! Use /register to register. Make sure to include one of these characters: %characters%”
# When a player succesfully sing in
register-success: “Registration completed, have fun in the server”
login:
# Messages sent during the login process
error:
# when a player use the /login command, but they are not registered
not-registered: “You are not registered yet!”
# When a player use the /login command, but they are not registered
already-logged-in: “You are already logged in.”
# When a player types wrong the command
login-usage: “Error: Use /login ”
# When the password is wrong
wrong-password: “Incorrect password”
# When a player joins the server after the registration, this message will appear
login-prompt: “Please use /login to authenticate.”
# When a player successfully sing up
login-success: “Login successful! Welcome back.”
delacc:
# Messages for the account deletion command
error:
# The target player doesn’t exists
player-doesnt-exist: “That player does not exist.”
# When the admin doesn’t confirm the command execution
delacc-not-confirmed: “Error: Please type ‘confirm’ after the player name.”
# When the admin types wrong the command
delacc-usage: “Usage: /delacc ”
# When an admin successfully deletes an account (Admin pov)
account-deleted: “Account deleted successfully.”
# When the player’s account gets deleted (User pov)
admin-deleted-account: “Your account was deleted by an administrator. Please rejoin to create a new one.”
changepassword:
# Messages for changing the account password
error:
# When the player types wrong the command
changepassword-usage: “Usage: /changepassword ”
# When the player uses the command, but the old password for the account is not correct
old-password-wrong: “The old password is incorrect. If you forgot it, please contact an admin.”
# When the password changes successfully and the player gets disconnected
password-changed: “Your password has been changed. Please rejoin and log in again.”
cracked:
# Messages for the cracked status command
error:
# When the player execute the /cracked command, but they are already a cracked/premium user
already-cracked: “You are already marked as a cracked or premium user.”
# Warning that will popup when this command is executed
cracked-warn: “§l§6WARNING:§c You are using the cracked command. This means you will join this network as a cracked user. This protects your account from premium users trying to claim your name.nType §2/cracked§c to confirm.”
# When the cracked command is executed successfuly
cracked-done: “You are now a cracked user.”
premium:
# Messages for the premium status command
error:
# When the player execute the /premium command, but they are already a premium user
already-premium: “You are already a premium user.”
# Warning that will popup when this command is executed
premium-warn: “§l§6WARNING:§c If you have a cracked account and switch to premium, you might lose access to your current progress if the names don’t match perfectly.nType §2/premium§c to confirm.”
# When the premium command is executed successfuly
premium-done: “You are now a premium user.”
loginto-command:
# System and console messages
error:
# When the player use the /loginto command for something, but that option is console-only
player-execute-console-command: “This command can only be executed from the console.”
errors:
# Errors that aren’t related to commands or are general errors
# Used for error that aren’t related to any event or command
general:
# When a player executes a command, but they don’t have enought permission for that
no-permission: “You do not have permission to execute this command.”
# When a player uses a feature, but it is not enabled
feature-not-enabled: “This feature is currently disabled.”
# Errors for activity before login or registration
activity-before-login:
# When a player executes a command when they are not logged in
oncommand-when-not-authenticated: “Please authenticate yourself before using commands.”
# When a player chat when the are not logged in
chatting-before-login: “You must log in before you can chat.”
# Errors related to failed authentication
login-fail:
# When a player tries the login too many times
onkick-for-failed-login: “Too many failed login attempts. Please rejoin and try again.”
# When a player joins and doesn’t complete the authentication in time
onkick-for-long-waiting: “Authentication timed out. Please rejoin and try again.”
# Kick message when someone joins the server but another player with the same name is already online. (This message uses PAPI for the player already in the server, not for the joining player)
onkick-for-joining-with-same-name: “Another player with your name is already on this server”
“`
Commands
/register <password> <confirmPassword>
Registers a new account. Aliases: /r, /reg
/login <password>
Logs into your account. Aliases: /l
/delacc <player> <confirm>
Deletes a player’s account. Permission: OP (by default)
/changepassword <oldPassword> <newPassword>
Changes your account password.
/premium [player]
Sets yourself or another player as a premium user.
/cracked
Sets your account as cracked (disables premium validation).
/getlogs <player> [date: dd/MM/yyyy]
Displays login and registration logs for a player.
Permissions
loginto.register
Allows players to use the /register command. Default: Everyone
loginto.login
Allows players to use the /login command. Default: Everyone
loginto.delacc
Allows players to delete accounts using /delacc. Default: OP
loginto.changepassword
Allows players to change their password with /changepassword. Default: Everyone
loginto.premium.me
Allows players to set their own account as premium. Default: Everyone
loginto.premium.other
Allows setting other players as premium using /premium <player>. Default: OP
loginto.cracked
Allows players to switch their account to cracked mode. Default: Everyone
loginto.getlogs
Allows viewing login and registration logs with /getlogs. Default: OP
loginto.flag-banned-client
For the players with this permission, they will receive a message with the specific client of a player (if that client is flagged). Proxy permission
_100% fully customizable messages, from text to colors, also the plugin do **not** require a reload for applying this message, you will just need to save the file_
**The Krypton version of LogFilter will be distributed via [GitHub](https://github.com/4drian3d/LogFilter/releases/tag/3.0.1)**
LockLogin
### Depends on [KarmaAPI](https://www.spigotmc.org/resources/karmaapi-platform.98542/)
LockLogin is [open source](https://github.com/KarmaDeb/LockLoginReborn)
LockLogin will be discunuated soon, please refer to [LockLogin2](https://gitlab.com/karmadev/locklogin) for more information
[](https://www.patreon.com/karmaconfigs)
High-performance lobby and limbo management plugin for BungeeCord and Velocity networks.
Designed for scalability, reliability, and smooth player routing across multi-server environments.
## Overview
LobbyLimboManager handles player distribution, fallback logic, and queue management at the proxy level.
* Automatically routes players to available lobbies
* Uses limbo servers to keep players connected when needed
* Includes a built-in queue system for full or unavailable lobbies
* Fully configurable behavior
* Works on both Velocity and BungeeCord
## Features
### Smart Routing
Automatically sends players to the most suitable lobby based on configurable strategies:
* Least players
* Random selection
* Round-robin distribution
### Limbo & Fallback System
Prevents unnecessary disconnections when lobbies are not available.
* Sends players to limbo servers when needed
* Keeps players connected during downtime
* Smoothly redirects back to lobbies when available
### Queue System
Handles full or unavailable lobbies efficiently.
* Automatic queue handling
* Sends players when space becomes available
* Prevents connection spam and failed joins
### Multiple Servers Support
Built for flexible network setups.
* Multiple lobby servers
* Multiple limbo servers
* Dynamic routing between them
### Fully Configurable
Customize behavior to fit your network.
* Routing modes
* Server limits
* Fallback behavior
* Queue system
Supports live reload with:
“`
/llm reload
“`
## Commands
* `/lobby`, `/hub` → Sends the player to an available lobby
* `/llm reload` → Reloads plugin configuration (Warning: nvm, it works)
## Permissions
* `lobbylimbomanager.command.lobby` → Access to the /lobby and /hub commands
* `lobbylimbomanager.admin` → Access to administrative commands
## Installation
1. Download the latest release
2. Place the `.jar` in your proxy plugins folder
3. Start your proxy
4. Edit the generated configuration if needed
## Compatibility
* Velocity
* BungeeCord
* Waterfall (Not tested, but expected to work)
## Config.yaml Example
Spoiler
“`
# ============================================================
# LobbyLimboManager Configuration
# ============================================================
# This file controls how players are routed between lobby and
# limbo servers on BungeeCord, Waterfall, and Velocity proxies.
#
# IMPORTANT: Server names listed below must match the names
# defined in your proxy configuration EXACTLY.
# They are NOT case-sensitive in this file, but must exist.
# ============================================================
# ———————————————————–
# Config Version
# ———————————————————–
# This value is managed by the plugin. Do not modify it.
# Changing it may reset your configuration on next reload.
config-version: 1
# ============================================================
# LOBBY SERVERS
# ============================================================
# List all lobby servers that players can be sent to.
# These are the main servers players join when logging in or
# being recovered from a kick.
#
# NOTE: Names MUST match the servers defined in your proxy
# configuration (e.g. BungeeCord config.yml or Velocity
# velocity.toml). The plugin looks up servers by these
# names at runtime.
lobbies:
servers:
– lobby1
– lobby2
– lobby3
# ============================================================
# LIMBO SERVERS
# ============================================================
# Limbo servers are lightweight holding servers used when no
# lobbies are available or a player is queued.
#
# NOTE: A server listed here should NOT also be listed under
# lobbies. The plugin will ignore overlapping names in
# limbo selection.
limbos:
servers:
– limbo1
– limbo2
# ============================================================
# SELECTION MODES
# ============================================================
# Controls how the plugin chooses which server to send a
# player to.
modes:
# Lobby Selection Mode
# ——————–
# Determines how a lobby is chosen when a player needs one.
#
# Valid values:
# ROUND_ROBIN – Cycles through lobbies in order.
# Example: lobby1 -> lobby2 -> lobby3 -> lobby1
# RANDOM – Picks a random available lobby.
# LEAST_PLAYERS – Picks the lobby with the lowest player
# count at that moment.
lobby-mode: ROUND_ROBIN
# Limbo Selection Mode
# ——————–
# Determines how a limbo server is chosen.
#
# Valid values:
# FALLBACK – Limbos are ONLY used when no lobby is
# available. This is the recommended default.
# ROUND_ROBIN – Rotates through limbo servers independently.
# STANDALONE – Limbo servers are never used automatically.
# They must be targeted manually.
limbo-mode: FALLBACK
# ============================================================
# FALLBACK SETTINGS
# ============================================================
# Controls what happens when a player is kicked from a server.
#
# Fallback Flow (in order):
# 1. If kick message contains a no-fallback keyword, the
# player is disconnected (no recovery attempted).
# 2. If fallback-to-lobby is enabled, the plugin tries to
# find another available lobby.
# 3. If no lobby is available and fallback-to-limbo is
# enabled, the player is sent to a limbo server.
# 4. If nothing is available, the kick proceeds normally.
fallback:
# Enable fallback to another lobby when a player is kicked.
# Set to false if you want kicked players to disconnect
# instead of being moved to another lobby.
fallback-to-lobby-enabled: true
# Enable fallback to limbo when no lobbies are available.
# If both this and fallback-to-lobby are false, kicked
# players will simply be disconnected.
fallback-to-limbo-enabled: true
# Server Fallback Control
# ——————–
# Controls which servers are allowed to trigger fallback.
#
# Mode: allow
# Only servers listed below PLUS all lobby servers can
# trigger fallback. All other servers will disconnect
# players on kick.
#
# Mode: deny
# Servers listed below will NEVER trigger fallback.
# All other servers (including lobbies) will trigger
# fallback normally.
servers-fallback-disabled:
mode: deny
servers:
– creative
# Kick Message No-Fallback Keywords
# ———————————
# If a kick message contains any of these keywords (case
# insensitive), the plugin will NOT attempt fallback.
# This is useful for bans, manual kicks, or anti-cheat
# disconnects where moving the player is undesirable.
#
# Examples of common keywords:
# banned – Prevents banned players from rejoining
# kicked by – Prevents staff kicks from triggering fallback
# timed out – Connection issues usually don’t need fallback
kick-message-nofallback:
– banned
– kicked by
– timed out
– disconnect.spam
– flying
# ============================================================
# QUEUE SETTINGS
# ============================================================
# When all lobbies are full, players are placed in a queue.
# These settings control how and when they are released.
queue:
# Dispatch Attempt Threshold
# ————————–
# Number of consecutive successful health checks a lobby
# must pass before it is considered READY for queue dispatch.
#
# This works together with health-check-interval:
# If health-check-interval = 30 and this value = 2,
# a newly started lobby must be healthy for 60 seconds
# before queued players are sent to it.
#
# WARNING: Setting this too low (e.g. 1) may send players to
# lobbies that are still warming up, causing join
# failures. Setting it too high delays recovery.
#
# Recommended: 1-3 for quick recovery, 3-5 for stability.
dispatch-attempt-threshold: 1
# ============================================================
# GENERAL SETTINGS
# ============================================================
settings:
# Health Check Interval (seconds)
# ——————————-
# How often the plugin pings all configured servers to check
# if they are online, full, or offline.
#
# Trade-off: Lower values detect crashes faster but increase
# network load. Higher values are lighter but slower to
# react.
#
# Recommended: 30 for small networks, 60 for large networks.
health-check-interval: 30
# Failed Server Retry Interval (seconds)
# ————————————–
# When a server fails a health check, it is marked as failed
# and will not be selected for routing until this time has
# passed AND it passes a new health check.
#
# This prevents repeatedly sending players to a crashed
# server.
failed-server-retry-seconds: 60
# Attempt Expiry (seconds)
# ————————
# How long the plugin remembers that it already tried to
# send a specific player to a specific server.
#
# This prevents infinite loops: if a player fails to connect
# to lobby1, the plugin won’t try lobby1 again for this
# duration. After expiry, it can be retried.
attempt-expiry-seconds: 30
# Queue Dispatch Interval (milliseconds)
# ————————————–
# Minimum time between queue processing cycles.
#
# Lower values move players faster but increase CPU usage.
# The plugin will still respect server capacity and readiness.
queue-dispatch-interval: 2000
# Queue Waiting Message Interval (milliseconds)
# ———————————————–
# How often queued players receive a waiting message.
# Set to 0 to disable waiting messages entirely.
queue-waiting-interval: 5000
# Debug Mode
# ———-
# When enabled, the plugin prints detailed state transitions,
# routing decisions, and queue activity to the console.
#
# WARNING: This generates a LOT of output. Only enable when
# troubleshooting. Disable for production.
debug: false
# Server Player Limits
# ——————–
# Defines the maximum number of players each server can hold.
# This is used to determine if a lobby is FULL and to decide
# how many queued players can be dispatched.
#
# Valid values for each server:
# -1 = Unlimited. The server is never marked FULL.
# 0 = Auto-detect. The plugin pings the server to read
# its max-player value (from server.properties or
# the server’s own configuration).
# >0 = Fixed limit. The server is marked FULL when its
# online player count reaches this number.
#
# Example: A survival server with 50 slots should be set to
# 50 so the plugin knows when it is full.
server-limits:
lobby1: 100
lobby2: 100
lobby3: 100
# ============================================================
# MESSAGES
# ============================================================
# All messages shown to players support Minecraft color codes
# using the ‘&’ symbol (e.g. &a = green, &c = red).
#
# Available placeholders:
# %server% – Replaced with the target server name
# %player% – Replaced with the player’s name
# %position% – The player’s position in the queue
# %total% – The total number of players in the queue
#
# NOTE: Placeholders only work in messages that reference them.
# Using an unsupported placeholder will leave the raw
# text in the message.
messages:
# Shown when a player is successfully connected to a lobby.
connect-lobby: “&aConnecting you to lobby &e%server%&a…”
# Shown when a player is sent to a limbo server.
connect-limbo: “&eConnecting you to limbo server &7%server%&e…”
# Shown when a player is kicked and moved to a fallback lobby.
fallback-lobby: “&eThe server you were on became unavailable. Moving you to &a%server%&e…”
# Shown when a player is kicked and moved to a fallback limbo.
fallback-limbo: “&cAll lobbies are full or unavailable. Moving you to limbo &7%server%&c…”
# ———————————————————–
# Error / Status Messages
# ———————————————————–
no-lobby-available: “&cNo lobby servers are currently available. Please try again later.”
no-limbo-available: “&cNo limbo servers are currently available. Please try again later.”
no-server-available: “&cNo servers are currently available. Please try again later.”
server-not-found: “&cThe target server could not be found.”
already-connecting: “&cYou are already being connected to a server.”
command-player-only: “&cThis command can only be used by players.”
already-in-lobby: “&cYou are already connected to a lobby server.”
# ———————————————————–
# Queue Messages
# ———————————————————–
# These messages are sent automatically by the queue system.
queue-position: “&eYou are in position &c%position% &eof &c%total% &ein the queue.”
queue-join: “&cAll lobbies are full. You have been added to the queue.”
queue-waiting: “&eYou are in the queue. Position: &c%position%&e of &c%total%&e. Please wait…”
lobby-available: “&aA lobby is now available! Connecting you to &e%server%&a…”
“`
## Notes
* Designed for stability and long-term usage
* Suitable for both small and large networks
* Focused on reliable routing and clean behavior