🍊OrangeWhitelist
OrangeWhitelist is a safe, modern and customizable whitelist plugin for Minecraft servers. This plugin provides comprehensive whitelist management with multiple enforcement modes, Discord integration, and support for popular ban plugins like LiteBans.
Main Features
🛡️ Advanced Whitelist System
Flexible Enforcement: Choose between KICK or BAN modes for non-whitelisted players
Real-time Management: Add/remove players from whitelist without server restart
Auto-kick System: Automatically removes non-whitelisted players when whitelist is enabled
Permission-based Access: Fine-grained permission control for all operations
🔧 Multiple Ban Hooks
Internal Hook: Built-in kick/ban system
LiteBans Integration: Automatic detection and integration with LiteBans plugin
Smart Fallback: Automatically switches to internal hook if LiteBans is not found
Customizable Messages: Different messages for kicks and bans
🤖 Discord Bot Integration
Multi-language Support: English, Español, Français, 中文
Custom Status: Configurable bot status and activity
Role Authorization: Restrict bot commands to specific Discord roles
Real-time Sync: Manage whitelist directly from Discord
⚡ Performance & Reliability
Async Operations: Non-blocking operations for optimal server performance
Thread-safe: Safe concurrent access to whitelist data
Auto-updates: Built-in update checker with notifications
Clean Joins/Leaves: Suppresses join/leave messages for kicked players
Configuration
Complete Configuration File
Configuration Options
Plugin Configuration
Plugin-Config
Enabled-Whitelist:
true/false- Enable or disable the whitelist feature globallyMode:
KICK/BAN- Choose enforcement mode for non-whitelisted players
Kick-Ban Hooks
Kick-Ban-Hooks
Hook:
PLUGIN/LiteBans- Select the ban system to usePLUGIN: Uses internal kick/ban systemLiteBans: Integrates with LiteBans plugin (auto-detects installation)
Kick-Message: Message shown when a player is kicked from whitelist
Ban-Message: Message shown when a player is banned from whitelist
Plugin Messages
All plugin messages support MiniMessage formatting:
Prefix: Plugin message prefix
No-Perms: No permission message
No-Args: Missing arguments message
Reload: Plugin reload success message
W-ON: Whitelist enabled message
W-OFF: Whitelist disabled message
Added: Player added to whitelist message (supports
%player%variable)Removed: Player removed from whitelist message (supports
%player%variable)No-Whitelisted-Player: Player not in whitelist error message
Already-Whitelisted: Player already whitelisted message
Kick-Message: Custom kick message displayed to non-whitelisted players
Permissions
Permission Nodes
Enable-Disable:
orangewhitelist.set- Permission to enable/disable whitelistAdd-Remove:
orangewhitelist.manage- Permission to manage whitelist playersReload:
orangewhitelist.reload- Permission to reload plugin configurationALL:
orangewhitelist.admin- Grants all plugin permissions
Whitelist
Player List
Whitelist: List of player names allowed on the server when whitelist is active
Case-insensitive player name matching
Supports any valid Minecraft username
Discord Bot Configuration
Discord-Bot Settings
Enabled:
true/false- Enable Discord bot integrationToken: Discord bot token from Developer Portal
Application-ID: Bot application ID from Developer Portal
Language: Bot language (
English,Español,Français,中文)
Bot Status
Status: Bot presence status
online: Green online statusidle: Yellow idle statusdnd: Red do not disturb statusinvisible: Appears offline but functional
Bot Activity
Activity-Type: Type of activity displayed
0: Playing1: Streaming2: Listening3: Watching
Activity-Name: Activity description text
Authorization
Authorized-Roles: List of Discord role IDs that can use bot commands
Commands
/orangewhitelist <subcommand> [arguments]
/orangewhitelist <subcommand> [arguments]Main command for all whitelist operations.
Subcommands
/orangewhitelist on
Description: Enable the whitelist
Permission:
orangewhitelist.setororangewhitelist.adminEffect: Activates whitelist and kicks non-whitelisted players
/orangewhitelist off
Description: Disable the whitelist
Permission:
orangewhitelist.setororangewhitelist.adminEffect: Deactivates whitelist allowing all players to join
/orangewhitelist add <player>
Description: Add a player to the whitelist
Permission:
orangewhitelist.manageororangewhitelist.adminArguments:
<player>- Player name to addEffect: Adds player to whitelist and saves configuration
/orangewhitelist remove <player>
Description: Remove a player from the whitelist
Permission:
orangewhitelist.manageororangewhitelist.adminArguments:
<player>- Player name to removeEffect: Removes player from whitelist and kicks if online
/orangewhitelist list
Description: Display all whitelisted players
Permission:
orangewhitelist.manageororangewhitelist.adminEffect: Shows current whitelist in chat
/orangewhitelist reload
Description: Reload plugin configuration
Permission:
orangewhitelist.reloadororangewhitelist.adminEffect: Reloads config and restarts Discord bot if enabled
Permissions
orangewhitelist.set
Enable/disable whitelist
OP
orangewhitelist.manage
Add/remove players from whitelist
OP
orangewhitelist.reload
Reload plugin configuration
OP
orangewhitelist.admin
All whitelist permissions
OP
Available Variables
In messages you can use the following variables:
%player%- Username of the player being added/removed from whitelist
Hook System
Internal Hook (Default)
Built-in kick and ban system
No external dependencies
Immediate enforcement
Customizable kick/ban messages
LiteBans Integration
Automatic detection of LiteBans plugin
Uses LiteBans console commands for enforcement
Maintains ban history in LiteBans database
Automatic fallback to internal hook if LiteBans not found
Discord Bot Features
Multi-language Support
The bot supports multiple languages for all commands and messages:
English: Default language
Español: Spanish language
Français: French language
中文: Chinese language
Discord Commands
When enabled, the Discord bot provides commands to manage the whitelist directly from Discord:
Whitelist management commands
Player status checking
Real-time server information
Role-based Authorization
Only users with specified Discord roles can use bot commands, ensuring secure access to whitelist management.
How It Works
Player Join Process
Player Connects: Player attempts to join the server
Whitelist Check: Plugin checks if whitelist is enabled
Name Verification: If enabled, verifies player name against whitelist
Enforcement: If not whitelisted, applies configured action (KICK/BAN)
Message Suppression: Suppresses join/leave messages for rejected players
Whitelist Management
Add Player: Player name added to configuration whitelist
Remove Player: Player name removed and kicked if online
Enable/Disable: Instant whitelist state change with automatic enforcement
Real-time Updates: All changes take effect immediately without restart
Discord Integration
Bot Initialization: Bot connects to Discord with configured token
Command Registration: Slash commands registered for whitelist management
Authorization: Role-based access control for security
Real-time Sync: Changes made in Discord sync immediately with server
Installation
Basic Installation
Download OrangeWhitelist plugin
Place the
.jarfile in your server'splugins/folderRestart the server
Configure the generated
config.ymlfileSet up permissions as needed
Use
/orangewhitelist reloadto apply changes
Discord Bot Setup (Optional)
Create a Discord application at https://discord.com/developers/applications
Create a bot and copy the token
Copy the application ID
Enable the Discord bot in configuration:
Add authorized role IDs to the configuration
Reload the plugin to activate the bot
LiteBans Integration (Optional)
Install LiteBans plugin on your server
Configure OrangeWhitelist to use LiteBans:
Reload OrangeWhitelist configuration
Plugin will automatically detect and integrate with LiteBans
Compatibility
Minecraft Version: 1.8 - 1.21.7
Server Software: Spigot, Paper, and forks
Dependencies: None (LiteBans optional)
Discord Integration: Optional Discord bot functionality
Advanced Features
Thread Safety
All whitelist operations are thread-safe
Async operations prevent server lag
Main thread scheduling for Bukkit API calls
Performance Optimization
Efficient player name lookup
Minimal memory footprint
Non-blocking configuration saves
Error Handling
Graceful fallback systems
Comprehensive error logging
Automatic configuration validation
Troubleshooting
Common Issues
Whitelist not working
Verify
Enabled-Whitelist: truein configurationCheck player permissions
Ensure correct player names in whitelist
Discord bot not responding
Verify bot token and application ID
Check authorized roles configuration
Ensure bot has necessary Discord permissions
LiteBans integration failing
Verify LiteBans plugin is installed and enabled
Check server logs for integration messages
Plugin will auto-fallback to internal hook
Debug Information
Plugin logs important events to console
Configuration validation on startup
Automatic hook detection and fallback
Support
For support, bug reports, or feature requests:
Discord: https://fruitforge.com/discord
Plugin developed by FruitForge Studio
Last updated