Secure your server with style. VIPAccess Rework restricts entry to authorized players only, featuring intelligent bot mitigation and multi-language support.
VIPAccess Rework is a completely rewritten and improved version of the server access restriction plugin. It is the ideal solution for maintenance work, private servers, or creating exclusive access for donors.
Unlike simple whitelists, VIPAccess Rework includes powerful protection against bot attacks, beautiful message formatting (MiniMessage), Temporary Access system, and a Full In-Game GUI Dashboard.
Check out the original version of the plugin:
click
/vipa gui)./vipa grant. The plugin automatically revokes access when time expires.<gradient:red:blue>Text).Management
/vipa gui — Open the main Dashboard.vipaccess.gui/vipa reload — Reload configuration and languages.vipaccess.reloadTemporary Access
/vipa grant <player> <time> — Give temporary access (e.g., 1h, 30m, 1d).vipaccess.adminAccess Control
server.vip (Configurable in config.yml)vipaccess.bypass (Always allows entry)vipaccess.adminThe plugin analyzes incoming traffic in real-time.
KICK - Low resource usage.BAN_IP - Temporary IP ban (10 min).WHITELIST - Only whitelisted players can join.# Is the plugin enabled
enabled: true
# Message language (en, ru)
language: ru
# Permission required for player entry
required-permission: "server.vip"
# Anti-bot protection settings
anti-bot:
enabled: true
threshold: 50 # Connection threshold per second to activate protection
protection-duration: 60 # Protection mode duration (sec)
punishment: KICK # Punishment type: KICK, BAN_IP, or WHITELIST
You can interact with VIPAccess Rework in your own plugins. Since there is no public repository, simply add VIPAccess.jar as a library to your project.
Events:
VIPLoginEvent - Called when a player is about to be kicked due to full server/no permission.TempAccessGrantEvent - Called when temporary access is granted.import com.sunrisestudio.vipaccess.api.VIPLoginEvent;
@EventHandler
public void onVipLogin(VIPLoginEvent event) {
Player player = event.getPlayer();
// Example: let the player in if they have a specific advancement
if (player.getAdvancementProgress(advancement).isDone()) {
event.setCancelled(true); // Allow entry by cancelling the kick
}
}