A simple Velocity plugin to whitelist/blacklist versions from connecting to your network. This let’s you block or allow certain versions.
## Features
* Whitelist/blacklist versions from connecting.
* Custom disconnect message.
## Documentation
Visit the [wiki](https://docs.hyper.lol/plugins/velocityblockversion/about/) for help.
## License
This plugin is released under GNU General Public License v3. See [LICENSE](https://github.com/hyperdefined/VelocityBlockVersion/blob/master/LICENSE).
VelocityAutoBackup
# VelocityAutoBackup
is a comprehensive plugin for the Velocity proxy server, designed to provide a fully automated, flexible, and secure backup solution. With direct integration into Google Drive, this plugin ensures all your critical server data is stored safely off-site and is accessible at any time.
This plugin is specifically designed to work with personal Google accounts, utilizing a unique authorization flow to bypass common technical limitations.
### ✨ Key Features
**_Flexible Scheduling_** ⏰: Configure multiple backup times within a single day through the config.yml. You can schedule backups to run twice, three times, or as often as you need, complete with timezone settings for precise scheduling.
**_Instant Manual Backups_** ⚡: With the /backup-now command, administrators can trigger a full backup process at any moment without waiting for the schedule. This feature is perfect before performing maintenance or significant server changes.
**_Dynamic File Naming_** 📝: Take full control of your backup file naming. Use placeholders like {server_name} and {timestamp} with a customizable date format (e.g., yyyy-M-d–HH-mm) to produce organized and easily searchable filename.
**_Full Google Drive Integration_** ☁️: Backups, compressed into a .zip format, are automatically uploaded to a specific folder in your Google Drive. The plugin supports the use of a personal Google account after completing a secure, one-time authorization process.
**_Reliable Anti-Loop Logic_** 🛡️: Built with a smart mechanism to automatically exclude its own directory from the backup process, preventing “backup loop” issues that can cause file sizes to grow uncontrollably.
[How to setup VelocityAutoBackup](https://github.com/DeluzeKitsuu/VelocityAutoBackup/blob/main/SETUP.md)
## Configuration
All settings are managed in `/plugins/velocityautobackup/config.yml`.
“`yaml
# A list of daily backup times in “HH:mm” format.
backup-times:
– “02:00”
– “14:00”
# The timezone for the schedule.
timezone: “UTC”
# The ID of the Google Drive folder where backups will be uploaded.
google-drive-folder-id: “PASTE_YOUR_FOLDER_ID_HERE”
# The name of the credentials JSON file.
credentials-file-name: “credentials.json”
# The server name to be used in the backup filename.
server-name: “proxy”
# The format for the backup filename.
# Use {timestamp} and {server_name}.
backup-file-name: “Backup-{server_name}-{timestamp}.zip”
“`
This is a Velocity plugin designed to manage a Minecraft whitelist using MySQL/MariaDB as the backend storage. Unable to find a plugin that met my exact requirements, I decided to adapt this one to suit my needs.
The project is based on [MySQLWhitelistVelocity by moesnow](https://github.com/moesnow/MySQLWhitelistVelocity) version 1.2.0.
## Installation
1. Download the latest release from the [Releases](https://github.com/rathinosk/VelocityWhitelist/releases) page.
2. Place the JAR file in the `plugins` directory of your Velocity proxy.
3. Start or Restart the proxy.
## Configuration
The plugin uses a configuration file (`config.properties`) located in the `plugins/velocitywhitelist` directory.
# Kick message
message: Sorry, you are not in the whitelist.
“`
### Configuration Options
– `enabled`: Set to `true` to enable the whitelist.
– `host`, `user`, `password`, `database`, `port`, `table`: MySQL database connection details.
– `message`: Kick message displayed to players not in the whitelist.
## Commands
# Basic Commands
– `/vwl add `: Add a player to the whitelist.
– `/vwl del `: Remove a player from the whitelist. (with DB autocomplete)
– `/vwl list `: Lists players matching search criteria. (min 2 characters)
# Admin Commands
– `/vwl enable`: Enable the whitelist.
– `/vwl disable`: Disable the whitelist.
– `/vwl reload`: Reload the config.properties.
– `/vwl debug `: Turn debug messages on or off.
## Permissions
– `velocitywhitelist`: Required to use the basic whitelist commands.
– `velocitywhitelist.admin`: Required to use whitelist admin commands.
## Usage
1. Configure the MySQL connection details in the `config.properties` file.
2. Start the proxy.
3. Use the `/vwl` command to manage the whitelist.
If you encounter any issues or have suggestions for improvement, please open an issue or submit a pull request on the [GitHub repository](https://github.com/rathinosk/VelocityWhitelist).
Velocity WebServer
🧩 WebServer
WebServer is a lightweight and simple HTTP server plugin for Velocity proxies.
It allows you to host a small website directly from your proxy without using external web servers.
Perfect for:
server status pages
landing pages
maintenance pages
API endpoints (future-ready)
✨ Features
🌐 Built-in HTTP server
⚡ Lightweight & fast
📁 Serves static files (HTML, CSS, JS, images)
🛠 Automatically creates default website
🔧 Configurable port
📦 No external dependencies
🔌 Designed for Velocity
📂 File Structure
After first launch:
velocity/
└─ WebServer/
├─ config.yml
└─ web/
├─ index.html
├─ style.css
└─ logo.png
You can fully replace the contents of the web folder with your own website.
⚙️ Configuration
port: 8080
Restart the proxy after changing the port.
🚀 Getting Started
1. Drop the plugin into your plugins folder
2. Start Velocity
3. Open your browser and go to: http://your-server-ip:8080
If the page opens — the plugin is working correctly.
🧠 Notes
Only static content is supported for now
Designed to be simple and secure
More features may be added in future updates
Lightweight HTTP API for Velocity proxies. Expose player lists, per-server counts, per-player details, etc. Ideal for websites, bots or other monitoring applications. I built it for my own uses, but it might help someone else out too.
## Quick Install
– Drop the compiled plugin JAR into your Velocity `plugins/` folder.
– Start (or restart) your proxy; the plugin will create its data folder and a `config.cfg` (if missing) in the plugin data directory.
## Configuration
– The plugin creates a `config.cfg` in its data folder on first run. Available keys:
– `port` : port the HTTP server listens on (default `25576`).
– `bindAddress` : interface/address to bind the HTTP server (default `0.0.0.0` to listen on all IPv4 interfaces; set to `127.0.0.1` for local-only access).
– `checkUpdates` : enable automatic Hangar update checks (default `true`).
– `snapshotUpdates` : include snapshot/unstable updates in checks (default `false`).
– `debugEnabled` : show debug messages (`logger.debug`) in the proxy console when `true` (default `false`).
– `allowedOrigins` : CORS allowed origins for HTTP API access (comma-separated, or * for all) (default `*`).
## Tested With
– Velocity 3.x (expects `velocity-api` on the runtime classpath)
## Endpoints
All JSON endpoints return `Content-Type: application/json; charset=utf-8` unless otherwise noted.
– `/`
– Serves the embedded `index.html` (browser-friendly).
– Example URL: `http://localhost:25576/`
– `/playerlist`
– Purpose: list connected players with basic metadata and a total count.
– Example URL: `http://localhost:25576/playerlist`
– Sample response:
– `/count`
– Purpose: return the total number of connected players.
– Example URL: `http://localhost:25576/count`
– Sample response:
“`json
{
“count”: 42
}
“`
– `/player/` or `/player?username=`
– Purpose: fetch detailed info for a connected player (exact-case lookup).
– Example URLs:
– `http://localhost:25576/player/Notch`
– `http://localhost:25576/player?username=Notch`
– Notes: returns `400` if username is missing; `404` if the player is not connected.
– Sample response:
– `/servers`
– Purpose: returns a mapping of server names to player counts.
– Example URL: `http://localhost:25576/servers`
– Sample response:
“`json
{
“lobby”: 5,
“minigames”: 12
}
“`
– `/health`
– Purpose: lightweight health check for monitoring.
– Example URL: `http://localhost:25576/health`
– Sample response:
“`json
{
“status”: “ok”
}
“`
## Commands
– `/vwapi reload` : reloads the `config.cfg` from the plugin data directory and restarts the HTTP server if the `port` or `bindAddress` have changed.
– `/vwapi version` : prints the plugin version (from the plugin metadata).
– `/vwapi debug [on|off]` : toggle or explicitly set debug logging at runtime. When enabled, the plugin prints detailed debug messages and HTTP access lines to the console.
– `/vwapi status` : shows the current HTTP server status (running/not running), the bound host and port, and an example URL you can visit (falls back to `localhost` when bound to all interfaces).
– `/vwapi help` : prints a short help listing the available `/vwapi` subcommands and usage examples.
## Permissions
– `vwapi.admin` : required to use the `/vwapi` commands.
## Notes & Behavior
– Player lookup is exact-case and only returns connected players.
– The HTTP server binds to `bindAddress`; by default this is `0.0.0.0` (all interfaces). Change to `127.0.0.1` for local-only access or a specific IP if desired.
– When you change `bindAddress` or `port` and run `/vwapi reload`, the plugin will restart the HTTP server automatically to apply the new bind/port (a full proxy restart is no longer required for those changes).
## Troubleshooting
– If the HTTP server does not start, check the proxy logs for errors about port binding or resource issues.
– Ensure `velocity-api` is available at runtime and that the plugin is placed in the correct `plugins/` folder.
## License & Support
– Licensed under the MIT License.
– If you need any help or support, please contact me on [our Discord](https://discord.2lz.pro/).
Velocity Vanish
# VelocityVanish
A lightweight vanish plugin for **Velocity** proxy servers. Vanished players are hidden from the tab list and trigger fake leave/join messages for players without the see permission.
## Installation
1. Drop `VelocityVanish.jar` into your Velocity proxy’s `plugins/` folder.
2. Restart (or reload) the proxy.
> **Do not install this on your backend (Paper/Purpur) servers.** It runs on the proxy only.
## Commands
| Command | Description |
|—|—|
| `/vanish` | Toggle vanish on yourself |
| `/vanish ` | Toggle vanish on another online player |
| `/v` | Alias for `/vanish` |
## Permissions
| Permission | Description |
|—|—|
| `vanish.use` | Required to use `/vanish` at all |
| `vanish.others` | Required to vanish/unvanish other players |
| `vanish.see` | See vanished players in tab list; skip fake join/quit messages |
## How It Works
– **Tab list** — When a player vanishes, their entry is removed from the tab list of every player who does not have `vanish.see`. Players with `vanish.see` always see everyone.
– **Fake messages** — When a player vanishes, a fake `left the game` message is broadcast to players without `vanish.see`. When they unvanish, a fake `joined the game` message is broadcast.
– **Server switches** — The tab list is refreshed every time any player changes backend servers, keeping it accurate across your network.
– **Disconnect cleanup** — If a vanished player disconnects, they are automatically removed from the vanished set and the tab list is updated.
## Limitations
– Vanish state is stored **in memory only**. If the proxy restarts, all players will be unvanished.
– Backend servers are unaware of vanish state. Players on the same backend server may still see vanished players through means other than the tab list (e.g. nearby detection in-game). For full invisibility, pair this with a backend vanish plugin.
## Requirements
– Velocity **3.4.0** or newer
– Java **21**+
StaffChat
**What’s New in Version 1.1.0:**
– Switched configuration to YAML (`config.yml`) for easier editing and more flexibility
– Config auto-update: After plugin updates, your config.yml is automatically merged with the latest default config. New options are added, your values are preserved, and the layout (including comments) always matches the latest default.
– All messages (including toggle messages for /sctoggle) are now fully configurable and translatable via config.yml.
– Added support for <#RRGGBB> hex colors, &-codes, and §-codes in all configurable messages (prefix, format, toggle, etc.)
– Discord integration: Staff chat can now be linked with a Discord channel (bi-directional)
– Discord messages in Minecraft are clearly marked as `[STAFF][D]` and support formatting
– Fixed: Discord messages are now reliably shown in Minecraft (requires Discord MESSAGE_CONTENT intent)
– Many internal code cleanups and bugfixes
**What’s New in Version 1.0.0:**
– Staff chat command: `/sc `
– Multiple aliases: `/staffchat`, `/s`, `/a`
– Permission-based access (`staffchat.use` by default, configurable)
– Customizable prefix and message format with color code support (`&` codes)
– Configuration file (`config.properties`) for easy customization
– Toggle command `/sctoggle` to enable or disable receiving staff chat messages
– Console logging of all staff chat messages
**Commands:**
– /sc – Send a message to staff chat
– /staffchat – Alias for /sc
– /s – Alias for /sc
– /a – Alias for /sc
– /sctoggle – Enable or disable receiving staff chat messages
**Permissions:**
staffchat.use – Allows the player to use and see staff chat
**How to Use:**
– Type `/sc ` to send a message to all online staff members
– Use `/sctoggle` to mute or unmute staff chat messages for yourself
If you have questions, suggestions, or need help, feel free to contact me on [Discord](https://discord.com/invite/vVrpvBEfeQ).
Velocity-Skript
# Velocity-Skript
## _Having bugs on new Velocity Version will be fixed next update_
—
### _**A Velocity Plugin where you can create your own commands like the bukkit plugin Skript!**_
**Test.vsk** _(every skript file need to end with .vsk to work)_
“`
# Welcome message on player join
on join:
send “Welcome, %player%! Enjoy your stay on %players-server%!” to player
# Commands
command /greet:
trigger:
send “Hello, %player%! Welcome to the server!” to player
# Broadcast to the everybody
command /broadcast:
trigger:
broadcast “Attention everyone!”
command /connectlobby:
trigger:
connect player to “Lobby-1”
“`
## Available Placeholders
> **%player%**
>
> Description: This placeholder is replaced with the username of the player who triggered the command or event.
> Example Usage: send “Hello, %player%!” to player
> Example Output: Hello, DieSuperKatze!
> **%players-server%**
>
> Description: This placeholder is replaced with the name of the server that the player is currently connected to.
> Example Usage: send “You are currently on %players-server%.” to player
> Example Output: You are currently on Lobby-1.
> **%loop-player%**
>
> Description: This placeholder is used within a loop of all players. It is replaced with the username of the player being processed in the current iteration of the loop.
> Example Usage: send “Hello, %loop-player%!” to loop-player
> Example Output: Hello, Player1! (and so on for each player in the loop)
## Todo:
– Adding events for setting Server Motds
– Adding multiple arguments in one command
– Fix issues with the every
Join my Discord server for support, questions, or just to hang out!
—
Velocity Server Manager
# Velocity Server Manager
This project is a fork of [BungeeServerManager](https://git.fetz-gr.ch/NoahFetz/bungeeservermanager) by Noah Fetz, edited to work on Velocity Proxies.
This project follows the MIT License as per upstream, it has not been edited.
Check out the original Plugin on SpigotMC here: [BungeeServerManager [BungeeCord] [MySQL]](https://www.spigotmc.org/resources/bungeeservermanager-bungeecord-mysql.24837/)
## Features
* Add or Remove Servers from your Velocity Proxy without restarting
* Restriction who can join specific servers with permissions
* Jump to any player’s server you want
* Servers are saved in a MySQL Database
* Receive notifications when servers go online or offline
* Kick all players from a specific server to a random lobby
* Manage Server Flags to customize server behavior
* /hub or /lobby command to go to a lobby server
* Configurable messages
## Known Issues.
– No known issues at this time.
## Installation
### Prerequisites
You’ll need:
* A Proxy that is running Velocity (duh)
* A MySQL or MariaDB Database
* About 5-10 minutes of your time to set everything up
### Setup
1. Download the latest release of Velocity Server Manager.
2. Place the downloaded `.jar` file into your `plugins` folder of your Velocity Proxy.
3. Start your Proxy to generate the default configuration files. It will shutdown automatically due to a missing database connection.
4. Open the generated `mysql.yml` file in a text editor and fill in the details for a valid database connection.
5. Start your Proxy again. The plugin should connect to the database and create the necessary tables.
6. (Optional, but **_encouraged_**) Remove all servers that are not fallback servers from your `velocity.toml`. Instead, add them using `/addserver` either ingame or in the console. Refer to [here](#commands).
7. (Optional) Configure the messages in `messages.yml` to your liking.
You are now ready to use Velocity Server Manager! Have fun managing your servers on the fly, dynamically.
### FAQ
If you read this, you’ve probably encountered an issue or are interested in some other stuff. Here are some common things and what to do:
1. **The Proxy shuts down immediately after starting!**
– Make sure your database connection details in `mysql.yml` are correct.
– Ensure that your database server is running and accessible from the machine running the Proxy.
– If any of the above do not apply, check the Proxy logs for any error messages related to the plugin. It is probably not this plugin’s fault. (Hopefully)
2. **I can’t connect to a server that I added!**
– Make sure the server is online and reachable from the Proxy.
– Check `/server` to see if the server is listed. If it isn’t, it probably has the `DISABLED` [flag](#flags) set.
– Check if the server is marked as `RESTRICTED` and ensure you have the necessary permissions to join it.
3. **The plugin doesn’t seem to be working at all!**
– Update Velocity if you haven’t updated in a while.
– Check the Proxy logs for any error messages related to the plugin.
4. **I found a bug or have a feature request!**
– Open an issue [here](https://github.com/GunnableScum/velocity-server-manager/issues) on GitHub describing the problem or feature you’d like to see.
– Please do not contact me on any other platform regarding bugs or features. GitHub is the only place where I want and will track these things. I’ve had somebody interested in a different project message me on Reddit in a Private Chat. Who does that?
## Permissions
Have fun configuring to your heart’s desire.
* `servermanager.goto` – Be able to use /goto and /jumpto.
* `servermanager.help` – See the help list.
* `servermanager.notify` – Receive notifications when somebody manages servers.
* `servermanager.servers.add` – Add servers to your network.
* `servermanager.servers.delete` – Delete servers from your network.
* `servermanager.servers.reload` – Reload server data from the database and re-add them to the proxy.
* `servermanager.servers.list` – List all servers in your network.
* `servermanager.servers.kick` – Kick all players from a specific server to a random lobby.
* `servermanager.ignorekick` – Be exempt from being kicked when a server is cleared.
* `servermanager.servers.info` – View information about a specific server.
* `servermanager.servers.flags` – Manage Server flags. Check [here](#flags) for more info.
* `servermanager.server.[servername]` – Access a specific server if it has the `RESTRICTED` flag.
* `servermanager.server.*` – Access all servers that have the `RESTRICTED` flag.
* `servermanager.ignorerestriction` – Ditto of the above, if your Permission system does not support wildcards.
## Commands
– `[hub, lobby]` – Go to a Lobby Server
– `[goto, jumpto]` – Go to a player’s current server
– `[whereami, wai]` – Find which server you are currently on
– `[addserver]` – Adds a server to your network
– `[delserver]` – Deletes a server from your network
– `[reloadserver]` – Reloads the data of a specific server or all servers in the network
– `[serverlist, sl]` – Lists all servers in your network
– `[serverinfo, si]` – Shows some information about a specific server
– `[flagserver]` – Add a flag to a server
– `[unflagserver]` – Remove a flag from a server
– `[clearserver, kickserver]` – Kicks all players from the specific server to a random lobby
– `[servermanager]` – A unified command for every action
## Flags
Flags are how to plugin identifies servers and their conditions. Some are immutable.
* `EMPTY (Bitvalue: 0)` – No flags set
* `LOBBY (Bitvalue: 1)` – This server is a lobby server. Players will be sent here when they join the proxy or are kicked from another server.
* `RESTRICTED (Bitvalue: 2)` – This server is restricted. Only players with the `servermanager.server.*` or `servermanager.ignorerestriction` permission can join.
* `DISABLED (Bitvalue: 4)` – This server is disabled. Players cannot join this server, not even staff. If you want this server to be joinable by only staff, use RESTRICTED instead.
* `PROXYMANAGED (Bitvalue: 9)` – This server is managed by the proxy. This flag is immutable and applies to all servers added in the `velocity.toml` file. If this flag is present, you cannot apply any other flags.
**NOTE: Bitvalue 9 means that the PROXYMANAGED flag is a combination of the LOBBY flag and itself. This is intentional to encourage people to only put fallback servers into their `velocity.toml` file.**
**NOTE: Flags of Servers are stored in the database. Please do not tamper with the database manually unless you know exactly what you are doing. I will not fix any bugs where the database has been manually tampered with. You are on your own.**
## Contribution
I made this as a small side project to learn a tiny bit more about Programming for the Velocity Proxy. I will probably not look at PR Requests anytime soon. If you do feel up to the task, you can fork this repository instead.
Just make sure to follow the license.
Instead, if you’d like to support me financially, you can [Donate on my Ko-Fi Page](https://ko-fi.com/GunnableScum)!
## License
This fork is licensed under the upstream MIT License – see the LICENSE file here or [upstream](https://git.fetz-gr.ch/NoahFetz/bungeeservermanager/-/blob/master/LICENSE?ref_type=heads) for details
Velocity Server Aliases
# Velocity Server Aliases
## Overview
Simple plugin for Velocity Proxy that provides server command aliases/shortcuts. It makes it easier for players to move between servers in the network without typing complex commands.
## Plugin Information
– **Velocity Version**: 3.4.0-SNAPSHOT
– **Java**: 17+
**Note**: You can add more aliases by editing the `config.toml` file in the plugin folder.
## Custom Messages
The plugin supports configurable custom messages using:
– **Color codes**: `&a` (green), `&e` (yellow), `&c` (red), `&b` (cyan), `&f` (white)
– **Placeholder `{server}`**: Replaced with the target server name
### Configurable Messages:
– `connecting`: Message when connecting to a server
– `already_connected`: Message when you are already on that server
– `server_not_found`: Message when the server does not exist
—
# Velocity Server Aliases
## Overview
Plugin simple para Velocity Proxy que proporciona aliases/shortcuts para comandos de servidor. Facilita a los jugadores moverse entre servidores en la red sin escribir comandos complejos.
**Nota**: Puedes agregar más aliases editando el archivo `config.toml` en la carpeta del plugin.
## Mensajes Personalizados
El plugin soporta mensajes personalizados configurables con:
– **Códigos de color**: `&a` (verde), `&e` (amarillo), `&c` (rojo), `&b` (cyan), `&f` (blanco)
– **Placeholder `{server}`**: Se reemplaza con el nombre del servidor de destino
### Mensajes Configurables:
– `connecting`: Mensaje al conectar a un servidor
– `already_connected`: Mensaje cuando ya estás en ese servidor
– `server_not_found`: Mensaje cuando el servidor no existe