VelocityUtilsPlus
A comprehensive Velocity proxy plugin that provides intelligent lobby balancing, premium player routing, database-backed player statistics, and advanced moderation features.


**Features**
**Smart Lobby Management**
– Intelligent Load Balancing: Automatically distributes players across multiple lobby servers based on current player counts
– Premium Player Routing: Dedicated lobby and challenge servers for premium/creator players
– Offline Server Detection: Automatically detects and avoids offline servers when balancing
– Server Status Caching: Efficient server status checking to minimize performance impact
**Database Integration**
– Player Playtime Tracking: Track total playtime and per-server statistics
– Custom Statistics: Track challenges completed and other custom player achievements
– Database-Backed Bans: Offline ban support with MySQL/MariaDB backend
– Connection Pool Management: Efficient HikariCP connection pooling
**Moderation Features**
– Database Bans: Ban players even when they’re offline
– Ban Management Commands: Easy-to-use commands for banning, unbanning, and viewing bans
– Configurable Permissions: Fine-grained permission system for all commands
**Player Statistics**
– Leaderboards: View top players by playtime
– Personal Stats: Players can check their own statistics
– Challenge Tracking: Track and record challenge completions
**Metrics and Monitoring**
– bStats Integration: Anonymous usage statistics
– Comprehensive Logging: Detailed logging for debugging and monitoring
**Requirements**
– Velocity proxy server version 3.4.0 or higher
– Java 17 or higher
– MySQL 8.0+ or MariaDB 10.5+ (optional, required for database features)
**Installation**
1. Download the latest VelocityUtilsPlus.jar from the Releases page
2. Copy the JAR file to your Velocity plugins folder
3. Start your Velocity server to generate the default configuration
4. Stop the server and configure `plugins/velocityutilsplus/config.toml`
5. If using database features, set up your database (see Database Setup section below)
6. Restart your Velocity server
## Configuration
The plugin will generate a config.toml file in `plugins/velocityutilsplus/`. Key configuration sections include:
**Lobby Configuration**
“`toml
[lobbies]
# List your regular lobby servers (must match names in velocity.toml)
regular_lobbies = [“Lobby 1”, “Lobby 2”, “Lobby 3”, “Lobby 4”]
# Premium player servers
premium_lobby = “Creator Lobby”
premium_challenge = “Creator Challenge”
“`
**Database Configuration**
“`toml
[database]
# Enable database integration
enabled = true
type = “mysql” # or “mariadb”
address = “127.0.0.1:3306”
database = “vup”
username = “vup_user”
password = “your_secure_password”
# Connection pool settings
max_pool_size = 10
min_idle = 2
connection_timeout = 30000
[database.features]
playtime_tracking = true
statistics_tracking = true
friends_system = false # Not yet implemented
database_bans = true
“`
**Permissions Configuration**
“`toml
[permissions]
# Define which permissions are required for each command
# Set to empty string “” to allow everyone to use the command
gban = “vup.admin”
gunban = “vup.admin”
banlist = “vup.moderator”
stats = “” # Everyone can use /stats
stats_others = “vup.moderator” # Permission to view other players’ stats
leaderboard = “” # Everyone can use /leaderboard
vup = “vup.admin”
lobby = “” # Everyone can use /lobby
creator = “vup.premium” # Premium players only
invite = “” # Everyone can invite
accept = “” # Everyone can accept invites
“`
See `config.toml.example` for a complete configuration template.
**Database Setup**
If you want to use database features, you need to set up a MySQL or MariaDB database.
**Step 1: Create Database and User**
“`sql
CREATE DATABASE vup CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘vup_user’@’localhost’ IDENTIFIED BY ‘your_secure_password’;
GRANT ALL PRIVILEGES ON vup.* TO ‘vup_user’@’localhost’;
FLUSH PRIVILEGES;
“`
**Step 2: Configure Plugin**
Update the database section in `config.toml` with your credentials. The plugin will automatically create all required tables on first startup when database is enabled.
**Step 3: Optional Manual Schema Import**
If you prefer to create the schema manually, you can import `database-setup.sql`.
For more details, see:
– DATABASE-GUIDE.md – Complete database setup and configuration guide
– DATABASE-IMPLEMENTATION.md – Technical implementation details
**Commands**
All commands are configurable with permissions in config.toml.
**Navigation Commands**
| Command | Aliases | Description | Default Permission |
|———|———|————-|——————-|
| `/lobby` | None | Connect to a balanced lobby server | None (everyone) |
| `/creator` | None | Connect to the creator/premium lobby | `vup.premium` |
| `/invite ` | None | Invite a player to your current server | None (everyone) |
| `/accept` | None | Accept a pending server invite | None (everyone) |
**Moderation Commands**
| Command | Description | Default Permission | Notes |
|———|————-|——————-|——-|
| `/gban ` | Ban a player globally | `vup.admin` | Works offline if database bans enabled |
| `/gunban ` | Unban a player globally | `vup.admin` | Works offline if database bans enabled |
| `/banlist [page]` | View all active bans | `vup.moderator` | Paginated list |
**Statistics Commands**
| Command | Aliases | Description | Default Permission | Requires Database |
|———|———|————-|——————-|——————|
| `/stats [player]` | None | View playtime statistics | None (everyone) | Yes |
| `/leaderboard [limit]` | `/lb`, `/top` | View playtime leaderboard | None (everyone) | Yes |
**Admin Commands**
| Command | Description | Default Permission |
|———|————-|——————-|
| `/vup` | Plugin information and management | `vup.admin` |
**Statistics Command Details**
**`/stats [player]`**
– Without arguments: View your own statistics
– With player name: View another player’s statistics (requires `vup.moderator` permission by default)
– Displays: Total playtime, per-server playtime, challenges completed
**`/leaderboard [limit]`**
– Without arguments: Shows top 10 players
– With number: Shows top N players (maximum 50)
– Displays players ranked by total playtime
**Permissions**
The plugin uses a flexible permission system where all permissions can be customized in config.toml.
**Default Permission Nodes**
*Navigation Permissions*
– No permission required for `/lobby` (configurable via `permissions.lobby`)
– `vup.premium` for `/creator` (configurable via `permissions.creator`)
– No permission required for `/invite` (configurable via `permissions.invite`)
– No permission required for `/accept` (configurable via `permissions.accept`)
*Moderation Permissions*
– `vup.admin` for `/gban` (configurable via `permissions.gban`)
– `vup.admin` for `/gunban` (configurable via `permissions.gunban`)
– `vup.moderator` for `/banlist` (configurable via `permissions.banlist`)
*Statistics Permissions*
– No permission required for `/stats` (view own stats) (configurable via `permissions.stats`)
– `vup.moderator` for `/stats ` (view others’ stats) (configurable via `permissions.stats_others`)
– No permission required for `/leaderboard` (configurable via `permissions.leaderboard`)
*Admin Permissions*
– `vup.admin` for `/vup` (configurable via `permissions.vup`)
**Configuring Permissions**
Edit the `[permissions]` section in config.toml to customize permission nodes:
“`toml
[permissions]
gban = “myserver.admin.ban” # Custom permission for /gban
stats = “myserver.stats.view” # Require permission for /stats
lobby = “” # Empty string = no permission required
“`
**Using with LuckPerms**
Example LuckPerms commands:
“`
# Grant admin permissions
/lp group admin permission set vup.admin true
# Grant moderator permissions
/lp group moderator permission set vup.moderator true
# Grant premium player access
/lp user PlayerName permission set vup.premium true
# Allow all players to use stats
/lp group default permission set vup.stats true
“`
For detailed permission setup with LuckPerms, see the permissions guide.
**Common Issues**
*Database Connection Failures*
– Verify database credentials in config.toml are correct
– Ensure the database server is running and accessible
– Check firewall settings to allow connections on the database port (default 3306)
– Confirm the database and user have been created
*Players Not Being Balanced*
– Verify lobby server names in config.toml match exactly with names in velocity.toml (case-sensitive)
– Confirm that lobby servers are online and responding
– Check the Velocity proxy logs for connection errors or warnings
*Commands Not Working*
– Verify the player has the required permission (check config.toml permissions section)
– For database commands (/stats, /leaderboard), ensure database is enabled and connected
– For ban commands, check if database_bans feature is enabled in config.toml
*Statistics Not Tracking*
– Ensure database.enabled is set to true in config.toml
– Verify database.features.playtime_tracking is enabled
– Check database connection is working
– Review logs for any database errors
For more detailed troubleshooting steps, see TROUBLESHOOTING.md.
**Contributing**
Contributions are welcome! To contribute to this project:
1. Fork the repository
2. Create a feature branch: `git checkout -b feature/your-feature-name`
3. Make your changes and commit them: `git commit -m ‘Add some feature’`
4. Push to your branch: `git push origin feature/your-feature-name`
5. Open a Pull Request
Please ensure your code follows the existing code style and includes appropriate documentation.
**Support**
If you encounter any issues or have questions:
– Check the documentation files in the repository
– Open an Issue on GitHub with detailed information about your problem
When reporting issues, please include:
– Plugin version
– Velocity version
– Java version
– Relevant log excerpts
– Steps to reproduce the issue
**License**
This project is licensed under the MIT License.
**Credits**
– Metrics: Powered by bStats
– Database: HikariCP connection pooling
– Built for: Velocity Proxy
**Changelog**
**Alpha-0.1 (Current Release)**
– Database integration with MySQL/MariaDB support
– Player playtime tracking with per-server statistics
– Global ban system with offline support via database
– Statistics tracking for custom achievements
– Leaderboard system for playtime rankings
– Smart lobby balancing with offline detection
– Premium player routing to dedicated servers
– Configurable permission system
– Server invite system
– bStats metrics integration
**Planned Features**
– Friends system (database structure ready)
– Additional statistics tracking options
– Enhanced admin tools
—
Made with ❤️ for the Minecraft community
VelocityTitle
# VelocityTitle
**VelocityTitle** is a title plugin designed for **Minecraft Velocity networks**.
It stores and manages player title data on the **Velocity proxy**, then synchronizes data between the proxy and backend servers through plugin messaging channels. Titles can finally be displayed on backend servers through **PlaceholderAPI**, with **GUI support planned** for future versions.
This project is mainly intended to provide an **open-source and free solution** for cross-server title systems, especially for server networks that want to share prefixes, suffixes, and title data across multiple backend servers.
## Features
– Designed for Velocity server networks
– Centralized title data management on the Velocity proxy
– Cross-server synchronization
– PlaceholderAPI support for displaying prefix and suffix
– Supports creating, editing, deleting, granting, revoking, and wearing titles
– Command confirmation system for safer management
– Open-source and free to use
## Installation
1. Download the correct plugin build for your platform
2. Install the plugin on the corresponding server
3. **Velocity installation is required**, otherwise the plugin will not work
4. Complete the configuration according to the config files
5. If you want to display titles, use these PAPI placeholders:
– `velocitytitle_prefix`
– `velocitytitle_suffix`
## Notes
– `core` is not a standalone plugin and cannot be installed directly
– `reload` is currently unstable and not recommended
– Title names should only use English letters and underscores
– You can wrap display text in double quotes to input Chinese or other spaced text
## Links
– GitHub: https://github.com/redstarmc/velocitytitle
– Issues: https://github.com/redstarmc/velocitytitle/issues
– Releases: https://github.com/redstarmc/velocitytitle/releases
VelocitySlots
# VelocitySlots
VelocitySlots is a simple Velocity (and BungeeCord) plugin that **fakes the maximum player slots** in your server’s MOTD.
* Supports dynamic slot adjustment based on online players with an offset.
* Can also be set to a static number or an “unlimited” mode.
* Lightweight and requires **no other plugin dependencies**.
—
## Features
* **DYNAMIC mode**: Show `online players + offset` as max slots.
* **STATIC mode**: Always show a fixed maximum slot number.
* Configurable via `config.yml`.
—
## Installation
1. Place the `VelocitySlots.jar` in your `plugins/` folder.
2. Start Velocity — a default `config.yml` will be generated automatically.
3. Stop Velocity and edit `plugins/VelocitySlots/config.yml` as needed.
4. Restart Velocity to apply changes.
—
## Configuration (`config.yml`)
“`yaml
# ———————————————————-
# VelocitySlots Configuration File
# ———————————————————-
# This file allows you to control the “max slots” displayed
# in your server list (the MOTD), without affecting the real
# number of online players.
#
# You can configure static numbers and dynamic slots.
# All settings here only affect the max players shown
# to clients.
#
# Keep in mind, this is fake max slots, meaning if for
# example the max slots of your server is at 200 players,
# the limit will still work.
# ———————————————————-
# ————————
# MAX SLOTS MODE
# ————————
# Choose how the max slots should be displayed.
# Options:
# DYNAMIC -> max slots = online players + offset
# STATIC -> max slots = static-slots value
max-slots-mode: DYNAMIC
# ————————
# DYNAMIC MODE SETTINGS
# ————————
# Only used if max-slots-mode is set to DYNAMIC.
# The plugin will take the real online player count and
# add the offset. This makes the server appear fuller.
# Example: 50 players online + offset 10 => 50/60 shown
offset: 0
# ————————
# STATIC MODE SETTINGS
# ————————
# Only used if max-slots-mode is set to STATIC.
# This number will always be shown as the max slots in the
# server ping, regardless of the actual player count.
# Example: static-slots: 1 will show 20/1 if 20 are online
static-slots: 100
# ————————
# NOTES
# ————————
# 1. Only the max slots value is changed; online players
# always display the real count.
# 2. Offset is ignored in STATIC modes.
# 3. Setting max-slots-mode: DYNAMIC with offset: 0
# simply mirrors the current online count as max slots.
# 4. You can adjust these values at any time; the changes
# will take effect immediately for the next server ping.
“`
—
## Example
If you have **50 players online** and `offset: 10` in FAKE mode:
“`
MOTD: 50/60
“`
VelocityShield
# VelocityShield 🛡️
A powerful VPN detection plugin for Velocity proxy servers that helps protect your network from unwanted VPN connections.



## Features ✨
– **Dual VPN Detection**: Uses both proxycheck.io and ip-api.com for reliable VPN detection
– **Smart Fallback System**: Automatically switches between services if one fails
– **Efficient Caching**: Reduces API requests with configurable cache duration
– **Whitelist System**: Easily manage trusted IPs
– **Detailed Logging**: Track VPN detection events with timestamps
– **Modern Text Formatting**: Beautiful messages using Adventure’s text components
– **Permission System**: Control access to commands and bypasses
– **Configurable**: Highly customizable through config.yml
## Installation 📥
1. Download the latest release from the Releases page
2. Place the JAR file in your Velocity server’s `plugins` directory
3. Start or restart your Velocity server
4. Configure the plugin in `plugins/velocityshield/config.yml`
## Configuration ⚙️
“`yaml
# API Configuration
proxycheck-api-key: “YOUR_PROXYCHECK_API_KEY”
# VPN Detection Settings
use-proxycheck-as-primary: true
enable-fallback-service: true
allow-join-on-api-failure: true
# Cache Settings
enable-cache: true
cache-duration: 10
cache-time-unit: “SECONDS” # Options: SECONDS, MINUTES, HOURS, DAYS
# Debug Settings
enable-debug: false
“`
## Commands 🎮
| Command | Description | Permission |
|———|————-|————|
| `/velocityshield` or `/vshield` | Reload the plugin configuration | `velocityshield.reload` |
| `/vshieldwhitelist` or `/vshieldwl` | Manage whitelisted IPs | `velocityshield.whitelist` |
### Whitelist Commands
– `/vshieldwhitelist add ` – Add an IP to the whitelist
– `/vshieldwhitelist remove ` – Remove an IP from the whitelist
## Permissions 🔑
| Permission | Description |
|————|————-|
| `velocityshield.reload` | Allows reloading the plugin configuration |
| `velocityshield.whitelist` | Allows managing the IP whitelist |
| `velocityshield.bypass` | Allows bypassing VPN detection |
## API Integration 🤝
VelocityShield uses two VPN detection services:
1. **proxycheck.io** (Primary)
– Requires API key
– More accurate detection
– Higher rate limits with API key
2. **ip-api.com** (Fallback)
– Free to use
– No API key required
– Lower rate limits
## Performance Optimization 🚀
– **Caching**: Reduces API requests by caching results
– **Rate Limiting**: Prevents API service overload
– **Async Processing**: Non-blocking VPN checks
– **Efficient Cleanup**: Automatic cache maintenance
## Support 💬
– Create an issue for bug reports or feature requests
– Join our Discord server for community support
## Credits
– Velocity – The proxy server
– proxycheck.io – Primary VPN detection service
– ip-api.com – Fallback VPN detection service
– Adventure – Text formatting library
—
Made with ❤️ by PandaDevv
*This plugin uses bStats*
Velocity Server Switcher
# Server Switcher
A Velocity plugin that provides a **permission-based server switching system** for your Minecraft network.
## Features
– Fully configurable formatted server list with MiniMessage support
– Grouping of servers
– Detection of online status of the server
– Permissions to control which servers players can access and see in the server list
## Commands
– `/server` – Lists all servers the player has access to
– `/server ` – Switches the player to the selected server
– `/server reload` – Reloads the plugin configuration file
> **⚠️ Warning**
>
> It is strongly advised to avoid naming a server `reload`. Doing so will likely cause a conflict for players with the `serverswitcher.reload` permission.
## Permissions
| Permission | Description |
|—————————————|———————————————————-|
| `serverswitcher.list` | Access to the `/server` command |
| `serverswitcher.reload` | Access to `/server reload` |
| `serverswitcher.server.` | Allows access to the server `` |
| `serverswitcher.group.` | Allows access to all servers in the group `` |
– `serverswitcher.server.` and `serverswitcher.group.` can *optionally* be overriden with custom permission names in the config file.
– If a player does not have permission to access a server the server will be hidden from them by default. Setting the config value `alwaysShow` to `true` for a group or server, the server will always show up in the listing, but the player will be denied access if they attempt to connect while not having the permissions.
> **⚠️ Warning**
>
> This plugin **does not prevent a player from being on a server**; it only controls whether they can switch there themselves. If there are other ways to join a server, they may bypass this restriction. You might also want to prevent access to the Velocity server command by setting `velocity.command.server` to `false`.
## Config
See the config.toml file for available options.
VelocityResourcepacks
######  Made in Germany with love (and beer)
######

_Did you ever want to set one Server Resource Pack for your whole Velocity network? Or set a different pack for a couple of your servers behind your Velocity proxy and got annoyed by Minecraft re-downloading the same pack while switching servers? Then you came to the right place!_
This plugin lets you set one Server Resource Pack for you whole Velocity without the need to set them on your lobby server which would result in the client re-downloading the pack even when it already had it enabled!
It also has the ability to set the pack for each server individually and it even detects if the server behind the Velocity has send a pack itself and resets the pack to the global or server’s pack if the player switches to another server!
You can use my Bungee Resourcepacks plugin if you use the BungeeCord proxy and World Resourcepacks if you are looking for a Spigot/Paper version. It lets you set the pack per world and is compatible with this one.
**Please check if there are newer development builds before reporting issues!**
> Please note that the Vanilla Minecraft client only applies server resource packs that are smaller than **250MiB**! (50MiB before 1.15, 100MiB before in 1.18)
>
> Also certain new **SSL certificates** for URLs (like Let’s Encrypt) do not work with the old Java version shipped with Minecraft (Java 1.8.0_51, a bug report regarding that has been filed with Mojang) so you’ll have to either use a different certificate or a non encrypted download (not recommended!)
**Note:** This plugin only works on clients with versions above 1.8!
### **Features**
* Set different server resourcepacks per server or whole Velocity network
* Multiple pack support (on 1.20.3+)
* Sending the pack before the player joins the server (on 1.20.3+)
* Match server names with regex!
* Commands to configure the plugin ingame
* Language system with messages depending on the locale of the client
* Simplified compoment/json message formatting syntax (MineDown)
* Configurable delay before sending the pack to a player
* Remembers which pack a user has currently applied and doesn’t resend on server switch (broken on 1.20.2, 1.20.3+ has that fixed)
* Let the user set the pack himself. The pack can be re-applied on each login and will be used for resets on servers that don’t have the pack
* Inform the user which pack the server send them if it was done automatically
* ResourcePackSendEvent and ResourcePackSelectEvent for developers to react on the sending or selecting of a pack in their own plugins
* Send the correct pack format depending on the client’s version with pack-variants either via the version, protocol number or pack format id.
* Automatically generates the sha1 hashes!
* Compatible with AuthMe Reloaded, AuthMeVelocity, OpenLogin, NLogin, LibrePremium, JPremium.
Do you need it to be compatible with more plugins? Contact me!
### **Commands**
To execute every /vrp command you need the `velocityresourcepacks.command` permission!
**/vrp reload [resend]** – `velocityresourcepacks.command.reload` – Reloads the config file; resends the packs to every online player if the 2nd argument is “resend”
**/vrp version** – `velocityresourcepacks.command.version` – Shows the version of this plugin
**/vrp generatehashes** – `velocityresourcepacks.command.generatehashes` – Manually generate the resource pack hashes
**/vrp addpack ** – `velocityresourcepacks.command.addpack` – Add a new pack
**/vrp pack ** – `velocityresourcepacks.command.pack` – View and edit an existing pack
**/vrp listassignments** – `velocityresourcepacks.command.listassignments` – View all server assignments
**/vrp deleteassignment ** – `velocityresourcepacks.command.deleteassignment` – Delete a server assignment
**/vrp assignment ** – `velocityresourcepacks.command.assignment` – View and edit a server assignment
**/vrp globalassignment** – `velocityresourcepacks.command.globalassignment` – View and edit the global assignment
**/resetpack [] []** – `velocityresourcepacks.command.resetpack` – Reset the pack (of a player) to the empty one or the stored pack. (Like what would happen if you joined a server without any pack) If is set to false the stored pack of the player is reset too.
To execute every /usepack command you need the `velocityresourcepacks.command.usepack` permission!
To execute it for other players you need `velocityresourcepacks.command.usepack.others`!
To have access to a specific pack a player needs the `velocityresourcepacks.pack.` permission or the one defined for the pack in it’s config section!
**/usepack** – List all packs available to you
**/usepack []** – Send a specific pack to yourself or another player
### **Config**
The config.yml allows you to configure everything you can do set up via the commands and a lot more, take a look at the commands in the file on GitHub for an explanation on all options! (Some might only be available on the latest development builds!
### **About the client freeze**
> **This should no longer be an issue starting with 1.20.3!**
When a server resource pack is send to a client it will shortly freeze after the download is complete. (Same as manually applying a local pack) This happens because the client has to reload all resources, check which resources overlap and do some other calculation and manipulation with them. (Like stitching all the textures together to a single image like they were in the first texture pack format) It’s not a download issue as the client will locally cache the pack files and not re-download them if their hash didn’t change.
How long this takes generally depends on the PC’s performance and the size of the textures (HD packs take longer) that are used in all resource packs that the player has applied. (So even if the server resource pack doesn’t contain any HD textures or textures at all the client will still completely reload all locally applied resource packs) This is something that has to be fixed in the client by Mojang for example by only reloading resources that changed.
**1.14, 1.15 and 1.16 have some major improvements there and 1.20.3 basically fixed it all so suggest players to use these if they have issues with your server resourcepack!**
### **Dev-Resources**
The source is available on GitHub and licensed under the GPLv3.
Development builds can be found on the Minebench.de Jenkins.
There are also some Javadocs if you intend to develop plugins based on mine.
### **Support**
You can receive support in the resource discussion thread on PaperMC, the GitHub issue tracker, my IRC channel, or my Discord.
#####
*This resource is distributed without any warranty or liability by the author. Read more about it here*
VelocityReport




## Easy to install
There isn’t that many usable Report plugin out there and there is an almost zero usable report plugin for Velocity networks. VelocityReport also supports multiple platforms like Spigot, Paper, Purpur, etc… as a back-end server.
## Feature packed
Everything you want and need from a report plugin for your Minecraft server is right here! There are a lot of features like BookGUI, different report stages, rewards, RGB/gradient/component messages, custom report reasons, and much more…
Also, there is a bunch of API methods and events that you can use to create addons for the plugin and add new features.
## Quality support
You’re able to join our Discord and get help very quickly, up to instantly.
## Up to date
The plugin is not abandoned. It is constantly getting updated to fix reported bugs and get new optimizations that can help it run as smoothly as possible, whilst still doing what you want it to do.
## Multiple database types
You can use MySQL and SQLite as your database type.
## High performance
Unlike other plugins where “high performance” often means your CPU usage will be high, VelocityReport has an async database update that means there is no lag spike and high thread loads on your server.
VelocityPteroPower
# VelocityPteroPower




Please join the Discord if you have questions or for support!
**Manage your game servers with ease!** VelocityPteroPower connects your Velocity proxy to Pterodactyl, Pelican Panel, or Mc Server Soft, allowing for dynamic starting and stopping of your game servers.
**For detailed information on configuration, commands, and permissions, please visit our Docs Page.**
## Key Features
– **Multi-Panel Support**: Works with Pterodactyl, Pelican Panel, and Mc Server Soft.
– **Dynamic Server Management**:
– Automatically start servers when a player attempts to connect.
– Automatically stop idle servers after a configurable timeout.
– Manual control via commands (`/ptero start`, `/ptero stop`, `/ptero restart`).
– **Whitelist Integration**:
– Fetch and enforce server whitelists from Pterodactyl/Pelican panels.
– Reload whitelists on the fly with `/ptero whitelistReload`.
– **Efficient & Safe**:
– Respects panel API rate limits (Pterodactyl/Pelican/Mc Server Soft).
– Handles forced host connections, redirecting players to a limbo server.
– **Update Notifications**: Stay informed about new plugin versions.
– **Configurable**:
– Fine-tune server startup/shutdown behavior.
– Customize logging levels.
– Per-server settings for timeouts, join delays, and whitelist enforcement.
## Commands
– `/ptero start `
– `/ptero stop `
– `/ptero restart `
– `/ptero reload`
– `/ptero whitelistReload`
– `/ptero stopIdle`
– `/ptero forcestopall`
## Permissions
– `ptero.start`
– `ptero.stop`
– `ptero.restart`
– `ptero.whitelistReload`
– `ptero.reload`
– `ptero.stopIdle`
– `ptero.forcestopall`
– `ptero.bypass` (to bypass VPP whitelist checks if enabled)
## Installation
1. Download the latest `.jar` file from Modrinth.
2. Place the `.jar` file into your Velocity server’s `plugins` folder.
3. Restart your Velocity server.
4. Configure the plugin by editing `config.yml` in the `plugins/VelocityPteroPower` folder. **See the Docs Page for detailed configuration instructions.**
## Support
For issues, suggestions, or help, please open an issue on GitHub or join our Discord Server.
## Contributing
Interested in contributing? Join our Discord to discuss your ideas or submit a pull request!
## License
This project is licensed under the [MIT License]([https://github.com/Tubs-Pluginz/VelocityPteroPower/blob/dev/LICENSE).

VelocityPlayerListQuery
# VelocityPlayerListQuery
A Velocity plugin that shows current players in the server list.
Inspired by https://github.com/rtm516/SimplePlayerListQuery.
## Configuration options
| option | default | description |
| ————————– | ————- | —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————– |
| `playerListMode` | `”REPLACE”` | Configure how players are shown in the player list.
- `”UNCHANGED”`: Keep the player list as it is.
- `”ADD”`: Add players to the player list. `serverListEntryFormat` and `maxListEntries` are only applied for the added players.
- `”REPLACE”`: Replace the player list with players according to `serverListEntryFormat` and `maxListEntries`.
|
| `serverListEntryFormat` | `”%1$s”` | Configure how players are shown in the server list.
- `%1$s`: placeholder for the player name
- `%2$s`: placeholder for the server name, on which that player is currently playing on
|
| `maxListEntries` | `16` | Configure how many players are shown in the server list. `<= 0` for unlimited (for backwards compatibility). |
| `replaceOnlinePlayerCount` | `false` | Should the online player count be replaced with the number of players currently connected to Velocity? Useful when using `ping-passthrough = "all"`. |
| `replaceMaxPlayerCount` | `false` | Should the maximum player count be replaced with the Velocity configured amount? Useful when using `ping-passthrough = "all"`. |
| `fillMissingVersionInfo` | `false` | Should the version information be replaced with what is set in `versionProtocol` and `versionName`, when no version is detected? Useful when the backend server/s is/are unavailable or still starting. |
| `replaceVersionInfo` | `false` | Should the version information always be replaced with what is set in `versionProtocol` and `versionName`? Extends `fillMissingVersionInfo`. Useful when using `ping-passthrough = “all”`. |
| `versionProtocol` | `4` (= 1.7.2) | The protocol number to be set. You can find all available protocol versions at https://minecraft.fandom.com/wiki/Protocol_version#Java_Edition_2. Used by `fillMissingVersionInfo` and `replaceVersionInfo`. |
| `versionName` | `”Velocity”` | The version name to be set. Used by `fillMissingVersionInfo` and `replaceVersionInfo`. |
VelocityDiscordLink
## Makes your players link!
### /link command
– Can be changed to any string! Imagine /amongus code
– Customisable description and parameter name!
### Displays a single-use code on join!
– Keeps the same code for each players until proxy restart!
### Supports only one minecraft account per discord link!
– Players can’t spam 100 accounts to a single discord!
##Role whitelist!
###Role Check on join
– Will not let a player without a role on the server!
– Can be disabled