QueuePlus Plugin
QueuePlus is a powerful and customizable queue management plugin designed for Velocity proxy servers. It provides a points-based queue system that effectively manages player connections to backend servers, ensuring fairness and priority during high server traffic or limited slots.
What's New in Version 2.0?
- Major Bug Fixes:
Fixed critical issues with points incrementation to ensure accurate and consistent priority calculation over time.
- Improved Configuration Handling:
Enhanced config loading and parsing robustness for smoother configuration management without errors or misreads.
- Color Support Added:
Full color support implemented in priority messages and player notifications, improving clarity and user experience.
Features
- Points-Based Queue System:
Players earn points over time in the queue, increasing their priority to connect to a specified backend server.
- Start Points Configuration:
Assign and dynamically modify players' starting points for customized queue entry advantage.
- Automatic Player Sorting:
Queue auto-sorts periodically to prioritize players with the highest points.
- Automatic Connection:
The player with the most points is automatically connected to the configured target server.
- Centralized Commands Under /queueplus:
- /queueplus reload — Reloads configuration dynamically (admin only).
- /queueplus checkpoints <player> — Checks a player's current points.
- /queueplus join — Join the queue.
- /queueplus leave — Leave the queue.
- /queueplus addpoints <player> <amount> — Add points to a player (admin).
- /queueplus removepoints <player> <amount> — Remove points from a player (admin).
- /queueplus setpoints <player> <amount> — Set exact points for a player (admin).
- /queueplus info — Show queue status and info.
- Permissions Control:
Requires queueplus.admin or queueplus.reload permissions for administrative commands.
- Player Disconnect Handling:
Automatically removes disconnected players from the queue.
- Lightweight and Efficient:
Runs asynchronous and optimized periodic tasks to minimize performance impact.
Configuration
Located in plugins/queueplus/config.yaml (default created if missing):
config.yml
# QueuePlus Configuration File
# This file contains all settings for the QueuePlus plugin
# Server Settings
# The name of the server players will be queued for
target-server: "pokemon"
# Timer Settings
# How often (in seconds) players in queue receive points
points-increment-seconds: 1
# How often (in seconds) the plugin checks if the first player can connect
connect-first-player-seconds: 5
# How often (in seconds) players receive their queue status
send-priority-messages-seconds: 30
# Message Settings
# All messages support MiniMessage formatting (https://docs.advntr.dev/minimessage/format.html)
# Available colors: <red>, <green>, <blue>, <yellow>, <gold>, <gray>, <white>
# Available styles: <bold>, <italic>, <underlined>, <strikethrough>
messages:
# Queue Status Messages
queue-status:
header: "<yellow>=== Queue Status ===</yellow>"
queue-points: "<green>Queue Points: <gold>{points}</gold></green>"
bonus-points: "<green>Bonus Points: <gold>{points}</gold></green>"
total-points: "<green>Total Points: <gold>{points}</gold></green>"
position: "<yellow>Your position in queue: <gold>{position}</gold></yellow>"
player-entry: "<yellow>#{position}</yellow> <white>{username}</white> <gray>({points} points)</gray>"
current-player-prefix: "<gold>→</gold> "
# Server Connection Messages
server-connection:
success: "<green>Successfully connected to the server!</green>"
server-full: "<red>The server is currently full. Please wait in queue...</red>"
# Command Messages
commands:
usage: "<red>Usage: /queueplus <subcommand> [args]</red>"
unknown-command: "<red>Unknown command: {command}</red>"
no-permission: "<red>You don't have permission to use this command.</red>"
player-only: "<red>Only players can use this command.</red>"
player-not-found: "<red>Player not found or not connected.</red>"
amount-must-be-number: "<red>Amount must be a number.</red>"
# Queue Action Messages
queue-actions:
already-in-queue: "<red>You are already in the queue.</red>"
not-in-queue: "<red>You are not in the queue.</red>"
joined-queue: "<green>You have joined the queue.</green>"
left-queue: "<green>You have left the queue.</green>"
points-updated: "<green>Your bonus points have been updated to <gold>{points}</gold>. Your new position in queue: <gold>{position}</gold></green>"
player-points-updated: "<green>{player}'s bonus points have been updated to <gold>{points}</gold>.</green>"
player-points-info: "<green>Player {player} has <gold>{total}</gold> points (<gold>{queue}</gold> queue + <gold>{bonus}</gold> bonus).</green>"
# Configuration Messages
config:
reloaded: "<green>Configuration reloaded! Target server: {server}</green>"
Installation
- Ensure you are running Velocity Proxy 3.4.0-SNAPSHOT or compatible and Java 17+.
- Download the latest QueuePlus.jar.
- Place the JAR in the Velocity folder. plugins
- Edit config.yaml as desired.
- Use /queueplus reload or restart the proxy server to activate.
Permissions
Permission
Description
Default Access
queueplus.admin Use admin commands including points management are for OP or assigned
queueplus.reload Reload plugin configuration at runtime are for OP or assigned
I Created this plugin description using AI.