Polymart is now Voxel Shop! We're upgrading many features of the site, and during this open beta you will experience occasional bugs. Learn more  
Protectcord icon

Protectcord v1.1.5

Protectcord is an anti VPN/Proxy plugin it uses an advanced API to check if an IPv4/IPv6 is a vpn

Page 1
v1.1.5

# 🚀 ProtectCord v1.1.5 Released


**Release Type:** Feature Release
**Version:** `1.1.5`


This update introduces a powerful new **Account Per IP Limit** system alongside a **major performance upgrade to the `/checkip` API**, delivering dramatically faster player connection checks and improved abuse prevention.


---



### 🧩 Technical Breakdown


* **First request**


  * Not cached
  * IP history is built
* **Second request**


  * Cached via **Cloudflare D1 + KV**
* **Cache duration**


  * Cached for **1 hour**
  * Automatically refreshed on reuse after expiry


| Request | Expected Response Time |
| ------- | ---------------------- |
| 1st     | 1,000ms – 2,000ms      |
| 2nd+    | 5ms – 50ms             |


All other ProtectCord endpoints are already cached via Cloudflare KV and respond almost instantly.


## 🆕 New Feature: Account Per IP Limit


ProtectCord can now limit the number of Minecraft accounts that may connect from the same IP address at the same time. This helps prevent account stacking, shared-IP abuse, and connection flooding.


### 🔧 Configuration


```yaml
account-per-ip-limit:
  enabled: false
  max-accounts: 3
  enforcement: "BLOCK"  # "BLOCK" or "KICK_OLDEST"
```


### ⚙️ Options


* `enabled` – Enable or disable the feature (default: `false`)
* `max-accounts` – Maximum allowed accounts per IP (default: `3`)
* `enforcement`


  * **BLOCK** – Deny new connections when the limit is reached
  * **KICK_OLDEST** – Kick the oldest session to allow a new connection


---


### ✨ Feature Highlights


* Thread-safe session tracking using `ConcurrentHashMap`
* Automatic cleanup when players disconnect
* Whitelisted players bypass the limit
* Local/private IP addresses bypass checks
* Custom kick messages with placeholders (`{max}`, `{current}`)
* Real-time logging of session additions and removals
* No behavior changes when disabled (default)


---


### 💬 Custom Messages


```yaml
messages:
  account-limit-reached: |
    &c&lConnection Limit Reached
    &7Maximum accounts per IP: &c{max}
    &7Current connections from your IP: &c{current}


    &7Please disconnect another account before connecting.


  account-limit-kicked: |
    &c&lYou have been disconnected
    &7A new account connected from your IP address.
    &7Maximum accounts per IP: &c{max}
```


---


## 🧠 Technical Details


### ➕ New Classes


* `SessionInfo` – Stores session data (player name, UUID, connection time)
* `SessionManager` – Thread-safe IP session tracking
* `PlayerDisconnectListener` – Cleans up sessions on disconnect


### ✏️ Modified Classes


* `ProtectCordPlugin` – Initializes session tracking and listeners
* `ConfigManager` – Added 5 new configuration getters
* `PlayerConnectionListener` – Account-limit check runs before API validation
* `config.yml` – New configuration section and messages


---


### 🔄 Logic Flow


1. Player connects → `PreLoginEvent`
2. Feature enabled & player not whitelisted
3. `SessionManager.canConnect()` validates IP usage
4. If limit exceeded:


   * **BLOCK** → Connection denied
   * **KICK_OLDEST** → Oldest session disconnected
5. Session added on successful join
6. Session removed on disconnect


---


### 📊 Performance Impact


* ~130 bytes per session
* O(1) lookups
* Thread-safe synchronization
* Automatic cleanup prevents memory leaks


---


## ⚡ Massive `/checkip` API Performance Upgrade


We’ve pushed a **major API update** that drastically reduces latency for the `/checkip` endpoint used by ProtectCord across game servers, websites, and platforms.


### 🌍 Cloudflare-Powered Caching


* **1st request per IP:** ~1,000ms – 2,000ms
* **Subsequent requests:** **5ms – 50ms**
* Up to **200× faster** after the first check


Once a player’s IP has been screened, ProtectCord can return safety data *almost instantly* on future connections — a massive improvement for login systems and VPN/proxy detection.



---


## 🔐 Why This Matters


* Faster player logins
* Near-instant VPN & proxy detection after first check
* Reduced server-side login delays
* Stable performance during peak traffic


---


## ✅ Compatibility


* Fully backward compatible with v1.1.0
* Feature disabled by default
* No breaking changes


---


💙 Thank you for using **ProtectCord**
This release delivers **stronger protection** and **significantly faster performance** across the board.


 

Paper Release

v1.0.8 is out! It should automatically work for minecraft 1.21.11. Paper natively now supports 1.21.11-pre4-R0.1-SNAPSHOT

Protectcord - Paper Release

## [v1.0.7] - 2025-01-02


**Version: 1.0.7**


**Release Type: Configuration Update**


**Release Date: 2025-01-02**


### Features Added


- **Configurable API Timeouts** - Admins can now configure connection and read timeouts for API requests
  - Added `api-timeout.connect` configuration option (default: 15000ms)
  - Added `api-timeout.read` configuration option (default: 15000ms)
  - Timeout settings apply to all API calls including IP checks, statistics, and health checks
  - Helps servers with slower connections or distant from API servers


### Changes


- **Increased default API timeouts from 5 seconds to 15 seconds**
  - Reduces timeout errors for servers with slower network connections
  - Provides better reliability for international servers
  - Can be adjusted per-server needs in configuration

1.0.5 Dev Release

### Version 1.0.5-dev (Development Build)
**⚠️ This is a development build. Features are functional but not fully tested in production.**


- ✨ **NEW:** Player warning system with automatic escalation (3-strike system)
- ✨ **NEW:** `/protectcord warn <player> <reason>` - Issue warnings to players
- ✨ **NEW:** `/protectcord warnings <player>` - View complete warning history for any player
- ✨ **NEW:** `/protectcord ban <player> <reason>` - Manually ban players from the server
- ✨ **NEW:** `/protectcord unban <player>` - Remove bans and allow players to rejoin
- 🔧 **ADDED:** 3-Strike Auto-Ban System:
  - 1st warning: Player receives in-game chat warning
  - 2nd warning: Player is kicked with final warning message
  - 3rd warning: Player is automatically permanently banned
- 📊 **ADDED:** Persistent warning storage in `warnings.yml` with timestamps and issuer tracking
- 🔒 **ADDED:** Automatic ban check on player login (banned players cannot join)
- 🔧 **IMPROVED:** Updated reload command to also reload warning data
- 🎮 **IMPROVED:** Enhanced help text and tab completion with new moderation commands
1.0.3 release

### Version 1.0.3
- ✨ **NEW:** Explicit Tor exit node blocking (`block-tor` config option)
- ✨ **NEW:** Geo-blocking / region blocking system (blacklist or whitelist mode)
- ✨ **NEW:** Enhanced API integration with additional fields (`is_tor`, `is_abuser`, `is_satellite`, `is_crawler`, `is_whitelisted`, `is_blacklisted`)
- 🔧 **CHANGED:** Risk-level blocking is now **optional and disabled by default** (`enable-risk-level-blocking: false`)
- 🔧 **IMPROVED:** Better blocking logic with hierarchical priority (geo → connection types → risk level)
- 📊 **ADDED:** Company risk score tracking from API
- 📊 **ADDED:** Separate country code field for accurate geo-blocking
1.0.1 Update

Added /protectcord version command

1.0.0 Rewrite! Check modrinth for more!

https://modrinth.com/plugin/protectcord

Page 1
Owned
Ready to download
This resource is already attached to your account. You can download the latest file any time.

moderation