🍊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 globally

  • Mode: KICK/BAN - Choose enforcement mode for non-whitelisted players

Kick-Ban Hooks

Kick-Ban-Hooks

  • Hook: PLUGIN/LiteBans - Select the ban system to use

    • PLUGIN: Uses internal kick/ban system

    • LiteBans: 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 whitelist

  • Add-Remove: orangewhitelist.manage - Permission to manage whitelist players

  • Reload: orangewhitelist.reload - Permission to reload plugin configuration

  • ALL: 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 integration

  • Token: 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 status

    • idle: Yellow idle status

    • dnd: Red do not disturb status

    • invisible: Appears offline but functional

Bot Activity

  • Activity-Type: Type of activity displayed

    • 0: Playing

    • 1: Streaming

    • 2: Listening

    • 3: Watching

  • Activity-Name: Activity description text

Authorization

  • Authorized-Roles: List of Discord role IDs that can use bot commands

Commands

/orangewhitelist <subcommand> [arguments]

Main command for all whitelist operations.

Subcommands

/orangewhitelist on

  • Description: Enable the whitelist

  • Permission: orangewhitelist.set or orangewhitelist.admin

  • Effect: Activates whitelist and kicks non-whitelisted players

/orangewhitelist off

  • Description: Disable the whitelist

  • Permission: orangewhitelist.set or orangewhitelist.admin

  • Effect: Deactivates whitelist allowing all players to join

/orangewhitelist add <player>

  • Description: Add a player to the whitelist

  • Permission: orangewhitelist.manage or orangewhitelist.admin

  • Arguments: <player> - Player name to add

  • Effect: Adds player to whitelist and saves configuration

/orangewhitelist remove <player>

  • Description: Remove a player from the whitelist

  • Permission: orangewhitelist.manage or orangewhitelist.admin

  • Arguments: <player> - Player name to remove

  • Effect: Removes player from whitelist and kicks if online

/orangewhitelist list

  • Description: Display all whitelisted players

  • Permission: orangewhitelist.manage or orangewhitelist.admin

  • Effect: Shows current whitelist in chat

/orangewhitelist reload

  • Description: Reload plugin configuration

  • Permission: orangewhitelist.reload or orangewhitelist.admin

  • Effect: Reloads config and restarts Discord bot if enabled

Permissions

Permission
Description
Default

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

  1. Player Connects: Player attempts to join the server

  2. Whitelist Check: Plugin checks if whitelist is enabled

  3. Name Verification: If enabled, verifies player name against whitelist

  4. Enforcement: If not whitelisted, applies configured action (KICK/BAN)

  5. Message Suppression: Suppresses join/leave messages for rejected players

Whitelist Management

  1. Add Player: Player name added to configuration whitelist

  2. Remove Player: Player name removed and kicked if online

  3. Enable/Disable: Instant whitelist state change with automatic enforcement

  4. Real-time Updates: All changes take effect immediately without restart

Discord Integration

  1. Bot Initialization: Bot connects to Discord with configured token

  2. Command Registration: Slash commands registered for whitelist management

  3. Authorization: Role-based access control for security

  4. Real-time Sync: Changes made in Discord sync immediately with server

Installation

Basic Installation

  1. Download OrangeWhitelist plugin

  2. Place the .jar file in your server's plugins/ folder

  3. Restart the server

  4. Configure the generated config.yml file

  5. Set up permissions as needed

  6. Use /orangewhitelist reload to apply changes

Discord Bot Setup (Optional)

  1. Create a Discord application at https://discord.com/developers/applications

  2. Create a bot and copy the token

  3. Copy the application ID

  4. Enable the Discord bot in configuration:

  5. Add authorized role IDs to the configuration

  6. Reload the plugin to activate the bot

LiteBans Integration (Optional)

  1. Install LiteBans plugin on your server

  2. Configure OrangeWhitelist to use LiteBans:

  3. Reload OrangeWhitelist configuration

  4. 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: true in configuration

  • Check 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