Compatibility
Minecraft: Java Edition
1.21–1.21.10
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
1.7.x
Platforms
Creators
Details
Licensed LGPL-2.1-or-later
Published 3 years ago
Updated 2 months ago
Changelog
What's Changed
- Send every user event via webhook by @chaos-baum in https://github.com/fooooooooooooooo/VelocityDiscord/pull/59
- Add support for Discord role prefixes to in-game messages sent from Discord by @Kaludii in https://github.com/fooooooooooooooo/VelocityDiscord/pull/64
- Add discord username chat completion by @elliotnash in https://github.com/fooooooooooooooo/VelocityDiscord/pull/62
- fix raw discord pings bypassing filter by @coolguy284 in https://github.com/fooooooooooooooo/VelocityDiscord/pull/67
- Fix Server Discord Message Advancement Overrides Not Working by @coolguy284 in https://github.com/fooooooooooooooo/VelocityDiscord/pull/71
- fix: fix webhook configuration by @LunaSquee in https://github.com/fooooooooooooooo/VelocityDiscord/pull/78
Config changes
Version bumped
- config_version = "1.9"
+ config_version = "2.0"
Added server display names section
# Server display names
# If a server is not found in this list, the server name (from velocity.toml) will be used instead
[server_names]
# lobby = "Lobby"
Moved channel topic config under the discord.channel_topic section
# Channel topic config (if enabled)
+ [discord.channel_topic]
# Template for the channel topic
# Placeholders available:
# {players} - Total number of players online
# {player_list} - List of players (format is defined below)
# {servers} - Number of servers
# {server_list} - List of server names
# {hostname} - Server hostname
# {port} - Server port
# {motd} - Message of the Day (MOTD)
# {query_port} - Query port
# {max_players} - Maximum number of players
# {plugins} - Number of plugins
# {plugin_list} - List of plugin names
# {version} - Server version
# {software} - Software name
# {average_ping} - Average ping of all players
# {uptime} - Server uptime in hours and minutes
# {server[SERVERNAME]} - Dynamic placeholder for each server's name and status (e.g., {server[MyServer]}, {server[AnotherServer]}, {server[Lobby]}, etc.)
- topic = """{players}/{max_players}
+ format = """{players}/{max_players}
{player_list}
{hostname}:{port}
Uptime: {uptime}"""
# Template for server[SERVERNAME] placeholder in the channel topic
# Placeholders available: {name}, {players}, {max_players}, {motd}, {version}, {protocol}
- topic_server = "{name}: {players}/{max_players}"
+ server = "{name}: {players}/{max_players}"
# Template for server[SERVERNAME] placeholder in the channel topic when the server is offline
# Placeholders available: {name}
- topic_server_offline = "{name}: Offline"
+ server_offline = "{name}: Offline"
# Can be disabled with "" or false to hide the list completely when no players are online
- topic_player_list_no_players_header = "No players online"
+ player_list_no_players_header = "No players online"
# Can be disabled with "" or false to hide the header and only show the player list
- topic_player_list_header = "Players: "
+ player_list_header = "Players: "
# Placeholders available: {username}, {ping}
- topic_player_list_player = "{username}"
+ player_list_player = "{username}"
# Separator between players in the list, \n can be used for new line
- topic_player_list_separator = ", "
+ player_list_separator = ", "
# Maximum number of players to show in the topic
# Set to 0 to show all players
- topic_player_list_max_count = 10
+ player_list_max_count = 10
Removed webook_ prefix from webhook config options
[discord.webhook]
# Full webhook URL to send chat messages to
- webhook_url = ""
+ url = ""
# Full URL of an avatar service to get the player's avatar from
# Placeholders available: {uuid}, {username}
avatar_url = "https://visage.surgeplay.com/face/96/{uuid}"
# The format of the webhook's username
# Placeholders available: {username}, {server}
- webhook_username = "{username}"
+ username = "{username}"
Moved chat message formats into their own sections
- [discord.chat]
+ [discord.chat.message]
- message = "{username}: {message}"
+ format = "{username}: {message}"
- message_type = "text"
+ type = "text"
- message_embed_color = ""
+ embed_color = ""
+ [discord.chat.join]
- join_message = "**{username} joined the game**"
+ format = "**{username} joined the game**"
- join_message_type = "text"
+ type = "text"
- join_message_embed_color = "#40bf4f"
+ embed_color = "#40bf4f"
+ [discord.chat.leave]
- leave_message = "**{username} left the game**"
+ format = "**{username} left the game**"
- leave_message_type = "text"
+ type = "text"
- leave_message_embed_color = "#bf4040"
+ embed_color = "#bf4040"
+ [discord.chat.disconnect]
- disconnect_message = "**{username} disconnected**"
+ format = "**{username} disconnected**"
- disconnect_message_type = "text"
+ type = "text"
- disconnect_message_embed_color = "#bf4040"
+ embed_color = "#bf4040"
+ [discord.chat.server_switch]
- server_switch_message = "**{username} moved to {current} from {previous}**"
+ format = "**{username} moved to {current} from {previous}**"
- server_switch_message_type = "text"
+ type = "text"
- server_switch_message_embed_color = "#40bf4f"
+ embed_color = "#40bf4f"
+ [discord.chat.death]
- death_message = "**{death_message}**"
+ format = "**{death_message}**"
- death_message_type = "text"
+ type = "text"
- death_message_embed_color = "#bf4040"
+ embed_color = "#bf4040"
+ [discord.chat.advancement]
- advancement_message = "**{username} has made the advancement __{advancement_title}__**\n_{advancement_description}_"
+ format = "**{username} has made the advancement __{advancement_title}__**\n_{advancement_description}_"
- advancement_message_type = "text"
+ type = "text"
- advancement_message_embed_color = "#40bf4f"
+ embed_color = "#40bf4f"
+ [discord.chat.proxy_start]
- proxy_start_message = "**Proxy started**"
+ format = "**Proxy started**"
- proxy_start_message_type = "text"
+ type = "text"
- proxy_start_message_embed_color = "#40bf4f"
+ embed_color = "#40bf4f"
+ [discord.chat.proxy_stop]
- proxy_stop_message = "**Proxy stopped**"
+ format = "**Proxy stopped**"
- proxy_stop_message_type = "text"
+ type = "text"
- proxy_stop_message_embed_color = "#bf4040"
+ embed_color = "#bf4040"
+ [discord.chat.server_start]
- server_start_message = "**{server} has started**"
+ format = "**{server} has started**"
- server_start_message_type = "text"
+ type = "text"
- server_start_message_embed_color = "#40bf4f"
+ embed_color = "#40bf4f"
+ [discord.chat.server_stop]
- server_stop_message = "**{server} has stopped**"
+ format = "**{server} has stopped**"
- server_stop_message_type = "text"
+ type = "text"
- server_stop_message_embed_color = "#bf4040"
+ embed_color = "#bf4040"
Added plugin command name config
[minecraft]
# Ingame command for plugin
# Not server overridable
# e.g., /discord, /discord reload, /discord topic preview
plugin_command = "discord"
Added role prefix config
[minecraft]
# ...
- message = "{discord_chunk} {username_chunk}<dark_gray>: <reset>{message} {attachments}"
+ message = "{discord_chunk} {role_prefix} {username_chunk}<dark_gray>: <reset>{message} {attachments}"
# Role prefix configuration
# Format: "role_id" = "prefix format using MiniMessage"
+ [minecraft.role_prefixes]
# "123456789" = "<dark_gray>[</dark_gray><red><b>OWNER</b></red><dark_gray>]</dark_gray>"
# "987654321" = "<dark_gray>[</dark_gray><blue>ADMIN</blue><dark_gray>]</dark_gray>"
# "456789123" = "<dark_gray>[</dark_gray><green>MOD</green><dark_gray>]</dark_gray>"
# "789123456" = "<dark_gray>[</dark_gray><aqua>HELPER</aqua><dark_gray>]</dark_gray>"
Added link detection and formatting config
[minecraft]
# ...
# Placeholders available: {url}, {link_color}
# Can be disabled with "" or false
links = "<click:open_url:\"{url}\"><hover:show_text:\"Click to open {url}\"><dark_gray>[</dark_gray><{link_color}>Link<dark_gray>]</hover></click>"
# ...
link_color = "#4abdff"
Added ability to override most config options per server
Options that are not overridden will inherit the global config values
For example, to override ingame message format and the channel messages are sent to for a server named lobby:
[override.lobby.minecraft]
message = "different format {username}: {message}"
[override.lobby.discord]
channel_id = "123456789012345678"
[!NOTE] Config sections (e.g.,
[minecraft],[discord]) need to be preifxed withoverride.server_name.:
[override.lobby.minecraft][override.lobby.discord][override.lobby.discord.chat.message]
New Contributors
- @Kaludii made their first contribution in https://github.com/fooooooooooooooo/VelocityDiscord/pull/64
- @elliotnash made their first contribution in https://github.com/fooooooooooooooo/VelocityDiscord/pull/62
- @coolguy284 made their first contribution in https://github.com/fooooooooooooooo/VelocityDiscord/pull/67
- @LunaSquee made their first contribution in https://github.com/fooooooooooooooo/VelocityDiscord/pull/78
Full Changelog: https://github.com/fooooooooooooooo/VelocityDiscord/compare/1.9.0...2.0.0
Files
Metadata
Release channel
ReleaseVersion number
2.0.0Loaders
Game versions
1.7.2–1.21.10Downloads
188Publication date
November 10, 2025 at 6:20 AMPublisher
fooooooooooooooo
Owner

