Velocity Discord
Discord intergration for Velocity
Velocity Discord
🔗 VelocityDiscord
VelocityDiscord is a powerful and extensible plugin that connects your Velocity Proxy directly to Discord, allowing real-time communication and automation between your Minecraft network and your Discord server.
The plugin is designed with stability, performance, and future expansion in mind, making it suitable for both small and large proxy-based networks.
✨ What does VelocityDiscord do?
VelocityDiscord acts as a bridge between Velocity and Discord. It enables your proxy to send information, updates, and events directly to Discord channels, creating better transparency and interaction for staff and community members.
The plugin provides a clean foundation that can be expanded with additional features such as player tracking, server status updates, moderation logs, and more.
🚀 Core Features
- 🔗 Discord Bot Integration - Connects to Discord using a bot token - Sends messages to configurable Discord channels
- 🧠 Velocity Proxy Integration - Listens to core Velocity events - Designed to support player, server, and network events
- ⏱ Task Scheduling - Uses Velocity’s scheduler for periodic tasks - Ideal for automated updates such as Discord topic changes or status messages
- ⚙️ Configuration System - Simple and clear configuration setup - Easily configurable Discord tokens and channel IDs
- 🛠 Technical Details - Built specifically for Velocity Proxy - Optimized for performance and long-term stability - Proper lifecycle handling for plugin startup and shutdown - Safe and structured scheduler usage - Ready for production environments
- 🎯 Intended Use - VelocityDiscord is perfect for: - Minecraft networks using Velocity - Staff teams that want Discord updates from the proxy - Developers looking for a solid Discord integration base - Servers planning advanced Discord automation in the future
- 📦 Installation - Download the plugin from Modrinth - Place the .jar file in your Velocity plugins folder - Start the proxy once to generate the configuration - Configure your Discord bot token and channel IDs dont forget to enable all intents in the bot settings - Restart Velocity
- 🧾 Notes - This project is actively developed - Feedback and feature requests are welcome - Designed to grow alongside your network
The standard config can you find below;
``` config-version: 2
-----------------------------------------------------
Config version
Used for future migrations
Do NOT change this manually
-----------------------------------------------------
=====================================================
VelocityDiscord - Configuration
=====================================================
Everything in this file can be customized
#
Placeholders are automatically replaced.
If something is configured incorrectly,
the plugin will use safe default values.
=====================================================
-----------------------------------------------------
Discord bot settings
-----------------------------------------------------
discord:
Discord bot token
Obtain this via https://discord.com/developers/applications
WARNING: NEVER share this with others
token: "PUT_DISCORD_BOT_TOKEN_HERE"
Discord guild (server) ID
This is the Discord server where the bot is active
guild-id: 0
Discord channel ID for server notifications
Also used as fallback when multiple servers share one channel
channel-id: 0
Discord bot status
Examples:
"Watching Velocity"
"Playing Minecraft"
"Listening to chat"
status: "Watching Velocity"
-------------------------------------------------
Discord role → Minecraft chat prefix
-------------------------------------------------
roles: admin: role-id: 1447273936982245397 prefix: "<red>[Support]</red>" priority: 100
moderator: role-id: 987654321098765432 prefix: "<blue>[Mod]</blue>" priority: 80
-------------------------------------------------
Discord → Minecraft chat settings
-------------------------------------------------
chat:
Chat format for messages sent from Discord
to Minecraft
#
Available placeholders:
{user} - Discord username
{message} - The Discord message
#
Example output:
[Discord] <Assausive> Hello everyone!
format: "[Discord] <{user}> {message}"
-----------------------------------------------------
Minecraft → Discord chat settings
-----------------------------------------------------
chat:
Enable/disable Minecraft chat → Discord
enabled: true
Chat format for messages sent from Minecraft
#
Available placeholders:
{server} - Velocity server name
{player} - Player name
{message} - Chat message
#
Example output:
[survival] <Steve> Hello Discord!
format: "[{server}] <{player}> {message}"
Servers whose chat should NOT be sent to Discord
#
Use the exact server names
as defined in velocity.toml
ignored-servers: - deve - test - dev
luckperms:
Enable LuckPerms integration
If false or LuckPerms is not installed,
the plugin will automatically fall back
enabled: true
Show LuckPerms prefix in Discord chat
show-prefix: true
Show LuckPerms suffix in Discord chat (optional)
show-suffix: false
What to do with color codes from LuckPerms
STRIP = remove colors (&c, §c, etc.)
KEEP = keep as plain text (no colors)
MINIMESSAGE = convert to MiniMessage (advanced)
color-mode: STRIP
Fallback prefix if player has no LuckPerms prefix
fallback-prefix: ""
-----------------------------------------------------
Join / Leave / Switch settings
-----------------------------------------------------
join-leave:
Send a message when a player
joins the network
join-enabled: true
Send a message when a player
leaves the network
leave-enabled: true
Send a message when a player
switches servers (e.g. lobby → survival)
switch-enabled: true
-------------------------------------------------
Join / Leave / Switch messages (embeds)
-------------------------------------------------
messages:
Message when a player joins
#
Available placeholders:
{player} - Player name
{server} - Server name
join: "{player} joined {server}"
Message when a player leaves
leave: "{player} left {server}"
Message when a player switches servers
#
Available placeholders:
{from} - Previous server
{to} - New server
switch: "{player} switched from {from} to {to}"
-----------------------------------------------------
Embed colors (hex)
-----------------------------------------------------
embeds:
Color for join messages (default green)
join-color: "#2ecc71"
Color for leave messages (default red)
leave-color: "#e74c3c"
Color for switch messages (default yellow)
switch-color: "#f1c40f"
-----------------------------------------------------
Per-server Discord channels
-----------------------------------------------------
Here you can configure a separate Discord channel
per Minecraft server
#
NO limit, NO code required
#
Example:
#
servers:
survival:
channel-id: 111111111111111111
#
lobby:
channel-id: 222222222222222222
#
creative:
channel-id: 333333333333333333
#
If a server is NOT listed here,
the plugin will use discord.channel-id
-----------------------------------------------------
servers: {}
-----------------------------------------------------
Server & Proxy status embeds
-----------------------------------------------------
status-embeds:
Backend server started
server-start: enabled: true title: "🟢 Server online" message: "Server {server} has successfully started." color: "#2ecc71"
Velocity proxy started
proxy-start: enabled: true title: "🟢 Proxy online" message: "The Velocity proxy has successfully started." color: "#95a5a6"
Velocity proxy stopped
proxy-stop: enabled: true title: "⚫ Proxy offline" message: "The Velocity proxy has gone offline." color: "#34495e"
-----------------------------------------------------
Discord channel topic (description)
-----------------------------------------------------
channel-topic: enabled: true
How often the topic is forcibly updated (seconds)
refresh-interval: 30
Anti-spam delay (seconds)
update-delay: 10
fallback-format: "🌐 Network online | 👥 {players} players online" server-format: "🟢 {server} | 👥 {players} players online"
-----------------------------------------------------
Debug settings
-----------------------------------------------------
debug:
Enable extra logging
#
Useful for:
- Discord connection issues
- Chat not being forwarded
- Reply system debugging
#
NOT recommended for production servers
enabled: false
```