SkyeNetwork Velocity

SkyeNetwork Velocity

Plugin

The custom paper plugin used to building SkyeNetwork

Server FoodLibraryOptimizationUtility

41 downloads
1 follower
Follow Save
Filter versions...

SkyeNetV Version 3.2.2 - Join & Leave messages

This update adds join & leave messages to the discord chat sync.

New Features

Discord join/leave messages

  • Sent as a normal message
  • Configurable in the config
  • Default join message: **[+]** {player} joined the network
  • Default leave message: **[-]** {player} left the network

Technical Implementation

  • Added sendJoinMessageToDiscord() and sendLeaveMessageToDiscord() functions in JoinLeaveListener.java
  • Added discord.game_to_discord_join_format and discord.game_to_discord_leave_format to the config

Configuration

The discord join/leave messages can be customized in the config.yml file:

discord:
  game_to_discord_join_format: "**[+]** {player} joined the network"
  game_to_discord_leave_format: "**[-]** {player} left the network"

Version 3.2.1 (July 21, 2025) - ADMINISTRATION IMPROVEMENTS

🔧 Features and Improvements

  • Added Plugin Reload Command: Implemented /skyenetv reload and /snv reload commands
  • Removed Discord Reload: Removed the standalone /discord reload command
  • Simplified Configuration: Updated config.yml with new reload command documentation
  • Improved Error Handling: Better feedback for reload success/failure

Version 3.2.0 (July 21, 2025) - SIMPLIFIED LOCAL CHAT FOCUS

🔄 Major Changes

  • Removed Global Chat: Removed all global chat functionality for a simpler chat system
  • Simplified Chat System: All messages now stay local to their respective servers
  • Code Cleanup: Removed unused global chat toggle code and commands
  • Streamlined Architecture: Replaced GlobalChatManager with streamlined ChatManager
  • Maintained Features: LuckPerms prefix/suffix integration and Discord forwarding still work

🔧 Technical Changes

  • Replaced GlobalChatManager: New ChatManager with simplified message routing
  • Removed Commands: Removed /gc and /lc commands and related code
  • Preserved Formatting: Maintained consistent chat formatting with LuckPerms
  • Simplified Configuration: No more need for global chat toggle settings

Version 3.1.2 (July 5, 2025) - CHAT DUPLICATION FIX

🔧 Critical Bug Fixes

  • FIXED: Chat Duplication for Senders: Fixed issue where senders saw their own messages twice
  • FIXED: Message Format for Senders: Senders now see their messages with proper formatting (including globe emoji)
  • FIXED: Message Routing Edge Cases: Improved message routing logic to ensure proper delivery in all scenarios
  • FIXED: Self-Message Handling: Players now see exactly one correctly formatted message for their own chat

Version 3.1.1 (June 21, 2025) - GLOBAL CHAT SYSTEM REWRITE

🔧 Critical Bug Fixes

  • FIXED: Local Chat Duplication Bug: Eliminated duplicate messages that appeared when global chat was toggled OFF
  • FIXED: Global Chat Message Routing: Complete rewrite of message routing logic with explicit recipient handling
  • FIXED: Message Format Consistency: Globe emoji (🌐) now consistently appears only for global chat messages
  • FIXED: Self-Message Handling: Players now see their own messages with correct formatting
  • Fixed Global Chat Message Duplication: Eliminated double messages when global chat is enabled
  • Fixed Global Chat Sender Visibility: Globe emoji (🌐) now appears correctly on sender's own messages
  • Fixed Private Messaging Cross-Server: /msg and /r commands now work properly across all servers in the network
  • Fixed Double Globe Emoji Issue: Removed redundant globe emoji prefix causing double display
  • Implemented Channel-Based Global Chat: Complete rewrite of global chat system to work as a proper channel

🌐 Global Chat Channel System (MAJOR UPDATE)

  • Mutually Exclusive Message Routing: Completely redesigned routing logic to prevent duplicates
  • Two-Phase Message Processing: Separate determination of recipients from message delivery
  • Format-Based Message Variants: Different message formats created for different recipient types
  • Globe Emoji as Status Indicator: 🌐 now indicates that the MESSAGE SENDER has global chat enabled
  • Recipient-Based Visibility: Your ability to see cross-server messages depends on YOUR global chat setting
  • Smart Message Routing:
    • Global Chat ON: See messages from ALL servers (cross-server channel)
    • Global Chat OFF: See only messages from YOUR current server
  • Complete Backend Bypass: All chat now processed through SkyeNet proxy, preventing duplication
  • Consistent Formatting: All messages use SkyeNet formatting with LuckPerms integration

🌐 Global Chat Improvements

  • Proper Event Cancellation: Global chat messages now properly cancel local chat events to prevent duplication
  • LuckPerms Integration Fix: Now uses proper PrefixUtils.getPrefixString() and PrefixUtils.getSuffixString() methods
  • Consistent Message Format: All recipients (including sender) see the same formatted global chat message
  • Single Message Path: Streamlined message processing to eliminate race conditions

💬 Private Messaging Enhancements

  • Cross-Server Player Search: Enhanced player lookup finds players by exact name or partial name matches across servers
  • Improved Error Messages: More descriptive error messages when players are not found
  • Better Reply Functionality: Reply system now works seamlessly across different servers
  • Self-Message Prevention: Prevents sending messages to yourself with humorous error message

🔧 Technical Fixes

  • Consolidated Message Processing: Removed redundant handlePlayerMessage() method to prevent double processing
  • Fixed Component Handling: Resolved compilation issues with join/leave message Component handling
  • Enhanced Player Lookup: Improved findPlayer() method with comprehensive cross-server search
  • Lobby Command Infrastructure: Added configuration support for lobby teleportation coordinates

📋 Code Quality Improvements

  • Removed Placeholder Methods: Eliminated unused getLuckPermsPrefix() placeholder in Config.java
  • Fixed ChatListener Syntax: Cleaned up duplicate code and syntax errors in ChatListener.java
  • Early Event Processing: Used PostOrder.FIRST to ensure global chat events are processed before backend servers

🛠️ Build & Deployment

  • Updated Version: Incremented to 3.1.1 to reflect all bug fixes and improvements
  • Maven Build Success: Plugin compiles cleanly with no errors or warnings
  • JAR Generation: Successfully generates SkyeNetV-3.1.1.jar for deployment

🎯 What Was Fixed in Detail

Global Chat Message Flow (Before vs After)

Before (3.1.0):

1. Player sends message "test"
2. ChatListener processes message → calls processPlayerMessage()
3. sendGlobalMessage() adds extra 🌐 prefix
4. Message sent to all players: "🌐 🌐 [PREFIX] Player test"
5. Local server also processes message normally
6. Result: Double messages and double globe emojis

After (3.1.1):

1. Player sends message "test"
2. ChatListener processes message → calls processPlayerMessage()
3. sendGlobalMessage() uses config format directly (no extra prefix)
4. Message sent to all players: "🌐 [PREFIX] Player » test"
5. Original chat event is cancelled (event.setResult(denied()))
6. Result: Single message with single globe emoji

LuckPerms Integration (Before vs After)

Before:

  • Used placeholder config.getLuckPermsPrefix(player) returning "<prefix>"
  • Wrong placeholder replacement: {luckperms_prefix} (not in config format)

After:

  • Uses proper PrefixUtils.getPrefixString(player) and PrefixUtils.getSuffixString(player)
  • Correct placeholder replacement: {prefix} and {suffix} (matching config format)

🧪 Testing Results

  • Global Chat: No more double messages ✅
  • Globe Emoji: Single emoji display for all users ✅
  • LuckPerms Prefixes: Proper prefix/suffix display ✅
  • Cross-Server Messaging: Private messages work between servers ✅
  • Event Cancellation: No local chat duplication ✅

Version 3.1.0 (June 17, 2025) - DISCORD & GLOBAL CHAT RE-IMPLEMENTATION

🆕 Major Features Added Back

  • Discord Integration: Complete Discord bot integration with configurable messages
  • Global Chat System: Cross-server chat with customizable toggle behavior
  • Comprehensive Configuration: All messages, formats, and behavior now configurable

🌐 Global Chat Features

  • /gc - Toggle global chat mode or send direct global messages
  • /lc - Switch to local chat mode
  • Smart Message Handling: When global chat is ON, shows message with globe emoji to sender, broadcasts to all servers, suppresses local
  • When Global Chat is OFF: Normal local server chat behavior
  • Configurable default state for new players
  • Custom message formats with placeholder support

💬 Discord Integration

  • Bidirectional messaging between Discord and game (configurable)
  • Global chat to Discord relay with custom formats
  • Discord to game messaging with custom formatting
  • Connection status monitoring and status commands
  • Configurable bot token and channel settings

⚙️ Configuration System

  • Main config.yml: Complete configuration for all features
  • Backwards compatible discord_config.yml fallback
  • Configurable message templates using MiniMessage format
  • Feature toggles for Discord integration aspects
  • Customizable join/leave message formats

🎨 Message Customization

All command responses and system messages are now configurable:

  • Global chat enable/disable messages
  • Discord status messages
  • Join/leave message formats
  • Error and permission messages
  • Discord message formatting templates

🛠️ Technical Improvements

  • Smart config loading with resource template fallbacks
  • MiniMessage support for rich text formatting throughout
  • Improved error handling and logging
  • Modular command system with shared configuration
  • Memory-efficient Discord connection management

📋 Command Updates

  • /gc [message] - Toggle global chat or send global message
  • /lc - Switch to local chat mode
  • /discord [status] - Show Discord integration info and status
  • All commands now use configurable messages and permissions

🔧 Dependencies

  • JDA 5.0.0-beta.13 for Discord integration
  • SnakeYAML 2.0 for configuration management
  • MiniMessage 4.14.0 for rich text formatting (provided by Velocity)
  • LuckPerms API 5.4 for prefix/suffix integration (provided)

📦 Build Information

  • JAR Size: ~47KB (increased from 24KB due to Discord/Global Chat features)
  • Java Version: 17+
  • Velocity Version: 3.1.1+

🔄 Migration Notes

  • Existing v3.0.0 installations will automatically create new configuration files
  • Old discord_config.yml files are still supported as fallback
  • Join/leave message behavior unchanged from v3.0.0
  • All core commands (rules, lobby, sudo) remain unchanged

Version 3.0.0 (June 15, 2025) - LUCKPERMS JOIN/LEAVE MESSAGES

✅ NEW FEATURES

  • Custom Join/Leave Messages with LuckPerms Integration
    • Join Message Format: [+] [PREFIX] PlayerName [SUFFIX] joined the network (green)
    • Leave Message Format: [-] [PREFIX] PlayerName [SUFFIX] left the network (red)
    • LuckPerms Prefix/Suffix Support: Full integration with player ranks and formatting
    • Vanilla Message Replacement: Disables default Velocity join/leave messages
    • Network-wide Broadcasting: Messages sent to all online players

🔧 TECHNICAL IMPLEMENTATION

  • PrefixUtils Enhancement: Added createJoinMessage() and createLeaveMessage() methods
  • Event Handlers: Added PostLoginEvent and DisconnectEvent listeners
  • LuckPerms Integration: Full support for prefix, suffix, and color formatting
  • MiniMessage Support: Proper parsing of LuckPerms formatting tags

📦 CURRENT PLUGIN FEATURES

  • Rules System: /rules command with JSON configuration
  • Lobby Commands: /lobby, /l, /hub for server navigation
  • Administrative Tools: /sudo command for admin tasks
  • Custom Join/Leave Messages: LuckPerms-integrated network messages
  • LuckPerms Integration: Prefix, suffix, and color support

🎨 MESSAGE EXAMPLES

[+] [ADMIN] PlayerName joined the network
[-] [VIP] PlayerName left the network
[+] [OWNER] PlayerName [★] joined the network

🔧 DEPENDENCIES

  • Velocity API: Core proxy functionality
  • LuckPerms API: Permission and formatting system
  • Adventure Text MiniMessage: Text formatting and parsing

Version 2.4.7 (June 10, 2025)

🚫 CRITICAL FIXES

  • FIXED: Global Chat Duplication Issue - Messages no longer appear twice when global chat is enabled
    • Restructured chat event handler to properly cancel original events
    • Added early return after global chat processing to prevent duplicate handling
    • Fixed event.setResult(ChatResult.denied()) implementation

📝 NEW FEATURES

  • Updated Join/Leave Message Formats
    • Join: [+] [PREFIX] PlayerName joined global chat
    • Leave: [-] [PREFIX] PlayerName left global chat
    • Clean gray brackets with green/red symbols for better readability

🎨 Configurable Global Chat Messages

  • Configurable Message Formats: Global chat messages now use customizable MiniMessage formats
    • Separate formats for messages with/without globe icon
    • Configurable join/leave notification messages
    • Customizable new player notification message
  • Enhanced Color Continuation: Added getFullFormattedNameWithColorContinuation() for seamless gradient flow
  • Flexible Placeholder System: Support for {player}, {luckperms_prefix}, and {message} placeholders
  • Config-Driven Display: All global chat message formats controlled via config.yml

New Configuration Options

global_chat:
  message_with_icon: "🌐 {luckperms_prefix}<bold>{player}</bold>: {message}"
  message_without_icon: "{luckperms_prefix}<bold>{player}</bold>: {message}"
  join_message: "🌐 {luckperms_prefix}<bold>{player}</bold> <green>joined global chat</green>"
  leave_message: "🌐 {luckperms_prefix}<bold>{player}</bold> <red>left global chat</red>"
  new_player_notification: "<green>You are not connected to global chat. Type </green><gold><bold>/gc</bold></gold><green> to toggle.</green>"

Technical Changes

  • Enhanced DiscordConfig.java: Added global chat message format fields and getters
  • Updated GlobalChatCommand.java: Use configurable formats for join/leave/notification messages
  • Updated SkyeNetV.java: Main global chat display now uses configurable MiniMessage formats
  • Enhanced PrefixUtils.java: Added color continuation method for gradient preservation
  • Updated config.yml: Added comprehensive global chat message format section
  • Version bump: 2.4.62.4.7

Benefits

  • Customizable Branding: Server owners can customize all global chat message formats
  • Better Color Support: Proper gradient/color continuation from prefix to username
  • MiniMessage Integration: Full support for modern Minecraft text formatting
  • Consistent Configuration: All message formats centralized in config.yml

Changelog

Version 2.4.7 (June 10, 2025)

🚫 CRITICAL FIXES

  • FIXED: Global Chat Duplication Issue - Messages no longer appear twice when global chat is enabled
    • Restructured chat event handler to properly cancel original events
    • Added early return after global chat processing to prevent duplicate handling
    • Fixed event.setResult(ChatResult.denied()) implementation

📝 NEW FEATURES

  • Updated Join/Leave Message Formats
    • Join: [+] [PREFIX] PlayerName joined global chat
    • Leave: [-] [PREFIX] PlayerName left global chat
    • Clean gray brackets with green/red symbols for better readability

🎨 Configurable Global Chat Messages

  • Configurable Message Formats: Global chat messages now use customizable MiniMessage formats
    • Separate formats for messages with/without globe icon
    • Configurable join/leave notification messages
    • Customizable new player notification message
  • Enhanced Color Continuation: Added getFullFormattedNameWithColorContinuation() for seamless gradient flow
  • Flexible Placeholder System: Support for {player}, {luckperms_prefix}, and {message} placeholders
  • Config-Driven Display: All global chat message formats controlled via config.yml

New Configuration Options

global_chat:
  message_with_icon: "🌐 {luckperms_prefix}<bold>{player}</bold>: {message}"
  message_without_icon: "{luckperms_prefix}<bold>{player}</bold>: {message}"
  join_message: "🌐 {luckperms_prefix}<bold>{player}</bold> <green>joined global chat</green>"
  leave_message: "🌐 {luckperms_prefix}<bold>{player}</bold> <red>left global chat</red>"
  new_player_notification: "<green>You are not connected to global chat. Type </green><gold><bold>/gc</bold></gold><green> to toggle.</green>"

Technical Changes

  • Enhanced DiscordConfig.java: Added global chat message format fields and getters
  • Updated GlobalChatCommand.java: Use configurable formats for join/leave/notification messages
  • Updated SkyeNetV.java: Main global chat display now uses configurable MiniMessage formats
  • Enhanced PrefixUtils.java: Added color continuation method for gradient preservation
  • Updated config.yml: Added comprehensive global chat message format section
  • Version bump: 2.4.62.4.7

Benefits

  • Customizable Branding: Server owners can customize all global chat message formats
  • Better Color Support: Proper gradient/color continuation from prefix to username
  • MiniMessage Integration: Full support for modern Minecraft text formatting
  • Consistent Configuration: All message formats centralized in config.yml

Changelog

Version 2.4.1 (June 6, 2025)

New Features

  • Global Chat System: Added network-wide chat functionality

    • New /gc command to toggle between server chat and global chat per player
    • Global chat messages display with globe emoji (🌐) instead of text
    • Players can individually choose their chat preference
    • Chat from all servers is broadcasted across the network when global chat is enabled
  • LuckPerms Integration: Enhanced chat display with permission-based formatting

    • Automatic prefix and suffix integration from LuckPerms
    • MiniMessage support for rich text formatting in prefixes/suffixes
    • Graceful fallback when LuckPerms is not available
    • Global chat format: 🌐 [prefix]username[suffix]: message

UI Improvements

  • Replaced <global> text with globe emoji (🌐) for better visual clarity
  • Enhanced command feedback with consistent emoji usage
  • Improved chat message formatting with proper spacing

Technical Changes

  • Added PrefixUtils.java utility class for LuckPerms integration
  • Enhanced chat event handling to support network-wide messaging with rich formatting
  • New command registration for global chat toggle
  • Player preference storage for global chat toggle

Version 2.4 (June 6, 2025)

New Features

  • Network Join/Leave Configuration: Added comprehensive network messaging system

    • broadcast_join_to_all_servers - Control network-wide join message broadcasting
    • broadcast_leave_to_all_servers - Control network-wide leave message broadcasting
    • show_server_transfers - Optional notifications for server transfers
    • Custom message formats for network join/leave events
  • Discord Name Format Options: Enhanced Discord integration

    • name_format setting - Choose between "username" or "displayname"
    • message_format setting - Customizable Discord-to-game message format
    • Support for Discord display names vs usernames

Configuration Updates

  • Added network section to discord_config.yml
  • All new features are fully configurable via YAML
  • Enhanced MiniMessage format support for all message types

Technical Improvements

  • Updated configuration loading system
  • Enhanced Discord message handling
  • Improved network broadcasting functionality

Version 2.3 (June 5, 2025)

Breaking Changes

  • Removed Chat Filter System: Complete removal of chat filtering functionality
    • Deleted ChatFilterCommand.java and ChatFilterModule.java
    • Removed all filter configuration files and directories
    • Removed filter-related documentation
    • Simplified Discord integration to remove filter dependencies

Changes

  • Simplified main plugin class by removing chat filter initialization
  • Updated Discord configuration to remove filter-related settings
  • Streamlined event handling without filter checks
  • Removed unused LuckPerms imports and dependencies
  • Updated documentation to focus on rules system and Discord integration
  • Preserved SnakeYAML dependency for Discord configuration

Current Features

  • Discord Integration: Full chat bridging with MiniMessage support
  • Rules System: Comprehensive server rules management
  • Lobby Commands: /lobby, /l, /hub teleportation
  • Administrative Tools: Configuration reload capabilities

Version 2.2 (Previous)

  • Discord Integration enhancements
  • Rules System implementation
  • Chat Filter functionality (now removed)
  • Server management improvements

Version 2.1 (Previous)

  • Initial Rules System
  • MiniMessage support
  • Admin commands
  • JSON-based configuration

Breaking Changes

  • Removed Chat Filter System: Complete removal of chat filtering functionality
    • Deleted ChatFilterCommand.java and ChatFilterModule.java
    • Removed all filter configuration files and directories
    • Removed filter-related documentation
    • Simplified Discord integration to remove filter dependencies

Changes

  • Simplified main plugin class by removing chat filter initialization
  • Updated Discord configuration to remove filter-related settings
  • Streamlined event handling without filter checks
  • Removed unused LuckPerms imports and dependencies
  • Updated documentation to focus on rules system and Discord integration
  • Preserved SnakeYAML dependency for Discord configuration

Current Features

  • Discord Integration: Full chat bridging with MiniMessage support
  • Rules System: Comprehensive server rules management
  • Lobby Commands: /lobby, /l, /hub teleportation
  • Administrative Tools: Configuration reload capabilities

Version 2.2 (Previous)

  • Discord Integration enhancements
  • Rules System implementation
  • Chat Filter functionality (now removed)
  • Server management improvements

Version 2.1 (Previous)

  • Initial Rules System
  • MiniMessage support
  • Admin commands
  • JSON-based configuration

Changelog

Version 2.4.1 (June 6, 2025)

New Features

  • Global Chat System: Added network-wide chat functionality
    • New /gc command to toggle between server chat and global chat per player
    • Global chat messages display as <global> <username> <message>
    • Players can individually choose their chat preference
    • Chat from all servers is broadcasted across the network when global chat is enabled

Technical Changes

  • Added player preference storage for global chat toggle
  • Enhanced chat event handling to support network-wide messaging
  • New command registration for global chat toggle

Version 2.4 (June 6, 2025)

New Features

  • Network Join/Leave Configuration: Added comprehensive network messaging system

    • broadcast_join_to_all_servers - Control network-wide join message broadcasting
    • broadcast_leave_to_all_servers - Control network-wide leave message broadcasting
    • show_server_transfers - Optional notifications for server transfers
    • Custom message formats for network join/leave events
  • Discord Name Format Options: Enhanced Discord integration

    • name_format setting - Choose between "username" or "displayname"
    • message_format setting - Customizable Discord-to-game message format
    • Support for Discord display names vs usernames

Configuration Updates

  • Added network section to discord_config.yml
  • All new features are fully configurable via YAML
  • Enhanced MiniMessage format support for all message types

Technical Improvements

  • Updated configuration loading system
  • Enhanced Discord message handling
  • Improved network broadcasting functionality

Version 2.3 (June 5, 2025)

Breaking Changes

  • Removed Chat Filter System: Complete removal of chat filtering functionality
    • Deleted ChatFilterCommand.java and ChatFilterModule.java
    • Removed all filter configuration files and directories
    • Removed filter-related documentation
    • Simplified Discord integration to remove filter dependencies

Changes

  • Simplified main plugin class by removing chat filter initialization
  • Updated Discord configuration to remove filter-related settings
  • Streamlined event handling without filter checks
  • Removed unused LuckPerms imports and dependencies
  • Updated documentation to focus on rules system and Discord integration
  • Preserved SnakeYAML dependency for Discord configuration

Current Features

  • Discord Integration: Full chat bridging with MiniMessage support
  • Rules System: Comprehensive server rules management
  • Lobby Commands: /lobby, /l, /hub teleportation
  • Administrative Tools: Configuration reload capabilities

Version 2.2 (Previous)

  • Discord Integration enhancements
  • Rules System implementation
  • Chat Filter functionality (now removed)
  • Server management improvements

Version 2.1 (Previous)

  • Initial Rules System
  • MiniMessage support
  • Admin commands
  • JSON-based configuration

Breaking Changes

  • Removed Chat Filter System: Complete removal of chat filtering functionality
    • Deleted ChatFilterCommand.java and ChatFilterModule.java
    • Removed all filter configuration files and directories
    • Removed filter-related documentation
    • Simplified Discord integration to remove filter dependencies

Changes

  • Simplified main plugin class by removing chat filter initialization
  • Updated Discord configuration to remove filter-related settings
  • Streamlined event handling without filter checks
  • Removed unused LuckPerms imports and dependencies
  • Updated documentation to focus on rules system and Discord integration
  • Preserved SnakeYAML dependency for Discord configuration

Current Features

  • Discord Integration: Full chat bridging with MiniMessage support
  • Rules System: Comprehensive server rules management
  • Lobby Commands: /lobby, /l, /hub teleportation
  • Administrative Tools: Configuration reload capabilities

Version 2.2 (Previous)

  • Discord Integration enhancements
  • Rules System implementation
  • Chat Filter functionality (now removed)
  • Server management improvements

Version 2.1 (Previous)

  • Initial Rules System
  • MiniMessage support
  • Admin commands
  • JSON-based configuration

Key Changes Made:

  1. Converted Bukkit ChatFilterModule to Velocity

    • Replaced Bukkit events with Velocity events (PlayerChatEvent)
    • Updated imports and dependencies
    • Removed Bukkit-specific code
    • Added async event handling with EventTask
  2. Updated Project Dependencies

    • Added SnakeYAML dependency for YAML configuration parsing
    • Maintained existing Adventure Text dependencies
  3. Integrated into Main Plugin

    • Modified SkyeNetV.java to initialize and register the chat filter
    • Added command registration for /chatfilter
    • Updated chat event handler to work with filtered messages
  4. Created Command Interface

    • ChatFilterCommand.java provides admin commands
    • Supports reload functionality
    • Permission-based access control
  5. Network-wide Filtering

    • Now filters messages across ALL servers connected to the Velocity proxy
    • Works before messages reach individual servers
    • Integrates with existing Discord integration

Features Implemented:

  • Word List Filtering: Block specific words/phrases
  • Regex Pattern Filtering:
    • IP address detection and blocking
    • Spam character detection (repeated characters)
    • Excessive caps detection
    • Custom regex patterns
  • Bypass Permissions: Different permission levels for different filter types
  • Configurable Messages: Customizable notification messages
  • Real-time Configuration: Reload without restart
  • Debug Mode: Detailed logging for troubleshooting

Configuration Files Created:

  1. chatfilter-config.yml - Main configuration
  2. chatfilter/wordlist.yml - Blocked words list
  3. chatfilter/regex.yml - Regex patterns and rules

Commands Added:

  • /chatfilter reload - Reload configuration
  • /chatfilter help - Show help

Permissions Added:

  • skyenetv.chatfilter.admin - Admin commands
  • skyenetv.chatfilter.bypass - Bypass all filters
  • skyenetv.wordlist.bypass - Bypass wordlist only
  • skyenetv.regex.bypass - Bypass regex only

Testing Notes:

The plugin has been successfully compiled and packaged. The JAR file is ready for deployment:

  • Location: /mnt/sda4/SkyeNetwork/SkyeNetV/target/SkyeNetV-2.2.jar
  • Size: 40KB
  • Status: ✅ Compiled successfully
  • Version: Updated to 2.2 with chat filter integration

Configuration Loading:

The chat filter will automatically:

  1. Copy existing filter files from filters/regex.yml and filters/wordlist.yml to plugin data directory
  2. Load comprehensive word list (785+ blocked terms)
  3. Load regex patterns for IP blocking, spam detection, caps filtering, and custom patterns
  4. Enable network-wide filtering across all connected servers

Deployment Instructions:

  1. Stop your Velocity server
  2. Replace the old plugin JAR with the new one
  3. Start your Velocity server
  4. The chat filter will automatically create default configuration files
  5. Customize the configurations as needed
  6. Use /chatfilter reload to apply changes without restart

Network Impact:

This implementation now provides network-wide chat filtering for your entire Velocity proxy network. Messages are filtered at the proxy level before they reach individual backend servers, ensuring consistent filtering across all servers in your network.

The chat filter integrates seamlessly with your existing Discord integration - only messages that pass the filter will be forwarded to Discord.

inital version for SkyeNetwork velocity


Project members

Skye Network

Skye Network

Organization

Details

Licensed MIT
Published 3 months ago
Updated 2 months ago