IP Ban PluginСкачатьСкачать
ВЕРСИИ (2)
release
IP Ban Plugin 1.0.1
1.0.11 янв. 2026 г.243Minecraft: 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3.1, 1.3.2, 1.4.2, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5.1, 1.5.2, 1.6.1, 1.6.2, 1.6.4, 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 1.7.10, 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11velocity
Что нового
### Added
- **JSON Storage**: Replaced SQLite with a lightweight JSON-based storage system.
- **Async I/O**: All file operations (save/load) are now performed asynchronously to prevent server lag.
- **Cyrillic Support**: Enforced UTF-8 encoding for `messages.properties` and `banned_ips.json` to correctly handle Cyrillic characters in ban reasons and messages.
### Changed
- **Plugin ID**: Renamed plugin ID to `ipbanplugin` and main class to `IPBanPlugin`.
- **Dependency Removal**: Removed `sqlite-jdbc` dependency to drastically reduce file size.
- **File Size**: Optimized plugin size from ~13MB to ~350KB.
- **Velocity API**: Updated to target Velocity 3.4.0-SNAPSHOT.
### Fixed
- **Encoding Issues**: Fixed issues where Cyrillic characters might appear as question marks or garbage text.
- **Java 9+ Compatibility**: Removed complex classloader hacks required for SQLite, ensuring better compatibility with modern Java versions (Java 17+).
release
IP Ban Plugin 1.0.0
1.0.06 июл. 2025 г.116Minecraft: 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3.1, 1.3.2, 1.4.2, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5.1, 1.5.2, 1.6.1, 1.6.2, 1.6.4, 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 1.7.10, 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11velocity
Что нового
# Velocity IP Ban Plugin
   
> **Created by Yunexal Labs** - A simple and efficient IP banning plugin for Velocity proxy servers
## 📋 Overview
Velocity IP Ban Plugin is a lightweight yet powerful solution for managing IP bans on Velocity proxy servers. The plugin provides instant IP blocking, automatic online player kicking, and support for multiple IP management - all without unnecessary complexity.
## ✨ Features
- 🚫 **Instant IP Blocking** - Blocks banned IP addresses before players can connect to any backend server
- 👥 **Multiple IP Support** - Ban or unban multiple IP addresses with a single command
- ⚡ **Online Player Kicking** - Automatically kicks players when their IP gets banned while they're online
- 📊 **Statistics Integration** - Built-in bStats integration for usage analytics
- 🎨 **Colored Messages** - Beautiful colored console output and player messages
- 💾 **SQLite Database** - Lightweight, serverless database storage
- 🔧 **Simple Configuration** - Minimal setup required
- 🌐 **No Dependencies** - Works out of the box with just Velocity
## 🚀 Installation
1. Download the latest `velocity-ip-ban-1.0.0.jar` from releases
2. Place the JAR file in your Velocity server's `plugins` folder
3. Restart your Velocity server
4. The plugin will automatically create configuration files on first run
## 📖 Commands
### `/ipban` - Ban IP Addresses
**Permission:** `velocityipban.ban`
**Aliases:** `/banip`
#### Usage Examples:
```bash
# Show list of all banned IPs
/ipban
# Ban a single IP address
/ipban 192.168.1.100
# Ban multiple IP addresses at once
/ipban 192.168.1.100 10.0.0.50 172.16.0.10
# Mix valid and invalid IPs (invalid ones will be skipped with warnings)
/ipban 192.168.1.100 invalid.ip 10.0.0.50
```
### `/unbanip` - Unban IP Addresses
**Permission:** `velocityipban.unban`
**Aliases:** `/unban-ip`
#### Usage Examples:
```bash
# Unban a single IP address
/unbanip 192.168.1.100
# Unban multiple IP addresses at once
/unbanip 192.168.1.100 10.0.0.50 172.16.0.10
```
## ⚙️ Configuration
### config.yml
```yaml
# Velocity IP Ban Plugin Configuration
# Created by Yunexal Labs
#
# A simple and efficient IP banning system for Velocity proxy servers
# Database settings
database:
type: "sqlite"
sqlite:
file: "banned_ips.db"
# Debug mode
debug: false
```
### messages.properties
All plugin messages are customizable through the `messages.properties` file:
```properties
# Ban messages
ban.message=&cYour IP has been parked by Yunexal Autonomous Security. Appeal is not possible. Skill issue?
ban.kick_online=&cYour IP has been banned while you were online. Reconnection is not possible.
ban.success=&aSuccessfully banned IP: &f{ip}
ban.success_multiple=&aSuccessfully banned &f{count} &aIPs: &f{ips}
ban.already=&cIP {ip} is already banned
ban.some_already=&eWarning: Some IPs were already banned: &f{already_banned}
# Unban messages
unban.success=&aSuccessfully unbanned IP: &f{ip}
unban.success_multiple=&aSuccessfully unbanned &f{count} &aIPs: &f{ips}
unban.not_banned=&cIP {ip} is not banned
unban.some_not_banned=&eWarning: Some IPs were not banned: &f{not_banned}
# List messages
list.header=&6=== Banned IPs ===
list.entry=&7{ip} &8- &fbanned by &f{banned_by}
list.empty=&7No IPs are currently banned
# Error messages
error.invalid_ip=&cInvalid IP address format: &f{ip}
error.no_permission=&cYou don't have permission to use this command
error.database=&cDatabase error occurred. Check console for details.
# Usage messages
usage.ipban=&cUsage: &f/ipban &7[show list] &f| &f/ipban <ip1> [ip2] [ip3] ...
usage.unbanip=&cUsage: &f/unbanip <ip1> [ip2] [ip3] ...
```
## 🔒 Permissions
| Permission | Description | Default |
|------------|-------------|---------|
| `velocityipban.ban` | Allows using `/ipban` command | `op` |
| `velocityipban.unban` | Allows using `/unbanip` command | `op` |
## 🗃️ Database Schema
The plugin uses a simple SQLite database with the following structure:
```sql
CREATE TABLE banned_ips (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ip_address TEXT NOT NULL UNIQUE,
banned_by TEXT NOT NULL,
banned_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
## 📊 How It Works
1. **Connection Blocking**: When a player tries to connect, the plugin checks their IP against the database during the `PreLoginEvent`
2. **Multiple IP Management**: Commands support space-separated IP addresses for bulk operations
3. **Online Player Kicking**: When an IP is banned, all online players with that IP are immediately disconnected
4. **Validation**: All IP addresses are validated before processing, with detailed error messages for invalid formats
5. **Async Operations**: All database operations are performed asynchronously to prevent server lag
## 🎯 Performance
- **Lightweight**: ~14MB JAR file with all dependencies included
- **Fast**: Async database operations prevent server blocking
- **Efficient**: Uses connection pooling with HikariCP
- **Scalable**: SQLite database handles thousands of banned IPs efficiently
*Made with ❤️ by Yunexal Labs*