NexusShout - Velocity Global Chat Plugin v1.7.1

A powerful and customizable Velocity global chat (shout) Minecraft plugin
1.7.1 - Anti-Caps Filter & Discord Code-Span Escaping Fix

1.7.1 Changelog

New Features
- Anti-Caps filter: A new chat moderation filter that flags messages with too much uppercase. Configurable under a new anti-caps: section in config.yml. Defaults: enabled, action: block, min-length: 8, max-uppercase-percent: 70. Action can be set to lowercase to silently transform offending messages instead of rejecting them. The ratio is measured against letters only, so punctuation, digits, and emoji do not dilute the count, and short messages like "OK" or "HI" pass through unaffected. Mirrors the existing anti-flood / anti-spam structure and gets its own anti-caps: true toggle inside private-messages: so admins can apply it independently to global chat and PMs.
Fixes
  • Fixed Discord bridge rendering a literal backslash for player-controlled placeholders wrapped in backticks. Templates like ` {name}: {message} previously sent ` leo\_parti ` because the markdown-escape pass ran even when the placeholder sat inside an inline code span; Discord doesn't honor backslash escapes inside code spans, so the backslash showed up verbatim. The template renderer is now code-span aware: outside code spans, full markdown escaping still applies (so a player can't inject bold or > quote`); inside a code span, only backticks are neutralized (replaced with U+02CB ˋ) so a player can't break out.
  • Fixed @Plugin(version = ...) annotation lagging the Gradle version. Velocity's annotation processor bakes this string into the runtime velocity-plugin.json, so 1.7.0 was reporting itself as 1.6.0 in proxy logs and /velocity plugins. Annotation is now sourced from the same release as Gradle.
Affected templates
  • Any events.*.format in discord.yml that wraps {name}, {message}, {sender}, or {receiver} in single, double, or triple backticks.
  • No config migration needed - existing templates keep working and now render as intended.
Configuration
  • New anti-caps: section in config.yml (and private-messages.anti-caps toggle). Smart Config Updater inserts both into existing user configs on upgrade.
  • New anti-caps locale key added to all 18 bundled locale files. Existing user locale files have the key auto-added by the runtime locale updater on first start after the upgrade.

---

1.7.0 - Multi-Proxy Bridge

1.7.0 Changelog

New Features
  • Multi-Proxy Bridge: Share global chat, /nmsg, /nr, online roster, and the global-chat toggle across multiple Velocity proxies via Redis. Off by default; opt-in through a new multi-proxy: section in config.yml.
  • Per-feature toggles: independently enable/disable cross-proxy chat, private messages, online roster, toggle-state sync, and cooldown sync. Cooldown is opt-in (adds one Redis round-trip per chat send).
  • Discord-aware dedupe: run identical discord.yml on every proxy. Outbound (MC -> Discord) is origin-only; inbound (Discord -> MC) uses a SETNX lock keyed by Discord message ID so the message bridges to MC exactly once.
  • Cross-proxy /nmsg and /nr: tab completion includes players on other proxies; replies route to the recipient's current proxy.
  • Persistent toggle: a player's global-chat toggle follows them across proxies (stored in Redis as a set, restored on join).
  • Pre-rendered chat templates: the origin proxy resolves placeholders (rank, custom name, server alias) before publishing, so visual output is identical across the cluster even when LuckPerms data only exists on one proxy.
Failure Modes
  • Redis unreachable at startup: bridge logs a warning and stays inactive; local chat keeps working.
  • Redis dies mid-session: publishes silently degrade (debug-logged); subscriber reconnects with capped exponential backoff (1s -> 30s); roster gracefully expires via TTL.
  • Discord inbound: if Redis is unreachable while the dedupe lock is being acquired, each proxy processes the message locally without re-publishing - users see one copy, no duplicates after Redis recovers.
  • A proxy crashes: its players auto-evict from the cross-proxy roster after 3 x heartbeat-interval seconds.
Configuration
  • New multi-proxy: section in config.yml, fully documented inline.
  • New file written on first start (when bridge enabled): plugins/nexusshout/proxy-id.txt (auto-generated UUID, override via multi-proxy.proxy-id).
  • Smart Config Updater inserts the new section into existing config.yml files on upgrade.
Dependencies
  • Jedis 5.2.0 (relocated; shaded under com.nexus.shout.libs.jedis).
  • Apache Commons Pool 2 (transitive; relocated under com.nexus.shout.libs.commonspool2).
Notes
  • Treat your Redis instance as trusted: anyone with network access can publish into the chat-bridge channels. Use AUTH and a private network.
  • All proxies must share the same chat-format for visually consistent output (the origin pre-renders the template).
  • /nshoutreload cleanly tears down and recreates the Jedis pool.
New Features
  • Discord Integration: bridge Minecraft global chat (and join/leave/server-switch/PMs) to Discord, with optional Discord -> Minecraft inbound bridge.
  • Two transports, choose per event:
- Bot (uses a Discord Bot Token, powered by JDA). Required for inbound and supports embeds.
- Webhook (no library; pure HTTP). Outbound only. Per-channel webhook URL with custom username and avatar.
  • Inbound role gate: restrict who in a Discord channel can bridge to MC by Discord role IDs. Empty list = everyone in the channel.
  • Per-server channel routing: map each proxy server to a different Discord channel/webhook; falls back to a default route.
  • Player head avatars via Crafatar when using webhooks.
  • Markdown <-> MiniMessage translation between Discord and MC.
  • Mention sanitizer: prevents Everyone/here abuse, replaces <@id> with Name.

Configuration
  • New file: plugins/nexusshout/discord.yml, fully documented inline.
  • All Discord settings live there so credentials and routing can be managed independently (and easily excluded from version control).

Dependencies
  • JDA 5.2.1 (relocated; shaded).
  • OkHttp 4.12.0 (relocated; shaded).

Notes
  • The bot needs the MESSAGE CONTENT and SERVER MEMBERS privileged intents only when inbound is enabled (toggle these in the Discord Developer Portal).
  • Built-in safety: inbound messages are pushed via a dedicated path that does not loop back into Discord.

Default configuration available at https://github.com/Nexus-Craft/NexusShout-Resources
1.5.0 Changelog

Default config.yml and locale files:
https://github.com/Nexus-Craft/NexusShout-Resources

New Features
  • Global Private Messaging: Added /nmsg (aliases: /nms) and /nr (aliases: /nreply) for cross-server communication (disabled by default to avoid conflicts).
  • UNTESTED Vanish Integration: Privacy support for PremiumVanish and SayanVanish. Vanished players appear "not found" to senders without bypass permissions (nshout.vanish.see).

Security & Moderation
  • Mute Support: Private messages strictly respect LiteBans and LibertyBans mutes (or you can add the commands to LiteBans/LibertyBans config mute blacklist).
  • Anti-Abuse: Applied global Anti-Spam and Anti-Flood filters to private messaging.
  • Access Control: Added configurable permissions and separate cooldowns for private messages in config.yml.

Configuration & System
  • Smart Config Updater: Completely refactored the auto-updater to support nested configuration paths, ensuring new features are added safely without breaking existing configs.
  • Locale Auto-Updater: The plugin now automatically appends missing translation keys to your locale files while preserving your custom edits and comments.
  • Live Command Reload: Command registration is now dynamic; toggling features or changing aliases in config.yml applies instantly via /nshoutreload without needing a proxy restart.
Localization
- Full Language Support: Added private messaging, error, and moderation messages to all 18 supported languages (including pm-muted notifications).

Bug Fixes
  • Event Priority: Added a configurable chat-listener-priority option to config.yml to resolve conflicts with low-level packet modification plugins.
  • Global Chat Leak: Fixed an issue where blocked global messages (e.g., due to cooldown or permission checks) would leak to the backend server.
1.4.1 Changelog

Fixes

- Fixed a critical bug in the config auto-updater where it would fail to copy the content of new configuration sections (like anti-flood/anti-spam settings) or insert them incorrectly nested inside other sections.
1.4.0 Changelog

New Features

  • Anti-Flood: Prevents players from sending messages with excessive repetitive characters (e.g., "loooooool").
  • Anti-Spam: Prevents players from sending similar messages consecutively using Levenshtein distance check.
  • Mute Support: Integrated with LiteBans and LibertyBans to block muted players from using global chat. You can also adds the blacklist command on LiteBans/LibertyBans config to prevent muted players from executing the commands.

Configuration
  • Added anti-flood section: max-consecutive-chars (default: 5)
  • Added anti-spam section: similarity-threshold (default: 0.85)
  • Added hooks section: Toggle litebans and libertybans integration
  • Config auto-updater: Automatically adds new sections to existing config.yml

Localization
- Added anti-abuse and mute messages for all 18 supported languages
1.3.1 Changelog

New Features

- Start with Global Chat: Added commands.start-with-global-chat option (default: false).
- If true, players automatically join with Global Chat enabled.

Changes
- Improved config auto-updater.
1.3.0 Changelog

New Features

  • Persistent Global Chat Toggle: Type /gchat (no args) to toggle global chat mode on/off
  • Config Auto-Update: New settings are automatically added to existing configs

Configuration
- Added commands.enable-chat-toggle option (default: true)

Localization
- Added the toggle messages for all 18 supported languages
Buy a license now
$6.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 10% commission.
3,108 Views
18 Purchases
20 Downloads
Feb 16, 2025 Published
Jul 15, 2026 Updated
4.00 star(s)
Average rating (2)
12.4 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
AI use in marketing
No
AI Content Disclosure
Used GitHub Copilot for autocompletion, generated translations for config language files
Type
  1. Chat
  1. Monetization
Game mode
  1. Hub & lobby
Game mode
  1. Hub & lobby
Game mode (legacy)
  1. Hub
Supported software
  1. Velocity
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
Supported languages
  1. English
  1. Spanish
  1. Russian
  1. German
  1. French
  1. Portugese
  1. Polish
  1. Turkish
  1. Chinese
  1. Indonesian
  1. Italian
  1. Vietnamese
  1. Dutch
  1. Korean
  1. Arabic
  1. Japanese
  1. Swedish
Includes DRM
No
Source access (legacy)
Closed source & unobfuscated
Creator
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,241 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,242 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,136 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,824 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 72 ratings
2,587 purchases
Share and earn
Refer this resource and earn a 10% commission.
3,108 Views
18 Purchases
20 Downloads
Feb 16, 2025 Published
Jul 15, 2026 Updated
4.00 star(s)
Average rating (2)
12.4 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
AI use in marketing
No
AI Content Disclosure
Used GitHub Copilot for autocompletion, generated translations for config language files
Type
  1. Chat
  1. Monetization
Game mode
  1. Hub & lobby
Game mode
  1. Hub & lobby
Game mode (legacy)
  1. Hub
Supported software
  1. Velocity
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
Supported languages
  1. English
  1. Spanish
  1. Russian
  1. German
  1. French
  1. Portugese
  1. Polish
  1. Turkish
  1. Chinese
  1. Indonesian
  1. Italian
  1. Vietnamese
  1. Dutch
  1. Korean
  1. Arabic
  1. Japanese
  1. Swedish
Includes DRM
No
Source access (legacy)
Closed source & unobfuscated
Creator
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,241 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,242 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,136 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,824 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 72 ratings
2,587 purchases
Top