
🔗 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