WhitelistPlus
WhitelistPlus is a lightweight and enhanced whitelist management plugin for PaperMC servers (version 1.21.4). It extends Minecraft's built-in whitelist functionality by providing advanced features such as asynchronous location detection, customizable messages, and streamlined command handling. Administrators can efficiently manage player access, receive real-time notifications for join attempts, and make informed decisions with ease.
📦 Features
- Enhanced Whitelist Management: Easily add or remove multiple players from the whitelist with a single command.
- Asynchronous Location Detection: Utilizes an external API to determine the country of a player's IP address upon join attempts.
- Customizable Messages: Set personalized messages for players awaiting approval or those denied access.
- Real-Time Notifications: Receive notifications when non-whitelisted players attempt to join, complete with actionable Accept and Deny buttons.
- Flexible Notification Settings: Choose to notify only server operators or all whitelisted players based on your preference.
- Lightweight & Efficient: Designed to have minimal impact on server performance while providing robust functionality.
🔧 Installation
1. Download the Plugin
Ensure you have the latest version of WhitelistPlus compatible with PaperMC.
2. Place the JAR File
Locate Your Server's Plugins Folder:
- Navigate to your PaperMC server directory.
- Open the
plugins
folder.
Add the Plugin:
- Place the
WhitelistPlus.jar
file into theplugins
directory.
- Place the
3. Start the Server
- Launch or restart your PaperMC server.
- The plugin will generate a default
config.yml
in theplugins/WhitelistPlus
directory upon first run.
🛠 Configuration
Customize WhitelistPlus by editing the config.yml
file located in the plugins/WhitelistPlus
directory.
whitelist-status: true
await-message: "&eYou are not yet whitelisted. A request has been sent."
deny-message: "&cYou have been denied from the whitelist. Try again later."
notify-all-whitelisted: false
location-api:
url: "http://ip-api.com/json/%s"
timeout: 5000
⚙️ Configuration Options
whitelist-status (boolean): Enable or disable the whitelist.
await-message (string): Message sent to players attempting to join and awaiting approval. Default: &eYou are not yet whitelisted. A request has been sent.
deny-message (string): Message sent to players who have been denied access to the whitelist. Default: &cYou have been denied from the whitelist. Try again later.
notify-all-whitelisted (boolean): If set to true, all whitelisted players will receive join attempt notifications. If false, only players with the whitelistplus.receive permission will receive notifications.
location-api (object):
url (string):
The API endpoint used for location detection.
Default: http://ip-api.com/json/%s
timeout (integer):
Timeout for API requests in milliseconds.
Default: 5000
💡 Note:
*Location Detection: The plugin uses the ip-api.com service to determine the country of a player's IP address. Ensure your server has internet access to communicate with the API. You can replace the API URL in the configuration if you prefer a different service or require an API key.
🎮 Usage
Interact with WhitelistPlus using the /wlp command, which has been updated from the original /wl command.
📜 Available Commands
Command | Description | Usage Examples |
---|---|---|
/wlp help | Lists all available commands | /wlp help |
/wlp add | Adds one or multiple players to the whitelist | /wlp remove Susan /wlp add Frank, John, Melissa |
/wlp remove | Removes one or multiple players from the whitelist | /wlp remove Susan /wlp remove Frank, John |
/wlp awaitmsg | Sets the message for players awaiting whitelist approval | /wlp awaitmsg "&ePlease wait for admin approval." |
/wlp denymsg | Sets the message for players denied from the whitelist | /wlp denymsg "&cAccess denied. Contact admin." |
/wlp on | nables the whitelist | |
/wlp off | Disables the whitelist | |
/wlp status | Displays the current status of the whitelist | |
/wlp accept | Approves a player's whitelist request | /wlp accept Frank |
/wlp deny | Denies a player's whitelist request | /wlp deny Frank |
🔑 Permissions
Permission | Description | Default |
---|---|---|
whitelistplus.* | Allows all WhitelistPlus commands and functionalities | op |
whitelistplus.receive | Allows receiving join attempt notifications | op |