VelocityVersionBouncer

# VelocityVersionBouncer
**A simple and fully automated way to connect players to the correct server based on their game version.**

**VelocityVersionBouncer** is a plugin for the [Velocity proxy](https://papermc.io/software/velocity) (tested on version 3.4) that automatically selects the most compatible backend server for a connecting player, based on their protocol version (Minecraft game version).


### 🔧 How It Works
– Everytime a client connects to your proxy the plugin will check all the registered servers and compare their protocol versions (game versions).
– By default, the first server that matches will be selected (you can change that in the config).
– There is a config.toml file located in the plugins folder (`plugins/VelocityVersionBouncer/config.toml`).
– In the config itself each option is pretty well explained (nevertheless I’ll include an example config.toml at the end of this README).
– Optional features include: a fallback functionality as well as comparing versions for server list pings.
### ❓ Questions you may have:
– **Is this also triggered when changing servers via `/server`?** No, the version checking is only triggered when connecting initially (from the multiplayer server list) or when using the fallback functionality.
– **What happens if no compatible server is found?** The client will simply be disconnected with the according note/reason.
– **Does this work with modded minecraft servers?** If you’re using setups like Ambassador+ProxyCompatibleForge [(more information)](https://docs.papermc.io/velocity/server-compatibility) this plugin will route the client based purely on their protocol version (game version), not their installed mods. _Note: This setup has only been tested with PaperMC and (Neo)Forge servers._
### 📦 Installation & 🛠️ Requirements
1. Download the `.jar` file of the last stable release ([here](https://github.com/Hallo5000/VelocityVersionBouncer/blob/master/build/libs/VelocityVersionBouncer-1.5.0-release.jar)) or build it yourself (the gradle files are included).
2. Put the file in your servers `plugins/` folder (only the proxy!) and restart the server once to generate the config file.
3. When you’re finished editing the config restart the proxy once more and everything should be working.
_Note: this plugin may not work properly if you are not running on `Java 21` (or higher) and `Velocity 3.4.0` or above_
4. If you’re having problems: make sure you’re not using a snapshot (as these are expected to be unstable and this README is always explaining the latest release anyway), if there’s still a problem feel free to open an issue on the plugins GitHub repository.

## Example Config:
“`toml
# This config is used to determine how and if servers are checked for their protocol versions whenever a client tries to connect to a backend server (and optionally if they lost connection)

# ‘whitelist’ is a string array of server names to check for their protocol version when a client tries to connect.
# leaving this empty is equal to putting all registered servers in
# Example: [“server1”, “server2”]
# Note: spaces outside the strings will be ignored.
whitelist = [“lobby1”, “lobby2”, “fun-minigame”, “devServer”]

# ‘blacklist’ is an array of strings to exclude from the temporary list of servers during version comparison.
# first the whitelist is added and then all servers contained in the blacklist are removed from that temporary list.
blacklist = [“devServer”]

# If enabled this option ensures that joining players will be distributed evenly over all servers
# Options: (case-insensitive)
# “FIRST-MATCH” – players will be sent to the first matching server
# “BALANCED” – players will be evenly distributed over all matching servers
distribution = “FIRST-MATCH”

# This option if set to ‘true’ lets you override verlocity’s way of determining the server list ping response by using the try-list of the config (‘ping-passthrough’)
# instead when a client sends a server ping it will use the same algorithm to determine a matching server as in the joining/fallback process
# be carefully when also using clientbrands in the explicit routings as these can’t be used to match server pings
server-list-ping = false
# This option determines wether to use velocities ping-passthrough when no matching server was found for the ping response
# If set to true, things like the description will probably show but the client shows that the version doesn’t match,
# otherwise the client will display “Can’t connect to server”
# This option will also be ignored if ‘server-list-ping’ is set to false
default-to-ping-passthrough = true

# This defines how often all backend servers get pinged to refresh infos in the plugins ping cache
# in seconds
ping-intervall = 300

# If enabled this option ensures that whenever a client is kicked from a server (whether during login, via /kick, or for another reason),
# they will be automatically redirected (bounced) to another server instead of being disconnected. (obviously if a client disconnects explicitly via leaving the server they will not be redirected)
enable-fallback-bouncing = true
# If set to true, the server the client was kicked from will be temporarily excluded from fallback options,
# preventing the client from being sent back there during fallback-bouncing.
exclude-previous-server = false
# When there is a valid server name in ‘explicit-fallback-server’ the plugin won’t search for a new server and instead only tries the specified server.
# Leave this empty, if you’d like to disable this option (also this is disabled when enable-fallback-bouncing is set to false).
explicit-fallback-server = “lobby”

# —— explicit routing ——
# Syntax
# v1_x_x – game version
# p000 – protocol version (Protocol Versions for every release/snapshot can be found here: https://minecraft.wiki/w/Minecraft_Wiki:Projects/wiki.vg_merge/Protocol_version_numbers)
# cFORGE – Client brand (for example: vanilla, forge, fabric, Geyser (for player joining through GeyserMC), badlion, etc.
# either a game version (v) or a protocol version (p) is necessary but client brands (c) are completely optional
# when no client brand is defined the routing just takes every client joining with the defined game/protocol version
[explicit-routing]
# Example: v1_21_8cFORGE = “lobby-1”
# Example: p123 = “lobby-2”
# Example: cGeyser = “GeyserMC-server”
“`

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.

[![License](https://img.shields.io/github/license/jackh54/velocityshield)](LICENSE)
[![Java](https://img.shields.io/badge/Java-17-orange.svg)](https://www.oracle.com/java/)
[![Velocity](https://img.shields.io/badge/Velocity-3.4.0-blue.svg)](https://www.velocitypowered.com/)

## 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](https://modrinth.com/plugin/velocityshield/versions) 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](https://discord.gg/CzJvE4G5cU) for community support

## Credits

– [Velocity](https://www.velocitypowered.com/) – The proxy server
– [proxycheck.io](https://proxycheck.io/) – Primary VPN detection service
– [ip-api.com](https://ip-api.com/) – Fallback VPN detection service
– [Adventure](https://docs.advntr.dev/) – Text formatting library

Made with ❤️ by [PandaDevv](https://github.com/jackh54)

*This plugin uses [bStats](https://bstats.org/plugin/velocity/VelocityShield/25843)*

VelocityResourcepacks

###### ![https://i.imgur.com/O6LAUDf.png](https://i.imgur.com/O6LAUDf.png) Made in Germany with love (and [beer](https://s.moep.tv/beer))

######

![Velocity Resourcepacks Logo](https://i.phoenix616.dev/hqLoZwBh.png)

_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](https://modrinth.com/plugin/bungeeresourcepacks) plugin if you use the BungeeCord proxy and [World Resourcepacks](https://modrinth.com/plugin/worldresourcepacks) 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](https://ci.minebench.de/job/resourcepacksplugins/) 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](https://bugs.mojang.com/browse/mc-143768) 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](https://wiki.phoenix616.dev/library:minedown:syntax))
* 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](https://docs.phoenix616.dev/resourcepacksplugins/de/themoep/resourcepacksplugin/velocity/events/resourcepacksendevent.html) and [ResourcePackSelectEvent](https://docs.phoenix616.dev/resourcepacksplugins/de/themoep/resourcepacksplugin/velocity/events/resourcepackselectevent.html) 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](https://www.spigotmc.org/resources/authme-reloaded.6269/), AuthMeVelocity, [OpenLogin](https://www.spigotmc.org/resources/openlogin-1-7x-1-19x.57272/), NLogin, [LibrePremium](https://www.spigotmc.org/resources/librepremium-proxy-authorization-plugin-automatic-login-2fa.101040/), JPremium.
Do you need it to be compatible with more plugins? [Contact me](https://github.com/phoenix616/resourcepacksplugins/issues/new)!

### **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](https://github.com/phoenix616/resourcepacksplugins/blob/master/velocity/src/main/resources/velocity-config.yml) for an explanation on all options! (Some might only be available on the [latest development builds](https://ci.minebench.de/job/ResourcepacksPlugins/)!

### **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](https://github.com/phoenix616/resourcepacksplugins) and licensed under the [GPLv3](https://github.com/phoenix616/resourcepacksplugins/blob/master/license).
Development builds can be found on the Minebench.de [Jenkins](http://ci.minebench.de/job/resourcepacksplugins/).
There are also some [Javadocs](http://docs.phoenix616.dev/resourcepacksplugins/) if you intend to develop plugins based on mine.

### **Support**
You can receive support in the [resource discussion thread on PaperMC](https://forums.papermc.io/threads/velocityresourcepacks.30/), the [GitHub issue tracker](https://github.com/phoenix616/resourcepacksplugins/issues), [my IRC channel](https://irc.phoenix616.dev/), or [my Discord](https://phoenix616.dev/discord).

#####

*This resource is distributed without any warranty or liability by the author. Read more about it [here](https://github.com/Phoenix616/ResourcepacksPlugins/blob/master/LICENSE#L589-L610)*

VelocityReport

[![image](https://i.imgur.com/46IouRo.png)](https://github.com/Syrent/VelocityReport)
[![image](https://i.imgur.com/J9wNr1T.png)](https://modrinth.com/plugin/velocityvanish)
[![image](https://i.imgur.com/I5r8RZg.png)](https://modrinth.com/plugin/enhancedvelocity)
[![image](https://i.imgur.com/B4jL8Hr.png)](https://discord.gg/SW3NeujBmh)

## 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](https://discord.gg/VZk2XU3kFg) 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
![Static Badge](https://img.shields.io/badge/Velocity-green)
[![forthebadge](https://forthebadge.com/images/badges/works-on-my-machine.svg)](https://forthebadge.com)


buymeacoffee





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](https://docs.pluginz.dev/).**

## 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](https://modrinth.com/plugin/velocitypteropower).
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](https://docs.pluginz.dev/) for detailed configuration instructions.**

## Support
For issues, suggestions, or help, please [open an issue on GitHub](https://github.com/TubYoub/VelocityPteroPower/issues/new) or join our [Discord Server](https://discord.pluginz.dev).

## Contributing
Interested in contributing? Join our [Discord](https://discord.pluginz.dev) 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).

[![forthebadge](https://forthebadge.com/images/badges/powered-by-black-magic.svg)](https://forthebadge.com)

VelocityPlayerListQuery

# VelocityPlayerListQuery

A Velocity plugin that shows current players in the server list.

Inspired by .

## Configuration options

| option | default | description |
| ————————– | ————- | —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————– |
| `playerListMode` | `”REPLACE”` | Configure how players are shown in the player list.

|
| `serverListEntryFormat` | `”%1$s”` | Configure how players are shown in the server list.

|
| `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 . 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

Velocity Discord

# Velocity Discord

Chat from all servers gets bridged with a discord channel

## Features

– Configurable
– Webhooks or embeds or normal text for messages
– Player count in bot status
– List command
– Templating syntax for all messages
– Death and Advancement messages shown
– Server start/stop messages
– Server status in channel topic
– Reload command for config changes while the server is running

> **Note**
> This requires a [companion Velocity plugin](https://github.com/unilock/YepLib)
> and [companion backend mod/plugin](https://github.com/unilock/YepTwo) for advancement/death messages

## Installation

1. Create a bot application [here](https://discordapp.com/developers/applications/)
– Go to the `Bot` tab and click `Add bot`
2. Enable the `SERVER MEMBERS INTENT` and `MESSAGE CONTENT INTENT` under `Privileged Gateway Intents`
3. Copy the bot’s token, you might have to click `Reset Token` first
4. Install the plugin on your server, start the server once, then stop the server again
5. Open the plugin config file at `plugins/discord/config.toml`
6. Under `[discord]`, paste your token in place of `TOKEN`
7. Under `[discord]`, paste the channel id you want to use
– To get a channel id, you have to enable developer mode in Discord
– Open Discord settings, go to `Advanced`, then turn on `Developer Mode`
– Now right-click the channel you want to use and click `Copy ID`
8. Set any additional config options you want
9. Start the server and check if it works

### For Webhooks

1. Create a webhook in the channel you want to use
– Right-click the channel, click `Edit Channel`, go to `Integrations`, click `Create Webhook`
– Copy the webhook URL
2. Paste the webhook URL under `[discord.webhook]` in the config file

### For advancements/deaths

1. Install the [YepLib](https://github.com/unilock/YepLib) velocity plugin alongside this plugin
2. Install the [YepTwo](https://github.com/unilock/YepTwo) backend mod/plugin on each of your backend servers that you want to
receive advancements/deaths from

### Configuration

The config file is generated at `plugins/discord/config.toml`. See [here](https://github.com/fooooooooooooooo/VelocityDiscord/wiki/Configuration) for the default config

VelocityCoolList

### [Hangar page](https://hangar.papermc.io/atikiNBTW/VelocityCoolList)

VelocityCoolList is a simple and easy-to-use plugin for Minecraft Velocity servers that allows you to create a whitelist based on nicknames.

## Commands and permissions
The main command is “`/vclist“`, it shows you information about VelocityCoolList, below are its arguments:
| Argument| Description | Permission |
|———|——————————————-|—————|
| enable | Enables whitelist. | vclist.admin |
| disable | Disables whitelist. | vclist.admin |
| add | Add player to the whitelist. | vclist.manage |
| remove | Remove player from the whitelist. | vclist.manage |
| list | Gives you a list of whitelisted players. | vclist.manage |
| reload | Reload plugin. | vclist.admin |
| clear | Clears the whitelist. | vclist.manage |
| status | Get the status of the plugin. | vclist.admin |

Aliases: “`/vcl“`, “`/velocitycoollist“`

## Colors and formatting
This plugin supports MiniMessage modern formatting, which allows you to make gradients and many other things.
Here is what this formatting supports, its documentation is in config and [here](https://docs.advntr.dev/minimessage/format.html#standard-tags)!

![picture1](https://docs.advntr.dev/_images/rainbow_1.png) ![picture2](https://docs.advntr.dev/_images/newline_1.png) ![picture3](https://docs.advntr.dev/_images/insertion_1.png)