ultiAccountLimit

ultiAccountLimit

A lightweight Velocity proxy plugin that prevents multiple accounts from connecting from the same IP address.

23 downloads

VelocityMultiAccountLimit

A lightweight Velocity proxy plugin that prevents multiple accounts from connecting from the same IP address.


Features

  • ๐Ÿ›ก๏ธ Per-IP Connection Limit โ€” Set a maximum number of concurrent connections per IP address
  • ๐ŸŒ Bilingual Support โ€” Built-in Chinese (zh_CN) and English (en_US) language files
  • ๐ŸŽจ Colored Console Logs โ€” Real-time colored console output (green for allowed, red for blocked/disconnected)
  • ๐Ÿ”„ Hot Reload โ€” Reload config and language without restarting the proxy (/vmultireload)
  • ๐Ÿงต Thread-Safe โ€” Concurrent connection tracking with synchronized IP counting
  • ๐Ÿ“ Customizable Kick Message โ€” Supports color codes and multi-line messages
  • ๐Ÿ“‚ Editable Language Files โ€” YAML-based language files in the plugin's lang/ directory

How It Works

When a player connects to the proxy, the plugin checks how many connections from their IP are already online:

  • Below limit โ†’ Player is allowed in, connection count increases
  • At or above limit โ†’ Player is kicked with a configurable message, connection is logged in red
  • Player disconnects โ†’ Connection count decreases automatically

The plugin operates at the LoginEvent stage โ€” after authentication but before the player joins a server. Banned or otherwise rejected players are ignored entirely.

Commands

Command Permission Description
/vmultireload velocitymultilimit.reload Hot-reload config and language files

Alias: /vmlreload

Permissions

Node Default Description
velocitymultilimit.reload OP / Console Allows using the reload command

Installation

  1. Place the JAR in your Velocity proxy's plugins/ folder
  2. Restart the proxy (or use /velocity plugin load if supported)
  3. A default config.properties will be created in plugins/VelocityMultiAccountLimit/
  4. Language files (zh_cn.yml, en_us.yml) will be created in plugins/VelocityMultiAccountLimit/lang/

Configuration

config.properties

Option Default Description
language zh_CN Language setting (zh_CN or en_US)
max-connections-per-ip 3 Max connections per IP (-1 = unlimited)
kick-message (empty) Custom kick message (uses language default if empty). Supports & color codes and \n for new lines.

Example

language=en_US
max-connections-per-ip=2
kick-message=&cYou already have an account on this server!\n&eLimit: &6%d

Language Files

Language files are stored in plugins/VelocityMultiAccountLimit/lang/ as YAML files. You can edit them directly to customize any message. The plugin will copy default files from the JAR if they don't exist.

Available languages:

  • zh_cn.yml โ€” Chinese (Simplified)
  • en_us.yml โ€” English (US)

Console Output Example

[VelocityMultiLimit] Allowed: Steve (IP: 192.168.1.100) - Current IP online: 1
[VelocityMultiLimit] Blocked: Alex (IP: 192.168.1.100)
  โ””โ”€ Exceeded alt-account limit (Blocked: 1/1)
[VelocityMultiLimit] Player disconnected: Steve (IP: 192.168.1.100)

Requirements

  • Velocity 3.0.0 or higher (4.0.0 supported)
  • Java 21 or higher

Support

No gallery available for this project.