Protectcord is an anti VPN/Proxy plugin it uses an advanced API to check if an IPv4/IPv6 is a VPN or Proxy!
Block VPNs, proxies, bots, and malicious connections with real-time IP intelligence. Built-in moderation, AutoMod chat filtering, alt detection, and MySQL multi-server sync — all in one lightweight plugin.
ProtectCord connects every joining player against a live threat intelligence database before they ever reach your server. Combined with a full moderation suite, it's the only tool you need to keep your server clean and your community safe.
bStats: https://bstats.org/plugin/bukkit/Protectcord/24623
1h, 7d, 30d)/pc alts <player>) — names only, never raw IPsBLOCK, WARN, KICK, MUTE, or TEMPMUTE/pc migrate/pc purge192.168.1.*) until they earn the protectcord.ip.full permission/report; staff are notified in-game and via Discord/pc stats/pc check <player|ip> for on-demand threat analysis| Platform | Versions | Notes |
|---|---|---|
| Paper | 1.13 – 1.21+ | Recommended for standalone servers |
| Spigot | 1.8.8 – 1.21+ | Full legacy support |
| Folia | 1.19+ | Multithreaded scheduler support |
| Velocity | 3.0+ | Recommended for proxy networks |
| BungeeCord | 1.8.8 – 1.21+ | Waterfall compatible |
| Forge | 1.20.1+ | Server-side only; checks at post-login |
Network tip: Install only on your proxy (Velocity/BungeeCord) to protect all backend servers with a single API key.
plugins/ folder (or mods/ for Forge)plugins/ProtectCord/config.yml/protectcord reload or restartThe config file is auto-generated at plugins/ProtectCord/config.yml on first run. Every option is explained below.
Velocity uses
config.toml(same structure, TOML syntax). Forge usesconfig/protectcord-forge.toml.
# Your ProtectCord API key — get one free at https://protectcord.com/dashboard/api-keys
api-key: "YOUR_API_KEY_HERE"
# How long to wait (ms) for the API to respond before giving up
api-timeout:
connect: 15000 # Time to establish the connection (default: 15s)
read: 15000 # Time to wait for a response after connecting (default: 15s)
# Automatic retry for failed/timed-out API requests
api-retry:
max-attempts: 3 # Max number of retries before allowing/denying the player (1–5)
initial-delay: 1000 # Wait this long before the first retry (ms)
max-delay: 5000 # Never wait longer than this between retries (ms)
multiplier: 2.0 # Multiply delay by this factor each retry (exponential backoff)
# Used for player tracking and multi-server MySQL identification
server:
name: "My Server" # Friendly name — stored in MySQL as server_id on every row
ip: "" # Your public IP — leave blank to auto-detect
port: 25565 # Your server port
type: "spigot" # Platform: paper / spigot / bungeecord / velocity / forge / folia
# UUID-based tracking via the ProtectCord API
player-tracking:
enabled: true
block-flagged-players: true # Block players flagged as malicious by the API
block-inactive-players: false # Block players whose accounts are marked inactive
# Master switch — set to false to disable all IP checking (not recommended)
enable-ip-check: true
# Choose which connection types to block
block-vpn: true # Virtual private networks (ban evaders, alt accounts)
block-proxy: true # HTTP/SOCKS proxies and anonymizers
block-tor: true # Tor exit nodes
block-datacenter: true # Hosting provider IPs (common source of bots)
block-bogon: true # Invalid, reserved, or unroutable IP ranges
# Risk-based blocking (optional, runs in addition to the flags above)
# Enable this to block by overall threat score instead of (or as well as) individual flags
enable-risk-level-blocking: false
blocked-risk-level: "HIGH"
# Levels (each blocks itself and everything above it):
# LOW — blocks LOW, MEDIUM, HIGH, CRITICAL (very strict)
# MEDIUM — blocks MEDIUM, HIGH, CRITICAL
# HIGH — blocks HIGH, CRITICAL (recommended if enabling)
# CRITICAL — blocks CRITICAL only (very lenient)
geo-blocking:
enabled: false
mode: "blacklist" # "blacklist" = block listed countries
# "whitelist" = ONLY allow listed countries (everyone else blocked)
countries: # ISO 3166-1 alpha-2 country codes
- "CN"
- "RU"
# Limit how many Minecraft accounts can connect simultaneously from the same IP
account-per-ip-limit:
enabled: false
max-accounts: 3 # Maximum simultaneous connections from one IP
enforcement: "BLOCK" # "BLOCK" — deny the new connection
# "KICK_OLDEST" — kick the oldest session to make room
discord-webhook:
enabled: false
url: "" # Paste your Discord webhook URL here
timeout: 10000 # HTTP timeout for sending the webhook (ms)
# Retry failed webhook deliveries
retry:
enabled: true
max-attempts: 3 # How many times to retry a failed delivery (1–10)
initial-delay: 1000 # Wait before first retry (ms)
max-delay: 10000 # Maximum wait between retries (ms)
multiplier: 2.0 # Exponential backoff multiplier
# Rate limiting — Discord allows ~5 requests per 2 seconds per webhook
rate-limit:
max-per-second: 2 # Requests sent per second (1–5)
burst-limit: 5 # Maximum burst before throttling kicks in
# Which events send a webhook message
events:
denied: true # Player was blocked by ProtectCord
accepted: false # Player passed all checks and joined (high volume — off by default)
whitelisted: true # A whitelisted player joined
error: true # An API error occurred during a check
# Which data fields appear in the embed
data-fields:
show-country: true
show-country-flag: true # 🇺🇸 flag emoji next to country name
show-city: true
show-vpn: true
show-proxy: true
show-datacenter: true
show-tor: true
show-mobile: true
show-satellite: true
show-crawler: true
show-bogon: true
show-risk-level: true
show-abuser: true
show-blacklisted: true
show-company: true # ISP / hosting provider name
show-company-risk: true
# Customise the appearance of each embed type
embeds:
denied:
title: "Connection Denied"
emoji: "x"
color: 15158332 # Decimal RGB — red
footer: "" # Optional footer text
thumbnail-url: "" # Optional image in top-right corner
accepted:
title: "Connection Accepted"
emoji: "white_check_mark"
color: 3066993 # Green
footer: ""
thumbnail-url: ""
whitelisted:
title: "Whitelisted Player Joined"
emoji: "white_circle"
color: 16776960 # Yellow
footer: ""
thumbnail-url: ""
error:
title: "API Error"
emoji: "warning"
color: 15105570 # Orange
footer: ""
thumbnail-url: ""
# Advanced webhook behaviour
advanced:
validate-url-on-startup: true # Send a test ping when the plugin loads
log-failures: true # Print failed deliveries to console
log-retries: true # Print retry attempts to console
queue-size: 100 # Max webhooks queued before dropping oldest
# In-game and Discord notifications for moderation actions
alerts:
enabled: true
# Broadcast to online staff with the protectcord.alerts permission
in-game:
enabled: true
# Separate webhook channel just for mod-team events
discord-webhook:
enabled: false
url: ""
# Fine-tune exactly which actions trigger an alert
events:
kick: true
ban: true
unban: true
warn: true
clear-warnings: true
remove-warning: true
automod: true
mute: true
unmute: true
tempmute: true
tempban: true
warnings:
# Automatically take action when a player accumulates enough warnings
auto-action:
enabled: true
action: "BAN" # "BAN" — permanent ban | "KICK" — kick only
threshold: 3 # Number of warnings before auto-action fires
# Kick the player with a "final warning" message at a lower threshold
kick-on-warn:
enabled: true
threshold: 2 # Kick at this warning count (before the ban threshold)
# Warnings older than this are not counted toward thresholds
expiry:
duration: "0" # "0" = warnings never expire
# Examples: "7d", "30d", "90d"
# Escalation tiers — overrides auto-action when enabled
# Each tier fires when warning count reaches `count`
escalation:
enabled: false
tiers:
- count: 1
action: "WARN"
- count: 2
action: "TEMPMUTE"
duration: "1h"
- count: 3
action: "TEMPBAN"
duration: "1d"
- count: 4
action: "TEMPBAN"
duration: "7d"
- count: 5
action: "BAN"
# Available actions: WARN, KICK, MUTE, TEMPMUTE, TEMPBAN, BAN
# Duration format: 30s, 10m, 1h, 7d, 30d
automod:
enabled: false # Master switch — must be true for any rules to run
# Blocked actions apply to the message that triggered the rule.
# Available actions for all rules: BLOCK, WARN, KICK, MUTE, TEMPMUTE
# TEMPMUTE duration is set by tempmute-duration below.
tempmute-duration: "10m"
# Block links in chat
anti-link:
enabled: true
action: "BLOCK"
whitelisted-domains: # These domains are allowed through
- "yourdomain.com"
- "discord.gg/yourserver"
# Block spam (too many messages too fast, or too many duplicates)
anti-spam:
enabled: true
action: "BLOCK"
max-messages: 5 # Max messages allowed within the time window
time-window-seconds: 10 # Rolling window size in seconds
max-duplicates: 3 # Max identical messages allowed in the window
# Block server IPs and Discord invite links
anti-advertising:
enabled: true
action: "BLOCK"
block-server-ips: true # Blocks patterns like "play.someserver.net"
block-discord-invites: true # Blocks discord.gg/... links
whitelisted-domains:
- "yourdomain.com"
- "discord.gg/yourserver"
# Block profanity and custom banned words
anti-swear:
enabled: false
action: "BLOCK"
use-regex: false # Set true to treat blocked-words entries as regex patterns
blocked-words:
- "badword1"
- "badword2"
whitelisted-words: # These words are never blocked even if they match a pattern
- "scrapbook"
# Block excessive CAPS LOCK
anti-caps:
enabled: false
action: "BLOCK"
min-message-length: 5 # Ignore short messages (e.g. "OK", "YES")
threshold-percent: 70.0 # Block if more than this % of letters are uppercase
# Block character flooding (aaaaaaaaaa, !!!!!!!!!)
anti-flood:
enabled: false
action: "BLOCK"
max-repeated-chars: 5 # Consecutive identical characters before blocking
min-message-length: 3 # Ignore very short messages
# Block Unicode abuse and Zalgo text
anti-unicode:
enabled: false
action: "BLOCK"
block-zalgo: true # Block combining diacritical mark stacking (z͎̤̙̘̭͇͠a̵͔͓l̡͔͍̦͚͙g̢͕̲͔͔͕ö̥́)
max-unicode-percent: 50.0 # Block if more than this % of chars are non-ASCII
reports:
enabled: true
cooldown-seconds: 60 # How long a player must wait between reports
# Post reports to a Discord channel
discord-webhook:
enabled: false
url: ""
mention-role-id: "" # Optional — ping a role when a report comes in (e.g. "123456789")
notify-staff: true # Broadcast reports to online staff with protectcord.alerts
predefined-reasons: [] # Optional list of reasons shown in tab-complete
# Example: ["Hacking", "Spam", "Harassment", "Inappropriate name"]
database:
type: "YAML" # "YAML" — flatfile storage (default, no setup needed)
# "MYSQL" — MySQL/MariaDB (required for multi-server sync)
mysql:
host: "localhost"
port: 3306
database: "protectcord" # Database name (must exist before starting)
username: "root"
password: ""
table-prefix: "pc_" # All tables prefixed with this (e.g. pc_warnings, pc_bans)
# HikariCP connection pool settings
pool:
max-pool-size: 10 # Maximum simultaneous database connections
min-idle: 2 # Minimum idle connections kept open
connection-timeout: 30000 # Max wait for a connection from the pool (ms)
idle-timeout: 600000 # Close idle connections after this long (ms)
max-lifetime: 1800000 # Recycle connections after this long (ms)
# Control how IP addresses appear to staff in command output
# Staff with the protectcord.ip.full permission always see the full IP
ip-masking:
enabled: false
mask-format: "last-octet"
# "last-octet" → 192.168.1.* (hides last segment)
# "last-two-octets" → 192.168.*.* (hides last two segments)
# "full-mask" → *.*.*.* (hides everything)
# All messages support & colour codes. Placeholders listed per message.
messages:
# Shown to players blocked by IP check — {reason}, {risk}
connection-denied: |
&c&lConnection Denied
&7Your connection has been blocked by ProtectCord.
&7Reason: &c{reason}
&7Risk Level: &c{risk}
&7If you believe this is an error, please contact server staff.
# Shown when the API is unreachable during a check
api-error: |
&c&lTemporary Connection Issue
&7We're unable to verify your connection at the moment.
&7Please try again later.
# Shown to a player blocked by the accounts-per-IP limit — {max}, {current}
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.
# Shown to the oldest session kicked by KICK_OLDEST enforcement — {max}
account-limit-kicked: |
&c&lYou have been disconnected
&7A new account connected from your IP address.
&7Maximum accounts per IP: &c{max}
# Shown when player-tracking blocks a flagged player — {flags}
player-flagged: |
&c&lConnection Denied
&7Your account has been flagged.
&7Flags: &c{flags}
&7If you believe this is an error, please contact server staff.
# Shown when player-tracking blocks an inactive player
player-inactive: |
&c&lConnection Denied
&7Your account has been deactivated.
&7Please contact server staff.
# Shown in chat to whitelisted players who bypass the IP check
whitelist-bypass: "&aYou have bypassed IP verification."
Aliases: /pc, /protect
| Command | Description |
|---|---|
/pc reload |
Reload config, whitelist, and storage |
/pc stats |
View API usage and rate limits |
/pc check <player\|ip> |
On-demand IP threat analysis |
/pc version |
Plugin version and platform info |
/pc health |
API connectivity health check |
/pc alerts |
Toggle in-game staff alerts on/off |
| Command | Description |
|---|---|
/pc whitelist add player <name> |
Whitelist a player by name |
/pc whitelist add uuid <uuid> |
Whitelist by UUID |
/pc whitelist add ip <address> |
Whitelist an IP address |
/pc whitelist remove <type> <value> |
Remove whitelist entry |
/pc list |
List all whitelisted entries |
| Command | Description |
|---|---|
/pc kick <player> [reason] |
Kick an online player with IP info |
/pc warn <player> <reason> |
Issue a warning (auto-escalates) |
/pc warnings <player> |
View full warning history |
/pc clear warning <player> |
Clear all warnings |
/pc clear ban <player> |
Clear a ban record |
/pc remove warning <player> [#] |
Remove a specific warning by index |
/pc ban <player> <reason> |
Permanently ban a player |
/pc tempban <player> <duration> <reason> |
Temp-ban (1h, 7d, 30d) |
/pc unban <player> |
Unban a player |
/pc mute <player> <reason> |
Permanently mute a player |
/pc tempmute <player> <duration> <reason> |
Temp-mute |
/pc unmute <player> |
Unmute a player |
/pc alts <player> |
Find alt accounts by shared IP |
| Command | Description |
|---|---|
/pc migrate <yaml\|mysql> |
Migrate all data between storage backends |
/pc purge <type> <days> |
Delete data older than X days |
Purge types: warnings, bans, mutes, iplogs, auditlog, inactive, all
| Command | Description |
|---|---|
/report [player] <reason> |
Report a player (or submit an anonymous report) |
| Permission | Description | Default |
|---|---|---|
protectcord.admin |
All /pc commands |
OP |
protectcord.bypass |
Bypass IP checks on join | false |
protectcord.alerts |
Receive in-game staff alerts | OP |
protectcord.ip.full |
See unmasked IPs in command output | OP |
protectcord.automod.bypass.* |
Bypass all AutoMod checks | false |
Automatically escalate discipline based on warning count. Two modes available:
| Warning | Action |
|---|---|
| 1st | In-game warning message |
| 2nd | Kicked with "final warning" message |
| 3rd | Permanent ban |
Fully custom escalation — any combination of WARN → TEMPMUTE → TEMPBAN → BAN:
1 warning → Warning message
2 warnings → Temp mute (1 hour)
3 warnings → Temp ban (1 day)
4 warnings → Temp ban (7 days)
5 warnings → Permanent ban
Warnings can optionally expire after a configured duration (7d, 30d, etc.) so past behavior doesn't follow players forever.
Protect your chat without lifting a finger. Each AutoMod rule runs independently and can be configured to BLOCK, WARN, KICK, MUTE, or TEMPMUTE the offending player.
| Rule | What It Catches |
|---|---|
| Anti-Link | URLs, with per-domain whitelist |
| Anti-Advertising | Other server IPs, Discord invites |
| Anti-Spam | Message rate and duplicate flooding |
| Anti-Swear | Custom word list, with regex and exceptions |
| Anti-Caps | Excessive uppercase by percentage |
| Anti-Flood | Repeated character abuse |
| Anti-Unicode | Zalgo text and invisible character abuse |
Find players evading bans or using multiple accounts with a single command:
/pc alts Notch
→ [ProtectCord] Alt accounts for Notch:
- Notch2 (shared IPs: 2)
- AltAccount99 (shared IPs: 1)
IPs are never displayed in alt output — staff see player names only, protecting privacy while identifying evaders.
Store all data (warnings, bans, mutes, IP history, audit logs) in MySQL instead of local YAML files.
/pc migrate mysql/pc migrate mysql
→ Migrated 47 players, 12 IP bans, 203 audit entries.
→ Update database.type in config.yml and run /pc reload.
Keep your database clean with fine-grained purge commands:
/pc purge warnings 90 — remove warnings older than 90 days
/pc purge bans 30 — remove expired bans older than 30 days
/pc purge mutes 30 — remove expired mutes older than 30 days
/pc purge iplogs 365 — remove IP history older than 1 year
/pc purge auditlog 90 — trim the audit log
/pc purge inactive 180 — remove player records unseen for 6 months
/pc purge all 90 — run all of the above
Get a rich Discord embed every time a player is blocked, accepted, or whitelisted:
Separate webhook for moderation events: bans, unbans, warns, kicks, mutes, AutoMod actions — so your mod team always knows what's happening.
config.yml:discord-webhook:
enabled: true
url: "https://discord.com/api/webhooks/YOUR_WEBHOOK"
/pc reloadEvery connecting player's IP is sent to the ProtectCord API for evaluation:
| Check | What It Detects |
|---|---|
| VPN | Virtual private networks used to hide location |
| Proxy | HTTP/SOCKS proxies and anonymizers |
| Tor | Tor exit nodes |
| Datacenter | Hosting providers (common bot source) |
| Bogon | Invalid or reserved IP ranges |
| Risk Score | AI-powered score from UNKNOWN to CRITICAL |
| Geo | Country of origin (for geo-blocking) |
No API call is made for:
- Localhost (127.0.0.1, ::1)
- Private networks (192.168.x.x, 10.x.x.x, 172.16–31.x.x)
- Whitelisted players, UUIDs, or IPs
Is this free?
Yes. The free API key includes 32 requests per minute, enough for most servers.
Will it lag my server?
No. All IP checks are fully asynchronous and never block the main thread.
Can legitimate players get blocked?
Rarely. Use /pc check <player> to see why, then /pc whitelist add player <name>. You can also raise blocked-risk-level to CRITICAL for less aggressive blocking.
Does it work with offline mode?
Yes. The plugin functions in both online and offline mode.
What about proxy networks?
Install only on the proxy (BungeeCord or Velocity). All backend servers are automatically protected with one plugin and one API key.
What if the API is down?
Players are allowed to connect by default during API outages. This prevents lockouts and can be changed in config.
Do you store player data?
Only IP addresses are sent to the ProtectCord API. No usernames or UUIDs are transmitted externally. See our privacy policy.
Can I sync bans across servers?
Yes — enable MySQL storage and point all servers at the same database. Bans and mutes are enforced network-wide automatically.
"API KEY NOT CONFIGURED!"
Get your key at protectcord.com/dashboard, add it to config.yml, run /pc reload.
Player blocked incorrectly
Run /pc check <player> to see the reason. Whitelist with /pc whitelist add player <name> or lower blocked-risk-level.
Rate limit hit
Free tier: 32 req/min (~1 player every 2 seconds). Solutions: whitelist regulars to skip API calls, or install only on your proxy instead of all backends.
Discord webhook silent
Verify URL is correct, enabled: true, events are enabled, and check console for errors.
MySQL connection failed
Check host/port/credentials in config. Ensure the MySQL user has CREATE TABLE privileges. Check console for the HikariCP error message.
Made with ❤️ for the Minecraft community — ProtectCord, because prevention is better than moderation.
Unknown
Unknown
Умови використання, зміни та поширення цього товару.
30.08.2026 · Modrinth
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform)....
Скриншоти та зображення з оригінальної сторінки Modrinth.

Опубліковані версії та оригінальні файли Modrinth.
30.08.2026 · 21 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 3 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 2 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 2 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 3 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 3 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 3 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 1 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 1 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 4 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 2 завантаження
Fixed a second NeoForge module-resolution crash: a leftover NeoForge internal service registration (net.neoforged.fml.IBindingsProvider) was leaking into the shaded jar and causing protectcord to falsely claim ownership of NeoForge's own internal package, colliding with the real neoforge module. Also fixed the bundled MySQL JDBC driver registration, which was broken by the earlier relocation fix (wrong/stale class name meant MySQL storage silently failed to initialize on every platform). Development/test build for verification before promotion to a stable release.
30.08.2026 · 3 завантаження
Fixed a server crash on NeoForge/Forge caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that bundle it. Development/test build for verification before promotion to a stable release.
30.08.2026 · 2 завантаження
Fixed a server crash on NeoForge/Forge caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that bundle it. Development/test build for verification before promotion to a stable release.
30.08.2026 · 7 завантаження
Fixed a server crash on NeoForge/Forge caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that bundle it. Development/test build for verification before promotion to a stable release.
30.08.2026 · 10 завантаження
Fixed a server crash on NeoForge/Forge ("Modules ... export package com.mysql.cj.jdbc" ModuleLayer resolution error) caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that also bundle it. This is a development/test build for verification before promotion to a stable release.
30.08.2026 · 1 завантаження
Fixed a server crash on NeoForge/Forge ("Modules ... export package com.mysql.cj.jdbc" ModuleLayer resolution error) caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that also bundle it. This is a development/test build for verification before promotion to a stable release.
30.08.2026 · 2 завантаження
Fixed a server crash on NeoForge/Forge ("Modules ... export package com.mysql.cj.jdbc" ModuleLayer resolution error) caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that also bundle it. This is a development/test build for verification before promotion to a stable release.
30.08.2026 · 2 завантаження
Fixed a server crash on NeoForge/Forge ("Modules ... export package com.mysql.cj.jdbc" ModuleLayer resolution error) caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that also bundle it. This is a development/test build for verification before promotion to a stable release.
30.08.2026 · 1 завантаження
Fixed a server crash on NeoForge/Forge ("Modules ... export package com.mysql.cj.jdbc" ModuleLayer resolution error) caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that also bundle it. This is a development/test build for verification before promotion to a stable release.
30.08.2026 · 1 завантаження
Fixed a server crash on NeoForge/Forge ("Modules ... export package com.mysql.cj.jdbc" ModuleLayer resolution error) caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that also bundle it. This is a development/test build for verification before promotion to a stable release.
30.08.2026 · 2 завантаження
Fixed a server crash on NeoForge/Forge ("Modules ... export package com.mysql.cj.jdbc" ModuleLayer resolution error) caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that also bundle it. This is a development/test build for verification before promotion to a stable release.
30.08.2026 · 1 завантаження
Fixed a server crash on NeoForge/Forge ("Modules ... export package com.mysql.cj.jdbc" ModuleLayer resolution error) caused by a leftover JPMS module descriptor from the bundled MySQL driver conflicting with other mods that also bundle it. This is a development/test build for verification before promotion to a stable release.
01.06.2026 · 1 233 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 15 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 11 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 15 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 50 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 22 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 297 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 12 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 10 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 11 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
01.06.2026 · 9 завантаження
Fixed dashboard tracking (Game Management) sending null JSON body on Paper, Spigot, Folia, and Hytale platforms due to Gson double-brace initialization bug
30.05.2026 · 57 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 8 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 6 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 24 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 12 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 10 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 10 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 9 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 7 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 6 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
30.05.2026 · 8 завантаження
Added Sponge platform support (SpongeAPI 8.1.0, MC 1.16.5+)
29.05.2026 · 16 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 6 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 9 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 8 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 6 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 5 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 5 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 3 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 9 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 8 завантаження
Added Purpur support and 1.8.8+ compatibility for Spigot, BungeeCord, Velocity, and the Universal JAR. Minecraft 26.1.2 (the new calendar versioning) is now supported. Universal JAR now loads correctly on 1.8.8 servers.
29.05.2026 · 7 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 2 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 7 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 6 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 8 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 4 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 7 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 6 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 3 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 8 завантаження
Added universal JAR - a single file that works on Paper, Spigot, Folia, BungeeCord, Waterfall, Velocity, Forge 1.21.1, and NeoForge 1.21.1/1.21.4. Drop it in plugins/ or mods/ and it auto-loads the correct platform.
29.05.2026 · 9 завантаження
29.05.2026 · 5 завантаження
Updated ProtectCord API integration
29.05.2026 · 4 завантаження
Updated ProtectCord API integration
29.05.2026 · 4 завантаження
Updated ProtectCord API integration
29.05.2026 · 4 завантаження
Updated ProtectCord API integration
29.05.2026 · 6 завантаження
Updated ProtectCord API integration
29.05.2026 · 3 завантаження
Updated ProtectCord API integration
29.05.2026 · 5 завантаження
Updated ProtectCord API integration
29.05.2026 · 5 завантаження
Updated ProtectCord API integration
29.05.2026 · 2 завантаження
Updated ProtectCord API integration
29.05.2026 · 15 завантаження
29.05.2026 · 6 завантаження
29.05.2026 · 9 завантаження
29.05.2026 · 8 завантаження
29.05.2026 · 3 завантаження
29.05.2026 · 8 завантаження
29.05.2026 · 3 завантаження
29.05.2026 · 2 завантаження
29.05.2026 · 3 завантаження
29.05.2026 · 5 завантаження
29.05.2026 · 6 завантаження
29.05.2026 · 5 завантаження
29.05.2026 · 5 завантаження
29.05.2026 · 5 завантаження
29.05.2026 · 4 завантаження
29.05.2026 · 5 завантаження
29.05.2026 · 5 завантаження
28.05.2026 · 6 завантаження
plugins/update/ folder — the server automatically applies the update on restartplugins/update/ (Waterfall and compatible forks apply automatically)plugins/protectcord/pending-update/ and swaps the JAR on proxy shutdownconfig/protectcord/pending-update/ and swaps the mod JAR on server shutdown/protectcord update status shows current version, latest version, update state, and changelog summary. /protectcord update check forces an immediate Modrinth check. /protectcord update apply triggers download and staging.discord-webhook.events.update: true/protectcord update status shows the first 5 lines of the Modrinth release changelog so admins can see what changed without leaving the gameauto-update config block with enabled (default: true), auto-download (default: false — must opt-in), check-interval-hours (default: 12), and notify-ops-on-join (default: true)api.modrinth.com/v2/project/y05wfnBZ/version) instead of the custom CF Worker endpoint, with platform-specific loader filteringupdate with status, check, apply sub-completions28.05.2026 · 18 завантаження
plugins/update/ folder — the server automatically applies the update on restartplugins/update/ (Waterfall and compatible forks apply automatically)plugins/protectcord/pending-update/ and swaps the JAR on proxy shutdownconfig/protectcord/pending-update/ and swaps the mod JAR on server shutdown/protectcord update status shows current version, latest version, update state, and changelog summary. /protectcord update check forces an immediate Modrinth check. /protectcord update apply triggers download and staging.discord-webhook.events.update: true/protectcord update status shows the first 5 lines of the Modrinth release changelog so admins can see what changed without leaving the gameauto-update config block with enabled (default: true), auto-download (default: false — must opt-in), check-interval-hours (default: 12), and notify-ops-on-join (default: true)api.modrinth.com/v2/project/y05wfnBZ/version) instead of the custom CF Worker endpoint, with platform-specific loader filteringupdate with status, check, apply sub-completions28.05.2026 · 7 завантаження
plugins/update/ folder — the server automatically applies the update on restartplugins/update/ (Waterfall and compatible forks apply automatically)plugins/protectcord/pending-update/ and swaps the JAR on proxy shutdownconfig/protectcord/pending-update/ and swaps the mod JAR on server shutdown/protectcord update status shows current version, latest version, update state, and changelog summary. /protectcord update check forces an immediate Modrinth check. /protectcord update apply triggers download and staging.discord-webhook.events.update: true/protectcord update status shows the first 5 lines of the Modrinth release changelog so admins can see what changed without leaving the gameauto-update config block with enabled (default: true), auto-download (default: false — must opt-in), check-interval-hours (default: 12), and notify-ops-on-join (default: true)api.modrinth.com/v2/project/y05wfnBZ/version) instead of the custom CF Worker endpoint, with platform-specific loader filteringupdate with status, check, apply sub-completions28.05.2026 · 4 завантаження
plugins/update/ folder — the server automatically applies the update on restartplugins/update/ (Waterfall and compatible forks apply automatically)plugins/protectcord/pending-update/ and swaps the JAR on proxy shutdownconfig/protectcord/pending-update/ and swaps the mod JAR on server shutdown/protectcord update status shows current version, latest version, update state, and changelog summary. /protectcord update check forces an immediate Modrinth check. /protectcord update apply triggers download and staging.discord-webhook.events.update: true/protectcord update status shows the first 5 lines of the Modrinth release changelog so admins can see what changed without leaving the gameauto-update config block with enabled (default: true), auto-download (default: false — must opt-in), check-interval-hours (default: 12), and notify-ops-on-join (default: true)api.modrinth.com/v2/project/y05wfnBZ/version) instead of the custom CF Worker endpoint, with platform-specific loader filteringupdate with status, check, apply sub-completions28.05.2026 · 4 завантаження
plugins/update/ folder — the server automatically applies the update on restartplugins/update/ (Waterfall and compatible forks apply automatically)plugins/protectcord/pending-update/ and swaps the JAR on proxy shutdownconfig/protectcord/pending-update/ and swaps the mod JAR on server shutdown/protectcord update status shows current version, latest version, update state, and changelog summary. /protectcord update check forces an immediate Modrinth check. /protectcord update apply triggers download and staging.discord-webhook.events.update: true/protectcord update status shows the first 5 lines of the Modrinth release changelog so admins can see what changed without leaving the gameauto-update config block with enabled (default: true), auto-download (default: false — must opt-in), check-interval-hours (default: 12), and notify-ops-on-join (default: true)api.modrinth.com/v2/project/y05wfnBZ/version) instead of the custom CF Worker endpoint, with platform-specific loader filteringupdate with status, check, apply sub-completions28.05.2026 · 4 завантаження
plugins/update/ folder — the server automatically applies the update on restartplugins/update/ (Waterfall and compatible forks apply automatically)plugins/protectcord/pending-update/ and swaps the JAR on proxy shutdownconfig/protectcord/pending-update/ and swaps the mod JAR on server shutdown/protectcord update status shows current version, latest version, update state, and changelog summary. /protectcord update check forces an immediate Modrinth check. /protectcord update apply triggers download and staging.discord-webhook.events.update: true/protectcord update status shows the first 5 lines of the Modrinth release changelog so admins can see what changed without leaving the gameauto-update config block with enabled (default: true), auto-download (default: false — must opt-in), check-interval-hours (default: 12), and notify-ops-on-join (default: true)api.modrinth.com/v2/project/y05wfnBZ/version) instead of the custom CF Worker endpoint, with platform-specific loader filteringupdate with status, check, apply sub-completions27.05.2026 · 6 завантаження
WritingException: Unsupported value type: HashMap crash when using /protectcord whitelist add, /protectcord warn, audit log, or any purge commandremoveWarning and all purge commands also crashing with the HashMap serialization error/pc, /protect) silently overwriting the main /protectcord command treeplayer.connection.disconnect() being called from an async thread — now scheduled on main server threadServerStoppingEvent handler — mod resources now properly shut down when server stopsisValidIP() performing DNS resolution (accepting hostnames as valid IPs)User-Agent header to dashboard tracking requests/plugin/validate-key endpoint for dashboard key synchronization27.05.2026 · 4 завантаження
WritingException: Unsupported value type: HashMap crash when using /protectcord whitelist add, /protectcord warn, audit log, or any purge commandremoveWarning and all purge commands also crashing with the HashMap serialization error/pc, /protect) silently overwriting the main /protectcord command treeplayer.connection.disconnect() being called from an async thread — now scheduled on main server threadServerStoppingEvent handler — mod resources now properly shut down when server stopsisValidIP() performing DNS resolution (accepting hostnames as valid IPs)User-Agent header to dashboard tracking requests/plugin/validate-key endpoint for dashboard key synchronization27.05.2026 · 5 завантаження
WritingException: Unsupported value type: HashMap crash when using /protectcord whitelist add, /protectcord warn, audit log, or any purge commandremoveWarning and all purge commands also crashing with the HashMap serialization error/pc, /protect) silently overwriting the main /protectcord command treeplayer.connection.disconnect() being called from an async thread — now scheduled on main server threadServerStoppingEvent handler — mod resources now properly shut down when server stopsisValidIP() performing DNS resolution (accepting hostnames as valid IPs)User-Agent header to dashboard tracking requests/plugin/validate-key endpoint for dashboard key synchronization27.05.2026 · 1 завантаження
WritingException: Unsupported value type: HashMap crash when using /protectcord whitelist add, /protectcord warn, audit log, or any purge commandremoveWarning and all purge commands also crashing with the HashMap serialization error/pc, /protect) silently overwriting the main /protectcord command treeplayer.connection.disconnect() being called from an async thread — now scheduled on main server threadServerStoppingEvent handler — mod resources now properly shut down when server stopsisValidIP() performing DNS resolution (accepting hostnames as valid IPs)User-Agent header to dashboard tracking requests/plugin/validate-key endpoint for dashboard key synchronization27.05.2026 · 5 завантаження
WritingException: Unsupported value type: HashMap crash when using /protectcord whitelist add, /protectcord warn, audit log, or any purge commandremoveWarning and all purge commands also crashing with the HashMap serialization error/pc, /protect) silently overwriting the main /protectcord command treeplayer.connection.disconnect() being called from an async thread — now scheduled on main server threadServerStoppingEvent handler — mod resources now properly shut down when server stopsisValidIP() performing DNS resolution (accepting hostnames as valid IPs)User-Agent header to dashboard tracking requests/plugin/validate-key endpoint for dashboard key synchronization27.05.2026 · 5 завантаження
WritingException: Unsupported value type: HashMap crash when using /protectcord whitelist add, /protectcord warn, audit log, or any purge commandremoveWarning and all purge commands also crashing with the HashMap serialization error/pc, /protect) silently overwriting the main /protectcord command treeplayer.connection.disconnect() being called from an async thread — now scheduled on main server threadServerStoppingEvent handler — mod resources now properly shut down when server stopsisValidIP() performing DNS resolution (accepting hostnames as valid IPs)User-Agent header to dashboard tracking requests/plugin/validate-key endpoint for dashboard key synchronization27.05.2026 · 7 завантаження
Updated ProtectCord API integration
27.05.2026 · 10 завантаження
Updated ProtectCord API integration
27.05.2026 · 2 завантаження
Updated ProtectCord API integration
27.05.2026 · 5 завантаження
Updated ProtectCord API integration
27.05.2026 · 2 завантаження
Updated ProtectCord API integration
27.05.2026 · 1 завантаження
Updated ProtectCord API integration
27.05.2026 · 5 завантаження
Updated ProtectCord API integration
27.05.2026 · 4 завантаження
Updated ProtectCord API integration
27.05.2026 · 3 завантаження
Updated ProtectCord API integration
27.05.2026 · 3 завантаження
Updated ProtectCord API integration
27.05.2026 · 5 завантаження
Updated ProtectCord API integration
27.05.2026 · 6 завантаження
Updated ProtectCord API integration
27.05.2026 · 6 завантаження
Updated ProtectCord API integration
17.05.2026 · 30 завантаження
Updated ProtectCord API integration
17.05.2026 · 68 завантаження
Updated ProtectCord API integration
17.05.2026 · 8 завантаження
Updated ProtectCord API integration
17.05.2026 · 9 завантаження
Updated ProtectCord API integration
17.05.2026 · 15 завантаження
Updated ProtectCord API integration
17.05.2026 · 37 завантаження
Updated ProtectCord API integration
11.05.2026 · 14 завантаження
Updated ProtectCord API integration
11.05.2026 · 63 завантаження
Updated ProtectCord API integration
11.05.2026 · 12 завантаження
Updated ProtectCord API integration
11.05.2026 · 10 завантаження
Updated ProtectCord API integration
11.05.2026 · 17 завантаження
Updated ProtectCord API integration
11.05.2026 · 20 завантаження
Updated ProtectCord API integration
10.05.2026 · 13 завантаження
Updated ProtectCord API integration
10.05.2026 · 14 завантаження
Updated ProtectCord API integration
10.05.2026 · 7 завантаження
Updated ProtectCord API integration
10.05.2026 · 9 завантаження
Updated ProtectCord API integration
10.05.2026 · 11 завантаження
Updated ProtectCord API integration
10.05.2026 · 13 завантаження
Updated ProtectCord API integration
07.05.2026 · 19 завантаження
Updated ProtectCord API integration
07.05.2026 · 23 завантаження
Updated ProtectCord API integration
07.05.2026 · 4 завантаження
Updated ProtectCord API integration
07.05.2026 · 10 завантаження
Updated ProtectCord API integration
07.05.2026 · 10 завантаження
Updated ProtectCord API integration
07.05.2026 · 14 завантаження
Updated ProtectCord API integration
02.05.2026 · 15 завантаження
Updated ProtectCord API integration
02.05.2026 · 7 завантаження
Updated ProtectCord API integration
02.05.2026 · 7 завантаження
Updated ProtectCord API integration
02.05.2026 · 10 завантаження
Updated ProtectCord API integration
02.05.2026 · 12 завантаження
Updated ProtectCord API integration
02.05.2026 · 16 завантаження
Updated ProtectCord API integration
01.05.2026 · 5 завантаження
Updated ProtectCord API integration
01.05.2026 · 8 завантаження
Updated ProtectCord API integration
01.05.2026 · 9 завантаження
Updated ProtectCord API integration
01.05.2026 · 8 завантаження
Updated ProtectCord API integration
01.05.2026 · 8 завантаження
Updated ProtectCord API integration
01.05.2026 · 6 завантаження
Updated ProtectCord API integration
01.05.2026 · 4 завантаження
Updated ProtectCord API integration
01.05.2026 · 10 завантаження
Updated ProtectCord API integration
01.05.2026 · 11 завантаження
Updated ProtectCord API integration
01.05.2026 · 10 завантаження
Updated ProtectCord API integration
01.05.2026 · 10 завантаження
Updated ProtectCord API integration
01.05.2026 · 11 завантаження
Updated ProtectCord API integration
29.04.2026 · 11 завантаження
Updated ProtectCord API integration
29.04.2026 · 13 завантаження
Updated ProtectCord API integration
29.04.2026 · 11 завантаження
Updated ProtectCord API integration
29.04.2026 · 16 завантаження
Updated ProtectCord API integration
29.04.2026 · 14 завантаження
Updated ProtectCord API integration
29.04.2026 · 12 завантаження
Updated ProtectCord API integration
29.04.2026 · 11 завантаження
See release notes.
29.04.2026 · 11 завантаження
See release notes.
29.04.2026 · 9 завантаження
See release notes.
29.04.2026 · 7 завантаження
See release notes.
29.04.2026 · 10 завантаження
See release notes.
29.04.2026 · 11 завантаження
See release notes.
29.04.2026 · 10 завантаження
See release notes.
19.04.2026 · 11 завантаження
Fixed NoSuchMethodError crash during command registration on Forge 1.20.1. Replaced obfuscation-sensitive Commands.literal/argument calls with direct Brigadier API calls. Fixed mods.toml version range to only claim 1.20.1 support.
14.04.2026 · 20 завантаження
See release notes.
14.04.2026 · 20 завантаження
See release notes.
14.04.2026 · 11 завантаження
See release notes.
14.04.2026 · 13 завантаження
See release notes.
14.04.2026 · 12 завантаження
See release notes.
14.04.2026 · 32 завантаження
See release notes.
13.04.2026 · 12 завантаження
compatibility.floodgate config section with granular control:bypass-proxy-check (default: true) — Geyser acts as a proxy, so Bedrock connections are flagged as proxiesbypass-datacenter-check (default: true) — Cloud-hosted Geyser flags connections as datacenter IPsbypass-vpn-check (default: false) — Disabled by default for securityexempt-account-per-ip (default: true) — Critical for standalone Geyser where all Bedrock players share one IPlog-detection (default: true) — Shows active bypass settings on startupfloodgate to soft-dependencies on all platforms13.04.2026 · 10 завантаження
compatibility.floodgate config section with granular control:bypass-proxy-check (default: true) — Geyser acts as a proxy, so Bedrock connections are flagged as proxiesbypass-datacenter-check (default: true) — Cloud-hosted Geyser flags connections as datacenter IPsbypass-vpn-check (default: false) — Disabled by default for securityexempt-account-per-ip (default: true) — Critical for standalone Geyser where all Bedrock players share one IPlog-detection (default: true) — Shows active bypass settings on startupfloodgate to soft-dependencies on all platforms13.04.2026 · 9 завантаження
compatibility.floodgate config section with granular control:bypass-proxy-check (default: true) — Geyser acts as a proxy, so Bedrock connections are flagged as proxiesbypass-datacenter-check (default: true) — Cloud-hosted Geyser flags connections as datacenter IPsbypass-vpn-check (default: false) — Disabled by default for securityexempt-account-per-ip (default: true) — Critical for standalone Geyser where all Bedrock players share one IPlog-detection (default: true) — Shows active bypass settings on startupfloodgate to soft-dependencies on all platforms13.04.2026 · 15 завантаження
compatibility.floodgate config section with granular control:bypass-proxy-check (default: true) — Geyser acts as a proxy, so Bedrock connections are flagged as proxiesbypass-datacenter-check (default: true) — Cloud-hosted Geyser flags connections as datacenter IPsbypass-vpn-check (default: false) — Disabled by default for securityexempt-account-per-ip (default: true) — Critical for standalone Geyser where all Bedrock players share one IPlog-detection (default: true) — Shows active bypass settings on startupfloodgate to soft-dependencies on all platforms13.04.2026 · 15 завантаження
compatibility.floodgate config section with granular control:bypass-proxy-check (default: true) — Geyser acts as a proxy, so Bedrock connections are flagged as proxiesbypass-datacenter-check (default: true) — Cloud-hosted Geyser flags connections as datacenter IPsbypass-vpn-check (default: false) — Disabled by default for securityexempt-account-per-ip (default: true) — Critical for standalone Geyser where all Bedrock players share one IPlog-detection (default: true) — Shows active bypass settings on startupfloodgate to soft-dependencies on all platforms13.04.2026 · 12 завантаження
compatibility.floodgate config section with granular control:bypass-proxy-check (default: true) — Geyser acts as a proxy, so Bedrock connections are flagged as proxiesbypass-datacenter-check (default: true) — Cloud-hosted Geyser flags connections as datacenter IPsbypass-vpn-check (default: false) — Disabled by default for securityexempt-account-per-ip (default: true) — Critical for standalone Geyser where all Bedrock players share one IPlog-detection (default: true) — Shows active bypass settings on startupfloodgate to soft-dependencies on all platforms13.04.2026 · 6 завантаження
Updated ProtectCord API integration
13.04.2026 · 6 завантаження
Updated ProtectCord API integration
13.04.2026 · 7 завантаження
Updated ProtectCord API integration
13.04.2026 · 5 завантаження
Updated ProtectCord API integration
13.04.2026 · 6 завантаження
Updated ProtectCord API integration
13.04.2026 · 12 завантаження
Updated ProtectCord API integration
12.04.2026 · 9 завантаження
See release notes.
12.04.2026 · 6 завантаження
See release notes.
12.04.2026 · 9 завантаження
See release notes.
12.04.2026 · 7 завантаження
See release notes.
12.04.2026 · 7 завантаження
See release notes.
12.04.2026 · 8 завантаження
See release notes.
11.04.2026 · 15 завантаження
Updated ProtectCord API integration
11.04.2026 · 7 завантаження
Updated ProtectCord API integration
11.04.2026 · 5 завантаження
Updated ProtectCord API integration
11.04.2026 · 5 завантаження
Updated ProtectCord API integration
11.04.2026 · 11 завантаження
Updated ProtectCord API integration
11.04.2026 · 11 завантаження
Updated ProtectCord API integration
11.04.2026 · 7 завантаження
11.04.2026 · 7 завантаження
11.04.2026 · 1 завантаження
11.04.2026 · 9 завантаження
11.04.2026 · 5 завантаження
11.04.2026 · 6 завантаження
10.04.2026 · 11 завантаження
[item], [inv], [ender]), and @PlayerName mention syntax@PlayerName mentions before AutoMod runs, preventing false anti-caps, anti-advertising, and anti-link triggersconfig.yml under the compatibility: section with per-feature toggles and optional detection loggingconfig.yml10.04.2026 · 8 завантаження
[item], [inv], [ender]), and @PlayerName mention syntax@PlayerName mentions before AutoMod runs, preventing false anti-caps, anti-advertising, and anti-link triggersconfig.yml under the compatibility: section with per-feature toggles and optional detection loggingconfig.yml10.04.2026 · 2 завантаження
[item], [inv], [ender]), and @PlayerName mention syntax@PlayerName mentions before AutoMod runs, preventing false anti-caps, anti-advertising, and anti-link triggersconfig.yml under the compatibility: section with per-feature toggles and optional detection loggingconfig.yml10.04.2026 · 6 завантаження
[item], [inv], [ender]), and @PlayerName mention syntax@PlayerName mentions before AutoMod runs, preventing false anti-caps, anti-advertising, and anti-link triggersconfig.yml under the compatibility: section with per-feature toggles and optional detection loggingconfig.yml10.04.2026 · 11 завантаження
[item], [inv], [ender]), and @PlayerName mention syntax@PlayerName mentions before AutoMod runs, preventing false anti-caps, anti-advertising, and anti-link triggersconfig.yml under the compatibility: section with per-feature toggles and optional detection loggingconfig.yml10.04.2026 · 14 завантаження
[item], [inv], [ender]), and @PlayerName mention syntax@PlayerName mentions before AutoMod runs, preventing false anti-caps, anti-advertising, and anti-link triggersconfig.yml under the compatibility: section with per-feature toggles and optional detection loggingconfig.yml10.04.2026 · 8 завантаження
@PlayerName text into chat events. After color-code stripping, the raw @John text remained and could trigger anti-advertising or anti-link false positives. ProtectCord now strips @PlayerName patterns before AutoMod evaluation. Controlled individually via strip-mentions: true/false under each plugin's compat sectionconfig.yml after every update. A startup log message tells you when new options have been added and what to look forconfig-version field — all config files now include a config-version field (do not edit) used internally to track which migration steps have been appliedstrip-mentions status for both InteractiveChat and AwesomeChat10.04.2026 · 5 завантаження
@PlayerName text into chat events. After color-code stripping, the raw @John text remained and could trigger anti-advertising or anti-link false positives. ProtectCord now strips @PlayerName patterns before AutoMod evaluation. Controlled individually via strip-mentions: true/false under each plugin's compat sectionconfig.yml after every update. A startup log message tells you when new options have been added and what to look forconfig-version field — all config files now include a config-version field (do not edit) used internally to track which migration steps have been appliedstrip-mentions status for both InteractiveChat and AwesomeChat10.04.2026 · 5 завантаження
@PlayerName text into chat events. After color-code stripping, the raw @John text remained and could trigger anti-advertising or anti-link false positives. ProtectCord now strips @PlayerName patterns before AutoMod evaluation. Controlled individually via strip-mentions: true/false under each plugin's compat sectionconfig.yml after every update. A startup log message tells you when new options have been added and what to look forconfig-version field — all config files now include a config-version field (do not edit) used internally to track which migration steps have been appliedstrip-mentions status for both InteractiveChat and AwesomeChat10.04.2026 · 5 завантаження
@PlayerName text into chat events. After color-code stripping, the raw @John text remained and could trigger anti-advertising or anti-link false positives. ProtectCord now strips @PlayerName patterns before AutoMod evaluation. Controlled individually via strip-mentions: true/false under each plugin's compat sectionconfig.yml after every update. A startup log message tells you when new options have been added and what to look forconfig-version field — all config files now include a config-version field (do not edit) used internally to track which migration steps have been appliedstrip-mentions status for both InteractiveChat and AwesomeChat10.04.2026 · 13 завантаження
@PlayerName text into chat events. After color-code stripping, the raw @John text remained and could trigger anti-advertising or anti-link false positives. ProtectCord now strips @PlayerName patterns before AutoMod evaluation. Controlled individually via strip-mentions: true/false under each plugin's compat sectionconfig.yml after every update. A startup log message tells you when new options have been added and what to look forconfig-version field — all config files now include a config-version field (do not edit) used internally to track which migration steps have been appliedstrip-mentions status for both InteractiveChat and AwesomeChat10.04.2026 · 8 завантаження
@PlayerName text into chat events. After color-code stripping, the raw @John text remained and could trigger anti-advertising or anti-link false positives. ProtectCord now strips @PlayerName patterns before AutoMod evaluation. Controlled individually via strip-mentions: true/false under each plugin's compat sectionconfig.yml after every update. A startup log message tells you when new options have been added and what to look forconfig-version field — all config files now include a config-version field (do not edit) used internally to track which migration steps have been appliedstrip-mentions status for both InteractiveChat and AwesomeChat10.04.2026 · 4 завантаження
INTERACTIVECHAT_CHAT_IDENTIFIER_*) and bracket keywords ([item], [inv], [ender], etc.) from messages before AutoMod evaluation, preventing false positivescompatibility: config section — both integrations are fully configurable per-plugin with granular toggles for each sanitization behavior; detection logging can also be toggled%protectcord_*% placeholders are now documented directly in config.yml for easy reference10.04.2026 · 13 завантаження
INTERACTIVECHAT_CHAT_IDENTIFIER_*) and bracket keywords ([item], [inv], [ender], etc.) from messages before AutoMod evaluation, preventing false positivescompatibility: config section — both integrations are fully configurable per-plugin with granular toggles for each sanitization behavior; detection logging can also be toggled%protectcord_*% placeholders are now documented directly in config.yml for easy reference10.04.2026 · 9 завантаження
INTERACTIVECHAT_CHAT_IDENTIFIER_*) and bracket keywords ([item], [inv], [ender], etc.) from messages before AutoMod evaluation, preventing false positivescompatibility: config section — both integrations are fully configurable per-plugin with granular toggles for each sanitization behavior; detection logging can also be toggled%protectcord_*% placeholders are now documented directly in config.yml for easy reference10.04.2026 · 7 завантаження
INTERACTIVECHAT_CHAT_IDENTIFIER_*) and bracket keywords ([item], [inv], [ender], etc.) from messages before AutoMod evaluation, preventing false positivescompatibility: config section — both integrations are fully configurable per-plugin with granular toggles for each sanitization behavior; detection logging can also be toggled%protectcord_*% placeholders are now documented directly in config.yml for easy reference10.04.2026 · 8 завантаження
INTERACTIVECHAT_CHAT_IDENTIFIER_*) and bracket keywords ([item], [inv], [ender], etc.) from messages before AutoMod evaluation, preventing false positivescompatibility: config section — both integrations are fully configurable per-plugin with granular toggles for each sanitization behavior; detection logging can also be toggled%protectcord_*% placeholders are now documented directly in config.yml for easy reference10.04.2026 · 6 завантаження
INTERACTIVECHAT_CHAT_IDENTIFIER_*) and bracket keywords ([item], [inv], [ender], etc.) from messages before AutoMod evaluation, preventing false positivescompatibility: config section — both integrations are fully configurable per-plugin with granular toggles for each sanitization behavior; detection logging can also be toggled%protectcord_*% placeholders are now documented directly in config.yml for easy reference09.04.2026 · 12 завантаження
09.04.2026 · 11 завантаження
09.04.2026 · 9 завантаження
09.04.2026 · 10 завантаження
09.04.2026 · 9 завантаження
09.04.2026 · 6 завантаження
08.04.2026 · 10 завантаження
08.04.2026 · 5 завантаження
08.04.2026 · 9 завантаження
08.04.2026 · 2 завантаження
08.04.2026 · 5 завантаження
08.04.2026 · 8 завантаження
08.04.2026 · 4 завантаження
08.04.2026 · 6 завантаження
08.04.2026 · 13 завантаження
08.04.2026 · 2 завантаження
08.04.2026 · 7 завантаження
08.04.2026 · 8 завантаження
release.ps1 script handles version bumping, JAR builds, Modrinth uploads, and Cloudflare Worker API deployment in a single commandCHANGELOG.md for all platforms; per-platform changelog files no longer requiredversion.json introduced as single source of truth for current version and release date08.04.2026 · 7 завантаження
release.ps1 script handles version bumping, JAR builds, Modrinth uploads, and Cloudflare Worker API deployment in a single commandCHANGELOG.md for all platforms; per-platform changelog files no longer requiredversion.json introduced as single source of truth for current version and release date08.04.2026 · 4 завантаження
release.ps1 script handles version bumping, JAR builds, Modrinth uploads, and Cloudflare Worker API deployment in a single commandCHANGELOG.md for all platforms; per-platform changelog files no longer requiredversion.json introduced as single source of truth for current version and release date08.04.2026 · 3 завантаження
release.ps1 script handles version bumping, JAR builds, Modrinth uploads, and Cloudflare Worker API deployment in a single commandCHANGELOG.md for all platforms; per-platform changelog files no longer requiredversion.json introduced as single source of truth for current version and release date08.04.2026 · 7 завантаження
release.ps1 script handles version bumping, JAR builds, Modrinth uploads, and Cloudflare Worker API deployment in a single commandCHANGELOG.md for all platforms; per-platform changelog files no longer requiredversion.json introduced as single source of truth for current version and release date08.04.2026 · 8 завантаження
release.ps1 script handles version bumping, JAR builds, Modrinth uploads, and Cloudflare Worker API deployment in a single commandCHANGELOG.md for all platforms; per-platform changelog files no longer requiredversion.json introduced as single source of truth for current version and release date08.04.2026 · 8 завантаження
This release brings every platform (Paper, Spigot, Folia, BungeeCord, Velocity, Forge) to full feature parity. Every feature available on Paper is now available on all other platforms with their native APIs.
alert-webhook-url for moderation events alongside the existing connection webhook.dashboard.enabled and dashboard.api-url config options.warn, warnings, clearwarnings, removewarningban, tempban, unbanmute, tempmute, unmutekick, alts, checkwhitelist, listclear <warning|ban>, remove <warning|ban>alerts, migrate, purge, stats, version, health, trustip, reportMUTE, UNMUTE, TEMPMUTE, TEMPBAN, and all AutoMod detection types (AUTOMOD_SWEAR, AUTOMOD_CAPS, AUTOMOD_FLOOD, AUTOMOD_UNICODE).protectcord-warnings.toml, protectcord-ip-tracking.toml, protectcord-ip-bans.toml, protectcord-audit.toml)/protectcord migrate <toml|mysql> to switch backends without data loss/report <player> <reason> command with cooldown support/protectcord clear <warning|ban> <player> - Clear all warnings or the ban record for a player/protectcord remove <warning|ban> <player> [#] - Remove a specific warning or ban recordisReportNotifyStaffEnabled() reading wrong config key on Velocity (reports.notify-staff.enabled ? reports.notify-staff)getIPMaskFormat() using wrong config key on Forge (ip-masking.format ? ip-masking.mask-format)isAntiSwearRegexEnabled() flag instead of isAntiSwearWholeWordOnly()1.2.1 in startup banner on Folia, Spigot, BungeeCord, and Velocity@Plugin annotation version mismatch1.21-R0.4 from PaperMC repository (previous Sonatype snapshot no longer available)velocity-plugin.json required for Modrinth validation08.04.2026 · 16 завантаження
This release brings every platform (Paper, Spigot, Folia, BungeeCord, Velocity, Forge) to full feature parity. Every feature available on Paper is now available on all other platforms with their native APIs.
alert-webhook-url for moderation events alongside the existing connection webhook.dashboard.enabled and dashboard.api-url config options.warn, warnings, clearwarnings, removewarningban, tempban, unbanmute, tempmute, unmutekick, alts, checkwhitelist, listclear <warning|ban>, remove <warning|ban>alerts, migrate, purge, stats, version, health, trustip, reportMUTE, UNMUTE, TEMPMUTE, TEMPBAN, and all AutoMod detection types (AUTOMOD_SWEAR, AUTOMOD_CAPS, AUTOMOD_FLOOD, AUTOMOD_UNICODE).protectcord-warnings.toml, protectcord-ip-tracking.toml, protectcord-ip-bans.toml, protectcord-audit.toml)/protectcord migrate <toml|mysql> to switch backends without data loss/report <player> <reason> command with cooldown support/protectcord clear <warning|ban> <player> - Clear all warnings or the ban record for a player/protectcord remove <warning|ban> <player> [#] - Remove a specific warning or ban recordisReportNotifyStaffEnabled() reading wrong config key on Velocity (reports.notify-staff.enabled ? reports.notify-staff)getIPMaskFormat() using wrong config key on Forge (ip-masking.format ? ip-masking.mask-format)isAntiSwearRegexEnabled() flag instead of isAntiSwearWholeWordOnly()1.2.1 in startup banner on Folia, Spigot, BungeeCord, and Velocity@Plugin annotation version mismatch1.21-R0.4 from PaperMC repository (previous Sonatype snapshot no longer available)velocity-plugin.json required for Modrinth validation08.04.2026 · 8 завантаження
This release brings every platform (Paper, Spigot, Folia, BungeeCord, Velocity, Forge) to full feature parity. Every feature available on Paper is now available on all other platforms with their native APIs.
alert-webhook-url for moderation events alongside the existing connection webhook.dashboard.enabled and dashboard.api-url config options.warn, warnings, clearwarnings, removewarningban, tempban, unbanmute, tempmute, unmutekick, alts, checkwhitelist, listclear <warning|ban>, remove <warning|ban>alerts, migrate, purge, stats, version, health, trustip, reportMUTE, UNMUTE, TEMPMUTE, TEMPBAN, and all AutoMod detection types (AUTOMOD_SWEAR, AUTOMOD_CAPS, AUTOMOD_FLOOD, AUTOMOD_UNICODE).protectcord-warnings.toml, protectcord-ip-tracking.toml, protectcord-ip-bans.toml, protectcord-audit.toml)/protectcord migrate <toml|mysql> to switch backends without data loss/report <player> <reason> command with cooldown support/protectcord clear <warning|ban> <player> - Clear all warnings or the ban record for a player/protectcord remove <warning|ban> <player> [#] - Remove a specific warning or ban recordisReportNotifyStaffEnabled() reading wrong config key on Velocity (reports.notify-staff.enabled ? reports.notify-staff)getIPMaskFormat() using wrong config key on Forge (ip-masking.format ? ip-masking.mask-format)isAntiSwearRegexEnabled() flag instead of isAntiSwearWholeWordOnly()1.2.1 in startup banner on Folia, Spigot, BungeeCord, and Velocity@Plugin annotation version mismatch1.21-R0.4 from PaperMC repository (previous Sonatype snapshot no longer available)velocity-plugin.json required for Modrinth validation08.04.2026 · 7 завантаження
This release brings every platform (Paper, Spigot, Folia, BungeeCord, Velocity, Forge) to full feature parity. Every feature available on Paper is now available on all other platforms with their native APIs.
alert-webhook-url for moderation events alongside the existing connection webhook.dashboard.enabled and dashboard.api-url config options.warn, warnings, clearwarnings, removewarningban, tempban, unbanmute, tempmute, unmutekick, alts, checkwhitelist, listclear <warning|ban>, remove <warning|ban>alerts, migrate, purge, stats, version, health, trustip, reportMUTE, UNMUTE, TEMPMUTE, TEMPBAN, and all AutoMod detection types (AUTOMOD_SWEAR, AUTOMOD_CAPS, AUTOMOD_FLOOD, AUTOMOD_UNICODE).protectcord-warnings.toml, protectcord-ip-tracking.toml, protectcord-ip-bans.toml, protectcord-audit.toml)/protectcord migrate <toml|mysql> to switch backends without data loss/report <player> <reason> command with cooldown support/protectcord clear <warning|ban> <player> - Clear all warnings or the ban record for a player/protectcord remove <warning|ban> <player> [#] - Remove a specific warning or ban recordisReportNotifyStaffEnabled() reading wrong config key on Velocity (reports.notify-staff.enabled ? reports.notify-staff)getIPMaskFormat() using wrong config key on Forge (ip-masking.format ? ip-masking.mask-format)isAntiSwearRegexEnabled() flag instead of isAntiSwearWholeWordOnly()1.2.1 in startup banner on Folia, Spigot, BungeeCord, and Velocity@Plugin annotation version mismatch1.21-R0.4 from PaperMC repository (previous Sonatype snapshot no longer available)velocity-plugin.json required for Modrinth validation08.04.2026 · 7 завантаження
This release brings every platform (Paper, Spigot, Folia, BungeeCord, Velocity, Forge) to full feature parity. Every feature available on Paper is now available on all other platforms with their native APIs.
alert-webhook-url for moderation events alongside the existing connection webhook.dashboard.enabled and dashboard.api-url config options.warn, warnings, clearwarnings, removewarningban, tempban, unbanmute, tempmute, unmutekick, alts, checkwhitelist, listclear <warning|ban>, remove <warning|ban>alerts, migrate, purge, stats, version, health, trustip, reportMUTE, UNMUTE, TEMPMUTE, TEMPBAN, and all AutoMod detection types (AUTOMOD_SWEAR, AUTOMOD_CAPS, AUTOMOD_FLOOD, AUTOMOD_UNICODE).protectcord-warnings.toml, protectcord-ip-tracking.toml, protectcord-ip-bans.toml, protectcord-audit.toml)/protectcord migrate <toml|mysql> to switch backends without data loss/report <player> <reason> command with cooldown support/protectcord clear <warning|ban> <player> - Clear all warnings or the ban record for a player/protectcord remove <warning|ban> <player> [#] - Remove a specific warning or ban recordisReportNotifyStaffEnabled() reading wrong config key on Velocity (reports.notify-staff.enabled ? reports.notify-staff)getIPMaskFormat() using wrong config key on Forge (ip-masking.format ? ip-masking.mask-format)isAntiSwearRegexEnabled() flag instead of isAntiSwearWholeWordOnly()1.2.1 in startup banner on Folia, Spigot, BungeeCord, and Velocity@Plugin annotation version mismatch1.21-R0.4 from PaperMC repository (previous Sonatype snapshot no longer available)velocity-plugin.json required for Modrinth validation08.04.2026 · 10 завантаження
This release brings every platform (Paper, Spigot, Folia, BungeeCord, Velocity, Forge) to full feature parity. Every feature available on Paper is now available on all other platforms with their native APIs.
alert-webhook-url for moderation events alongside the existing connection webhook.dashboard.enabled and dashboard.api-url config options.warn, warnings, clearwarnings, removewarningban, tempban, unbanmute, tempmute, unmutekick, alts, checkwhitelist, listclear <warning|ban>, remove <warning|ban>alerts, migrate, purge, stats, version, health, trustip, reportMUTE, UNMUTE, TEMPMUTE, TEMPBAN, and all AutoMod detection types (AUTOMOD_SWEAR, AUTOMOD_CAPS, AUTOMOD_FLOOD, AUTOMOD_UNICODE).protectcord-warnings.toml, protectcord-ip-tracking.toml, protectcord-ip-bans.toml, protectcord-audit.toml)/protectcord migrate <toml|mysql> to switch backends without data loss/report <player> <reason> command with cooldown support/protectcord clear <warning|ban> <player> - Clear all warnings or the ban record for a player/protectcord remove <warning|ban> <player> [#] - Remove a specific warning or ban recordisReportNotifyStaffEnabled() reading wrong config key on Velocity (reports.notify-staff.enabled ? reports.notify-staff)getIPMaskFormat() using wrong config key on Forge (ip-masking.format ? ip-masking.mask-format)isAntiSwearRegexEnabled() flag instead of isAntiSwearWholeWordOnly()1.2.1 in startup banner on Folia, Spigot, BungeeCord, and Velocity@Plugin annotation version mismatch1.21-R0.4 from PaperMC repository (previous Sonatype snapshot no longer available)velocity-plugin.json required for Modrinth validation24.03.2026 · 59 завантаження
Luckperms & PlaceholderAPI & NeoAuthme support has been added!
Version: 1.2.1
Release Type: Major Feature Update
BLOCK or KICK_OLDESTBLOCK mode: Prevents new connections when limit reachedKICK_OLDEST mode: Automatically kicks oldest session to allow new connection%protectcord_warnings% — total warning count%protectcord_warnings_active% — active warning count%protectcord_is_banned% — whether the player is currently banned (true/false)%protectcord_ban_reason% — active ban reason%protectcord_ban_expiry% — ban expiry (Permanent for permanent bans)%protectcord_is_muted% — whether the player is currently muted (true/false)%protectcord_mute_reason% — active mute reason%protectcord_mute_expiry% — mute expiry (Permanent for permanent mutes)%protectcord_ip_count% — number of unique IPs tracked for the player%protectcord_trusted_ip_count% — number of trusted IPs%protectcord_rank% — player's primary LuckPerms group%protectcord_prefix% — player's LuckPerms prefix%protectcord_suffix% — player's LuckPerms suffixprotectcord.ip.protected permission for IP changeskick-and-alert, alert-only, auto-banstaff-ip-protection.auto-trust-first-ip)/pc trustip add|remove|list|clear <player> [ip] command for managing trusted IPsprotectcord.trustip for trustip command accessprotectcord.ip.protected to mark a player as monitoredprotectcord.ip.full to view unmasked IPs in alertsRegisteredListener + reflection to attach to fr.xephi.authme.events.LoginEvent's HandlerList at runtime — no compile-time AuthMe dependencystaff-ip-protection.neoauthme-integration: true in configip-masking config section to mask player IPs in alerts and commandslast-octet, last-two-octets, full-maskprotectcord.ip.full permission always see full IPsdatabase config section supporting YAML and MYSQL storage backends/pc migrate <from> <to> — migrate data between storage backends/pc purge <days> — purge old warning records/pc alts <player> — view alternate accounts sharing the same IP/pc clear <player> — clear all warnings for a player/pc remove <player> <id> — remove a specific warning by ID/pc alts <player> — list known alts sharing an IP/pc warn, /pc ban, /pc mute, /pc unmute, /pc warnings/report support (player can choose to report anonymously)/reportNeoAuthMeHook previously caused IllegalPluginAccessException by registering @EventHandler on the base Event class. Rewritten to use RegisteredListener with reflectionNew sections added to config.yml since v1.1.0:
# Account Per IP Limit
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
messages:
account-limit-reached: |
&c&lConnection Limit Reached
&7Maximum accounts per IP: &c{max}
&7Current connections from your IP: &c{current}
account-limit-kicked: |
&c&lYou have been disconnected
&7A new account connected from your IP address.
# Storage backend
database:
type: "YAML" # "YAML" or "MYSQL"
mysql:
host: "localhost"
port: 3306
database: "protectcord"
username: "root"
password: ""
table-prefix: "pc_"
pool:
max-pool-size: 10
min-idle: 2
connection-timeout: 30000
idle-timeout: 600000
max-lifetime: 1800000
# IP masking
ip-masking:
enabled: false
mask-format: "last-octet" # "last-octet", "last-two-octets", "full-mask"
# Staff IP Protection
staff-ip-protection:
enabled: false
action: "kick-and-alert" # "kick-and-alert", "alert-only", "auto-ban"
protected-permission: "protectcord.ip.protected"
auto-trust-first-ip: true
kick-message: "&cYour IP address has changed. Please contact a staff member."
alert-message: "&c[ProtectCord] &f{player} logged in from an untrusted IP: {ip}"
neoauthme-integration: false
[NeoAuthMe, PlaceholderAPI, LuckPerms]17.03.2026 · 46 завантаження
With this release. It's finally official. We've released v1.2.0!! This release has our game management area built into it. Where you can view stats on our website.
NOTE: some of these things may work slightly differently for bungeecord as its a proxy and not a normal server jar!
This release brings a lot more features to ProtectCord and with a lot of testing and development.. We're finally here at v1.2.0!
Please feel free to join the discord and give feedback! I am always happy to fix bugs, improve the plugin and help any user with any issues.
16.03.2026 · 17 завантаження
With this release. It's finally official. We've released v1.2.0!! This release has our game management area built into it. Where you can view stats on our website.
This release brings a lot more features to ProtectCord and with a lot of testing and development.. We're finally here at v1.2.0!
Please feel free to join the discord and give feedback! I am always happy to fix bugs, improve the plugin and help any user with any issues.
15.03.2026 · 32 завантаження
With this release. It's finally official. We've released v1.2.0!! This release has our game management area built into it. Where you can view stats on our website.
This release brings a lot more features to ProtectCord and with a lot of testing and development.. We're finally here at v1.2.0!
Please feel free to join the discord and give feedback! I am always happy to fix bugs, improve the plugin and help any user with any issues.
14.03.2026 · 43 завантаження
With this release. It's finally official. We've released v1.2.0!! This release has our game management area built into it. Where you can view stats on our website.
This release brings a lot more features to ProtectCord and with a lot of testing and development.. We're finally here at v1.2.0!
Please feel free to join the discord and give feedback! I am always happy to fix bugs, improve the plugin and help any user with any issues.
12.03.2026 · 29 завантаження
This is a 1.2.0 development release, fixing webhooks, fixing mysql error handling, fixing certain commands not functioning properly. THIS IS A DEVELOPMENT RELEASE! DO NOT USE IN PROD!! You can if you want, let me know your findings, but this is in prep for the big 1.2.0 release!!!
05.03.2026 · 18 завантаження
Lots of changes in this release. Please only use it in a development setting. any and all issues should be reported via a ticket in our discord. I am more than happy to listen to all feedback and fix any issues that come up. Keep in mind this is a development build.
05.03.2026 · 37 завантаження
Lots of changes in this version, please report any issues in a ticket in our discord. This is not to be used in production, but you are welcome to test it out and see how it goes :) Remember this is the latest development build of protectcord.
04.03.2026 · 17 завантаження
Lots of changes?! we need feedback! let me know in the discord via a ticket any issues or improvements we can make!
04.03.2026 · 42 завантаження
This version has a lot of changes. Please note its a development version its not made for production, please take cauction and give me feedback so i can fix any bugs. once this has been released for 2 weeks I will release the main 1.2.0 production build. Report all issues in our discord via the ticket system.
21.01.2026 · 130 завантаження
Version: 1.1.8
Release Type: Reliability Update
Release Date: 2026-01-21
Make sure to delete your config.yml and regenerate it by restarting the server!!!
SocketTimeoutException and IOException (network errors)New api-retry section added to config files:
YAML (Paper, Spigot, Folia, BungeeCord):
api-retry:
max-attempts: 3 # Maximum retry attempts (1-5)
initial-delay: 1000 # Initial delay before first retry (ms)
max-delay: 5000 # Maximum delay between retries (ms)
multiplier: 2.0 # Exponential backoff multiplier
TOML (Velocity):
[api-retry]
max-attempts = 3
initial-delay = 1000
max-delay = 5000
multiplier = 2.0
With default settings (3 attempts, 1s initial delay, 2x multiplier):
1. Attempt 1 fails → Wait 1000ms → Retry
2. Attempt 2 fails → Wait 2000ms → Retry
3. Attempt 3 fails → Log final error, allow player join (fail-open)
[WARN] ProtectCord API request failed (attempt 1/3): Read timed out. Retrying in 1000ms...
[WARN] ProtectCord API request failed (attempt 2/3): Read timed out. Retrying in 2000ms...
[ERROR] Error checking IP with ProtectCord API after 3 attempts: Read timed out
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
21.01.2026 · 20 завантаження
Version: 1.1.8
Release Type: Reliability Update
Release Date: 2026-01-21
Make sure to delete your config.yml and regenerate it by restarting the server!!!
SocketTimeoutException and IOException (network errors)New api-retry section added to config files:
YAML (Paper, Spigot, Folia, BungeeCord):
api-retry:
max-attempts: 3 # Maximum retry attempts (1-5)
initial-delay: 1000 # Initial delay before first retry (ms)
max-delay: 5000 # Maximum delay between retries (ms)
multiplier: 2.0 # Exponential backoff multiplier
TOML (Velocity):
[api-retry]
max-attempts = 3
initial-delay = 1000
max-delay = 5000
multiplier = 2.0
With default settings (3 attempts, 1s initial delay, 2x multiplier):
1. Attempt 1 fails → Wait 1000ms → Retry
2. Attempt 2 fails → Wait 2000ms → Retry
3. Attempt 3 fails → Log final error, allow player join (fail-open)
[WARN] ProtectCord API request failed (attempt 1/3): Read timed out. Retrying in 1000ms...
[WARN] ProtectCord API request failed (attempt 2/3): Read timed out. Retrying in 2000ms...
[ERROR] Error checking IP with ProtectCord API after 3 attempts: Read timed out
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
21.01.2026 · 43 завантаження
Version: 1.1.8
Release Type: Reliability Update
Release Date: 2026-01-21
Make sure to delete your config.yml and regenerate it by restarting the server!!!
SocketTimeoutException and IOException (network errors)New api-retry section added to config files:
YAML (Paper, Spigot, Folia, BungeeCord):
api-retry:
max-attempts: 3 # Maximum retry attempts (1-5)
initial-delay: 1000 # Initial delay before first retry (ms)
max-delay: 5000 # Maximum delay between retries (ms)
multiplier: 2.0 # Exponential backoff multiplier
TOML (Velocity):
[api-retry]
max-attempts = 3
initial-delay = 1000
max-delay = 5000
multiplier = 2.0
With default settings (3 attempts, 1s initial delay, 2x multiplier):
1. Attempt 1 fails → Wait 1000ms → Retry
2. Attempt 2 fails → Wait 2000ms → Retry
3. Attempt 3 fails → Log final error, allow player join (fail-open)
[WARN] ProtectCord API request failed (attempt 1/3): Read timed out. Retrying in 1000ms...
[WARN] ProtectCord API request failed (attempt 2/3): Read timed out. Retrying in 2000ms...
[ERROR] Error checking IP with ProtectCord API after 3 attempts: Read timed out
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
21.01.2026 · 17 завантаження
Version: 1.1.8
Release Type: Reliability Update
Release Date: 2026-01-21
Make sure to delete your config.yml and regenerate it by restarting the server!!!
SocketTimeoutException and IOException (network errors)New api-retry section added to config files:
YAML (Paper, Spigot, Folia, BungeeCord):
api-retry:
max-attempts: 3 # Maximum retry attempts (1-5)
initial-delay: 1000 # Initial delay before first retry (ms)
max-delay: 5000 # Maximum delay between retries (ms)
multiplier: 2.0 # Exponential backoff multiplier
TOML (Velocity):
[api-retry]
max-attempts = 3
initial-delay = 1000
max-delay = 5000
multiplier = 2.0
With default settings (3 attempts, 1s initial delay, 2x multiplier):
1. Attempt 1 fails → Wait 1000ms → Retry
2. Attempt 2 fails → Wait 2000ms → Retry
3. Attempt 3 fails → Log final error, allow player join (fail-open)
[WARN] ProtectCord API request failed (attempt 1/3): Read timed out. Retrying in 1000ms...
[WARN] ProtectCord API request failed (attempt 2/3): Read timed out. Retrying in 2000ms...
[ERROR] Error checking IP with ProtectCord API after 3 attempts: Read timed out
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
21.01.2026 · 30 завантаження
Version: 1.1.8
Release Type: Reliability Update
Release Date: 2026-01-21
Make sure to delete your config.yml and regenerate it by restarting the server!!!
SocketTimeoutException and IOException (network errors)New api-retry section added to config files:
YAML (Paper, Spigot, Folia, BungeeCord):
api-retry:
max-attempts: 3 # Maximum retry attempts (1-5)
initial-delay: 1000 # Initial delay before first retry (ms)
max-delay: 5000 # Maximum delay between retries (ms)
multiplier: 2.0 # Exponential backoff multiplier
TOML (Velocity):
[api-retry]
max-attempts = 3
initial-delay = 1000
max-delay = 5000
multiplier = 2.0
With default settings (3 attempts, 1s initial delay, 2x multiplier):
1. Attempt 1 fails → Wait 1000ms → Retry
2. Attempt 2 fails → Wait 2000ms → Retry
3. Attempt 3 fails → Log final error, allow player join (fail-open)
[WARN] ProtectCord API request failed (attempt 1/3): Read timed out. Retrying in 1000ms...
[WARN] ProtectCord API request failed (attempt 2/3): Read timed out. Retrying in 2000ms...
[ERROR] Error checking IP with ProtectCord API after 3 attempts: Read timed out
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
21.01.2026 · 145 завантаження
Version: 1.1.8
Release Type: Reliability Update
Release Date: 2026-01-21
Make sure to delete your config.yml and regenerate it by restarting the server!!!
SocketTimeoutException and IOException (network errors)New api-retry section added to config files:
YAML (Paper, Spigot, Folia, BungeeCord):
api-retry:
max-attempts: 3 # Maximum retry attempts (1-5)
initial-delay: 1000 # Initial delay before first retry (ms)
max-delay: 5000 # Maximum delay between retries (ms)
multiplier: 2.0 # Exponential backoff multiplier
TOML (Velocity):
[api-retry]
max-attempts = 3
initial-delay = 1000
max-delay = 5000
multiplier = 2.0
With default settings (3 attempts, 1s initial delay, 2x multiplier):
1. Attempt 1 fails → Wait 1000ms → Retry
2. Attempt 2 fails → Wait 2000ms → Retry
3. Attempt 3 fails → Log final error, allow player join (fail-open)
[WARN] ProtectCord API request failed (attempt 1/3): Read timed out. Retrying in 1000ms...
[WARN] ProtectCord API request failed (attempt 2/3): Read timed out. Retrying in 2000ms...
[ERROR] Error checking IP with ProtectCord API after 3 attempts: Read timed out
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
28.12.2025 · 43 завантаження
Version: 1.1.7
Release Type: Feature Update
Release Date: 2025-01-28
/protectcord health command to monitor API connectivity and performanceCommand Output:
Checking API health...
=== ProtectCord API Health ===
API Status: Reachable
Response Time: 142ms
API Version: v2.1.0
API Key: Valid
HTTP Status Code Interpretation:
- 200 - API key is valid and API is operational
- 401/403 - API is reachable but API key is invalid
- 5xx - Server error (API reachable but experiencing issues)
- Network exception - API is unreachable (timeout/DNS failure)
Implementation Details:
- Uses high-precision timing with System.nanoTime() for accurate response time measurement
- Async execution with CompletableFuture pattern
- Consistent with existing command architecture across all platforms
- New HealthCheckResult model class for structured health data
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
28.12.2025 · 23 завантаження
Version: 1.1.7
Release Type: Feature Update
Release Date: 2025-01-28
/protectcord health command to monitor API connectivity and performanceCommand Output:
Checking API health...
=== ProtectCord API Health ===
API Status: Reachable
Response Time: 142ms
API Version: v2.1.0
API Key: Valid
HTTP Status Code Interpretation:
- 200 - API key is valid and API is operational
- 401/403 - API is reachable but API key is invalid
- 5xx - Server error (API reachable but experiencing issues)
- Network exception - API is unreachable (timeout/DNS failure)
Implementation Details:
- Uses high-precision timing with System.nanoTime() for accurate response time measurement
- Async execution with CompletableFuture pattern
- Consistent with existing command architecture across all platforms
- New HealthCheckResult model class for structured health data
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
28.12.2025 · 114 завантаження
Version: 1.1.7
Release Type: Feature Update
Release Date: 2025-01-28
/protectcord health command to monitor API connectivity and performanceCommand Output:
Checking API health...
=== ProtectCord API Health ===
API Status: Reachable
Response Time: 142ms
API Version: v2.1.0
API Key: Valid
HTTP Status Code Interpretation:
- 200 - API key is valid and API is operational
- 401/403 - API is reachable but API key is invalid
- 5xx - Server error (API reachable but experiencing issues)
- Network exception - API is unreachable (timeout/DNS failure)
Implementation Details:
- Uses high-precision timing with System.nanoTime() for accurate response time measurement
- Async execution with CompletableFuture pattern
- Consistent with existing command architecture across all platforms
- New HealthCheckResult model class for structured health data
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
28.12.2025 · 26 завантаження
Version: 1.1.7
Release Type: Feature Update
Release Date: 2025-01-28
/protectcord health command to monitor API connectivity and performanceCommand Output:
Checking API health...
=== ProtectCord API Health ===
API Status: Reachable
Response Time: 142ms
API Version: v2.1.0
API Key: Valid
HTTP Status Code Interpretation:
- 200 - API key is valid and API is operational
- 401/403 - API is reachable but API key is invalid
- 5xx - Server error (API reachable but experiencing issues)
- Network exception - API is unreachable (timeout/DNS failure)
Implementation Details:
- Uses high-precision timing with System.nanoTime() for accurate response time measurement
- Async execution with CompletableFuture pattern
- Consistent with existing command architecture across all platforms
- New HealthCheckResult model class for structured health data
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
28.12.2025 · 52 завантаження
Version: 1.1.7
Release Type: Feature Update
Release Date: 2025-01-28
/protectcord health command to monitor API connectivity and performanceCommand Output:
Checking API health...
=== ProtectCord API Health ===
API Status: Reachable
Response Time: 142ms
API Version: v2.1.0
API Key: Valid
HTTP Status Code Interpretation:
- 200 - API key is valid and API is operational
- 401/403 - API is reachable but API key is invalid
- 5xx - Server error (API reachable but experiencing issues)
- Network exception - API is unreachable (timeout/DNS failure)
Implementation Details:
- Uses high-precision timing with System.nanoTime() for accurate response time measurement
- Async execution with CompletableFuture pattern
- Consistent with existing command architecture across all platforms
- New HealthCheckResult model class for structured health data
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
28.12.2025 · 23 завантаження
Version: 1.1.7
Release Type: Feature Update
Release Date: 2025-01-28
/protectcord health command to monitor API connectivity and performanceCommand Output:
Checking API health...
=== ProtectCord API Health ===
API Status: Reachable
Response Time: 142ms
API Version: v2.1.0
API Key: Valid
HTTP Status Code Interpretation:
- 200 - API key is valid and API is operational
- 401/403 - API is reachable but API key is invalid
- 5xx - Server error (API reachable but experiencing issues)
- Network exception - API is unreachable (timeout/DNS failure)
Implementation Details:
- Uses high-precision timing with System.nanoTime() for accurate response time measurement
- Async execution with CompletableFuture pattern
- Consistent with existing command architecture across all platforms
- New HealthCheckResult model class for structured health data
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
28.12.2025 · 12 завантаження
Version: 1.1.7
Release Type: Feature Update
Release Date: 2025-01-28
/protectcord health command to monitor API connectivity and performanceCommand Output:
Checking API health...
=== ProtectCord API Health ===
API Status: Reachable
Response Time: 142ms
API Version: v2.1.0
API Key: Valid
HTTP Status Code Interpretation:
- 200 - API key is valid and API is operational
- 401/403 - API is reachable but API key is invalid
- 5xx - Server error (API reachable but experiencing issues)
- Network exception - API is unreachable (timeout/DNS failure)
Implementation Details:
- Uses high-precision timing with System.nanoTime() for accurate response time measurement
- Async execution with CompletableFuture pattern
- Consistent with existing command architecture across all platforms
- New HealthCheckResult model class for structured health data
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
28.12.2025 · 8 завантаження
Version: 1.1.7
Release Type: Feature Update
Release Date: 2025-01-28
/protectcord health command to monitor API connectivity and performanceCommand Output:
Checking API health...
=== ProtectCord API Health ===
API Status: Reachable
Response Time: 142ms
API Version: v2.1.0
API Key: Valid
HTTP Status Code Interpretation:
- 200 - API key is valid and API is operational
- 401/403 - API is reachable but API key is invalid
- 5xx - Server error (API reachable but experiencing issues)
- Network exception - API is unreachable (timeout/DNS failure)
Implementation Details:
- Uses high-precision timing with System.nanoTime() for accurate response time measurement
- Async execution with CompletableFuture pattern
- Consistent with existing command architecture across all platforms
- New HealthCheckResult model class for structured health data
All Platforms Updated:
- Paper
- Spigot
- Folia
- BungeeCord
- Velocity
- Forge
28.12.2025 · 11 завантаження
28.12.2025 · 8 завантаження
28.12.2025 · 10 завантаження
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.
First request
Not cached
Second request
Cached via Cloudflare D1 + KV
Cache duration
Cached for 1 hour
| 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.
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.
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
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
ConcurrentHashMap{max}, {current})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}
SessionInfo – Stores session data (player name, UUID, connection time)SessionManager – Thread-safe IP session trackingPlayerDisconnectListener – Cleans up sessions on disconnectProtectCordPlugin – Initializes session tracking and listenersConfigManager – Added 5 new configuration gettersPlayerConnectionListener – Account-limit check runs before API validationconfig.yml – New configuration section and messagesPreLoginEventSessionManager.canConnect() validates IP usage/checkip API Performance UpgradeWe’ve pushed a major API update that drastically reduces latency for the /checkip endpoint used by ProtectCord across game servers, websites, and platforms.
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.
💙 Thank you for using ProtectCord
This release delivers stronger protection and significantly faster performance across the board.
28.12.2025 · 12 завантаження
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.
First request
Not cached
Second request
Cached via Cloudflare D1 + KV
Cache duration
Cached for 1 hour
| 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.
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.
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
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
ConcurrentHashMap{max}, {current})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}
SessionInfo – Stores session data (player name, UUID, connection time)SessionManager – Thread-safe IP session trackingPlayerDisconnectListener – Cleans up sessions on disconnectProtectCordPlugin – Initializes session tracking and listenersConfigManager – Added 5 new configuration gettersPlayerConnectionListener – Account-limit check runs before API validationconfig.yml – New configuration section and messagesPreLoginEventSessionManager.canConnect() validates IP usage/checkip API Performance UpgradeWe’ve pushed a major API update that drastically reduces latency for the /checkip endpoint used by ProtectCord across game servers, websites, and platforms.
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.
💙 Thank you for using ProtectCord
This release delivers stronger protection and significantly faster performance across the board.
28.12.2025 · 15 завантаження
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.
First request
Not cached
Second request
Cached via Cloudflare D1 + KV
Cache duration
Cached for 1 hour
| 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.
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.
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
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
ConcurrentHashMap{max}, {current})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}
SessionInfo – Stores session data (player name, UUID, connection time)SessionManager – Thread-safe IP session trackingPlayerDisconnectListener – Cleans up sessions on disconnectProtectCordPlugin – Initializes session tracking and listenersConfigManager – Added 5 new configuration gettersPlayerConnectionListener – Account-limit check runs before API validationconfig.yml – New configuration section and messagesPreLoginEventSessionManager.canConnect() validates IP usage/checkip API Performance UpgradeWe’ve pushed a major API update that drastically reduces latency for the /checkip endpoint used by ProtectCord across game servers, websites, and platforms.
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.
💙 Thank you for using ProtectCord
This release delivers stronger protection and significantly faster performance across the board.
28.12.2025 · 15 завантаження
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.
First request
Not cached
Second request
Cached via Cloudflare D1 + KV
Cache duration
Cached for 1 hour
| 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.
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.
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
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
ConcurrentHashMap{max}, {current})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}
SessionInfo – Stores session data (player name, UUID, connection time)SessionManager – Thread-safe IP session trackingPlayerDisconnectListener – Cleans up sessions on disconnectProtectCordPlugin – Initializes session tracking and listenersConfigManager – Added 5 new configuration gettersPlayerConnectionListener – Account-limit check runs before API validationconfig.yml – New configuration section and messagesPreLoginEventSessionManager.canConnect() validates IP usage/checkip API Performance UpgradeWe’ve pushed a major API update that drastically reduces latency for the /checkip endpoint used by ProtectCord across game servers, websites, and platforms.
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.
💙 Thank you for using ProtectCord
This release delivers stronger protection and significantly faster performance across the board.
28.12.2025 · 13 завантаження
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.
First request
Not cached
Second request
Cached via Cloudflare D1 + KV
Cache duration
Cached for 1 hour
| 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.
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.
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
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
ConcurrentHashMap{max}, {current})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}
SessionInfo – Stores session data (player name, UUID, connection time)SessionManager – Thread-safe IP session trackingPlayerDisconnectListener – Cleans up sessions on disconnectProtectCordPlugin – Initializes session tracking and listenersConfigManager – Added 5 new configuration gettersPlayerConnectionListener – Account-limit check runs before API validationconfig.yml – New configuration section and messagesPreLoginEventSessionManager.canConnect() validates IP usage/checkip API Performance UpgradeWe’ve pushed a major API update that drastically reduces latency for the /checkip endpoint used by ProtectCord across game servers, websites, and platforms.
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.
💙 Thank you for using ProtectCord
This release delivers stronger protection and significantly faster performance across the board.
28.12.2025 · 13 завантаження
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.
First request
Not cached
Second request
Cached via Cloudflare D1 + KV
Cache duration
Cached for 1 hour
| 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.
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.
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
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
ConcurrentHashMap{max}, {current})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}
SessionInfo – Stores session data (player name, UUID, connection time)SessionManager – Thread-safe IP session trackingPlayerDisconnectListener – Cleans up sessions on disconnectProtectCordPlugin – Initializes session tracking and listenersConfigManager – Added 5 new configuration gettersPlayerConnectionListener – Account-limit check runs before API validationconfig.yml – New configuration section and messagesPreLoginEventSessionManager.canConnect() validates IP usage/checkip API Performance UpgradeWe’ve pushed a major API update that drastically reduces latency for the /checkip endpoint used by ProtectCord across game servers, websites, and platforms.
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.
💙 Thank you for using ProtectCord
This release delivers stronger protection and significantly faster performance across the board.
27.12.2025 · 22 завантаження
Version: 1.1.3
Release Type: Major Feature Update & Critical Bug Fix
disablePlugin(this) when API key missingdisablePlugin() call, plugin now stays enabled but inactiveImpact: All installations now tracked, regardless of configuration status
bStats Server Detection - Folia now properly tracked on bStats
Impact: Folia shows up correctly as "Folia" in Server Software statistics
bStats Custom Charts - Added Minecraft version tracking
This release introduces a comprehensive system to limit the number of Minecraft accounts that can connect from the same IP address simultaneously, with full Folia thread-safety.
# Account Per IP Limit
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
# New messages
messages:
account-limit-reached: |
&c&lConnection Limit Reached
&7Maximum accounts per IP: &c{max}
&7Current connections from your IP: &c{current}
account-limit-kicked: |
&c&lYou have been disconnected
&7A new account connected from your IP address.
26.12.2025 · 19 завантаження
Version: 1.1.2
Release Type: Major Feature Update
This release introduces a comprehensive system to limit the number of Minecraft accounts that can connect from the same IP address simultaneously, with full Folia thread-safety.
Please delete your old config file, start your server and start the server again and configure it as you would like!
# Account Per IP Limit
account-per-ip-limit:
enabled: false
max-accounts: 3
enforcement: "BLOCK" # "BLOCK" or "KICK_OLDEST"
# New messages
messages:
account-limit-reached: |
&c&lConnection Limit Reached
&7Maximum accounts per IP: &c{max}
&7Current connections from your IP: &c{current}
account-limit-kicked: |
&c&lYou have been disconnected
&7A new account connected from your IP address.
23.12.2025 · 15 завантаження
Version: 1.1.1
Release Type: Critical Bug Fix
This release fixes a critical crash on startup caused by incompatible scheduler API usage with Folia.
Bukkit.getScheduler().runTaskTimerAsynchronously() which is unsupported in Folia (my mistake)java.lang.UnsupportedOperationException at CraftScheduler.runTaskTimerAsynchronouslyBukkit.getAsyncScheduler().runAtFixedRate() using proper time unitsjava.util.concurrent.TimeUnit import for proper time unit handling22.12.2025 · 13 завантаження
Version: 1.1.0
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management22.12.2025 · 7 завантаження
Version: 1.1.0
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management22.12.2025 · 21 завантаження
Version: 1.1.0
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management22.12.2025 · 46 завантаження
Version: 1.1.0
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management22.12.2025 · 11 завантаження
Version: 1.1.0
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management22.12.2025 · 30 завантаження
Version: 1.1.0
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management21.12.2025 · 7 завантаження
Version: 1.0.9
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management21.12.2025 · 12 завантаження
Version: 1.0.9
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management21.12.2025 · 8 завантаження
Version: 1.0.9
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management21.12.2025 · 11 завантаження
Version: 1.0.9
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management21.12.2025 · 7 завантаження
Version: 1.0.9
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management21.12.2025 · 8 завантаження
Version: 1.0.9
Release Type: Critical Bug Fix
This release fixes critical issues with bStats metrics collection that prevented accurate installation tracking.
private Metrics metrics; field for proper instance management01.12.2025 · 32 завантаження
no change (group update)
01.12.2025 · 39 завантаження
no change (group update)
01.12.2025 · 18 завантаження
no change (group update) should support 1.21.11 when released
01.12.2025 · 21 завантаження
no change (group update)
01.12.2025 · 11 завантаження
no change (group update)
01.12.2025 · 60 завантаження
02.11.2025 · 52 завантаження
Version: 1.0.7
Release Type: Configuration Update
Release Date: 2025-01-02
api-timeout.connect configuration option (default: 15000ms)api-timeout.read configuration option (default: 15000ms)02.11.2025 · 20 завантаження
Version: 1.0.7
Release Type: Configuration Update
Release Date: 2025-01-02
api-timeout.connect configuration option (default: 15000ms)api-timeout.read configuration option (default: 15000ms)02.11.2025 · 33 завантаження
Version: 1.0.7
Release Type: Configuration Update
Release Date: 2025-01-02
api-timeout.connect configuration option (default: 15000ms)api-timeout.read configuration option (default: 15000ms)02.11.2025 · 82 завантаження
Version: 1.0.7
Release Type: Configuration Update
Release Date: 2025-01-02
api-timeout.connect configuration option (default: 15000ms)api-timeout.read configuration option (default: 15000ms)02.11.2025 · 22 завантаження
Version: 1.0.7
Release Type: Configuration Update
Release Date: 2025-01-02
api-timeout.connect configuration option (default: 15000ms)api-timeout.read configuration option (default: 15000ms)02.11.2025 · 41 завантаження
Version: 1.0.7
Release Type: Configuration Update
Release Date: 2025-01-02
api-timeout.connect configuration option (default: 15000ms)api-timeout.read configuration option (default: 15000ms)31.10.2025 · 21 завантаження
Fixed auto updater.
31.10.2025 · 15 завантаження
Fixed auto updater.
31.10.2025 · 16 завантаження
Fixed auto updater.
31.10.2025 · 26 завантаження
Fixed auto updater.
31.10.2025 · 322 завантаження
Fixed auto updater.
31.10.2025 · 13 завантаження
Fixed auto updater.
30.10.2025 · 17 завантаження
Version: 1.0.6
Release Type: Major Feature Update
This release introduces a comprehensive IP tracking and banning system to prevent ban evasion through alternate accounts.
warnings.tomlplayers.{uuid}.ip-history for trackingbanned-ips.{ip} for bans192_168_1_1)/protectcord ban <player> <reason> - Now bans player + all their IPs/protectcord unban <player> - Now unbans player + all their IPs (shows count)/protectcord warn <player> <reason> - After 3 warnings, auto-bans with IPs30.10.2025 · 16 завантаження
Version: 1.0.6
Release Type: Major Feature Update
This release introduces a comprehensive IP tracking and banning system to prevent ban evasion through alternate accounts.
warnings.ymlplayers.{uuid}.ip-history for trackingbanned-ips.{ip} for bans192_168_1_1)registerIntent() for BungeeCord's async system/protectcord ban <player> <reason> - Now bans player + all their IPs/protectcord unban <player> - Now unbans player + all their IPs (shows count)/protectcord warn <player> <reason> - After 3 warnings, auto-bans with IPs30.10.2025 · 15 завантаження
Version: 1.0.6
Release Type: Major Feature Update
This release introduces a comprehensive IP tracking and banning system to prevent ban evasion through alternate accounts.
warnings.ymlplayers.{uuid}.ip-history for trackingbanned-ips.{ip} for bans192_168_1_1)/protectcord ban <player> <reason> - Now bans player + all their IPs/protectcord unban <player> - Now unbans player + all their IPs (shows count)/protectcord warn <player> <reason> - After 3 warnings, auto-bans with IPs30.10.2025 · 20 завантаження
Version: 1.0.6
Release Type: Major Feature Update
This release introduces a comprehensive IP tracking and banning system to prevent ban evasion through alternate accounts.
warnings.ymlplayers.{uuid}.ip-history for trackingbanned-ips.{ip} for bans192_168_1_1)/protectcord ban <player> <reason> - Now bans player + all their IPs/protectcord unban <player> - Now unbans player + all their IPs (shows count)/protectcord warn <player> <reason> - After 3 warnings, auto-bans with IPs30.10.2025 · 25 завантаження
Version: 1.0.6
Release Type: Major Feature Update
This release introduces a comprehensive IP tracking and banning system to prevent ban evasion through alternate accounts.
warnings.ymlplayers.{uuid}.ip-history for trackingbanned-ips.{ip} for bans192_168_1_1)/protectcord ban <player> <reason> - Now bans player + all their IPs/protectcord unban <player> - Now unbans player + all their IPs (shows count)/protectcord warn <player> <reason> - After 3 warnings, auto-bans with IPs30.10.2025 · 13 завантаження
Version: 1.0.6
Release Type: Major Feature Update
This release introduces a comprehensive IP tracking and banning system to prevent ban evasion through alternate accounts.
protectcord-ip-tracking.toml and protectcord-ip-bans.tomlplayers.{uuid}.ips for trackingips.{ip} for bans192_168_1_1)/protectcord ban <player> <reason> - Now bans player + all their IPs (OP level 2 required)/protectcord unban <player> - Now unbans player + all their IPs (shows count)/protectcord warn <player> <reason> - After 3 warnings, auto-bans with IPs26.10.2025 · 18 завантаження
⚠️ This is a development build. Features are functional but not fully tested in production.
/protectcord warn <player> <reason> - Issue warnings to players/protectcord warnings <player> - View complete warning history for any player/protectcord ban <player> <reason> - Manually ban players from the server/protectcord unban <player> - Remove bans and allow players to rejoin26.10.2025 · 28 завантаження
⚠️ This is a development build. Features are functional but not fully tested in production.
/protectcord warn <player> <reason> - Issue warnings to players/protectcord warnings <player> - View complete warning history for any player/protectcord ban <player> <reason> - Manually ban players from the server/protectcord unban <player> - Remove bans and allow players to rejoin26.10.2025 · 20 завантаження
⚠️ This is a development build. Features are functional but not fully tested in production.
/protectcord warn <player> <reason> - Issue warnings to players/protectcord warnings <player> - View complete warning history for any player/protectcord ban <player> <reason> - Manually ban players from the server/protectcord unban <player> - Remove bans and allow players to rejoin26.10.2025 · 14 завантаження
⚠️ This is a development build. Features are functional but not fully tested in production.
/protectcord warn <player> <reason> - Issue warnings to players/protectcord warnings <player> - View complete warning history for any player/protectcord ban <player> <reason> - Manually ban players from the server/protectcord unban <player> - Remove bans and allow players to rejoin26.10.2025 · 12 завантаження
⚠️ This is a development build. Features are functional but not fully tested in production.
/protectcord warn <player> <reason> - Issue warnings to players/protectcord warnings <player> - View complete warning history for any player/protectcord ban <player> <reason> - Manually ban players from the server/protectcord unban <player> - Remove bans and allow players to rejoin26.10.2025 · 15 завантаження
⚠️ This is a development build. Features are functional but not fully tested in production.
/protectcord warn <player> <reason> - Issue warnings to players/protectcord warnings <player> - View complete warning history for any player/protectcord ban <player> <reason> - Manually ban players from the server/protectcord unban <player> - Remove bans and allow players to rejoin14.10.2025 · 28 завантаження
Added - /protectcord kick
(v1.0.5 will be our moderation update)
14.10.2025 · 39 завантаження
Added - /protectcord kick
(v1.0.5 will be our moderation update)
14.10.2025 · 21 завантаження
Added - /protectcord kick
(v1.0.5 will be our moderation update)
14.10.2025 · 18 завантаження
Added - /protectcord kick
(v1.0.5 will be our moderation update)
14.10.2025 · 17 завантаження
Added - /protectcord kick
(v1.0.5 will be our moderation update)
14.10.2025 · 19 завантаження
Added - /protectcord kick
(v1.0.5 will be our moderation update)
13.10.2025 · 23 завантаження
block-tor config option)is_tor, is_abuser, is_satellite, is_crawler, is_whitelisted, is_blacklisted)enable-risk-level-blocking = false)08.10.2025 · 18 завантаження
block-tor config option)is_tor, is_abuser, is_satellite, is_crawler, is_whitelisted, is_blacklisted)enable-risk-level-blocking: false)08.10.2025 · 16 завантаження
block-tor config option)is_tor, is_abuser, is_satellite, is_crawler, is_whitelisted, is_blacklisted)enable-risk-level-blocking: false)08.10.2025 · 16 завантаження
block-tor config option)is_tor, is_abuser, is_satellite, is_crawler, is_whitelisted, is_blacklisted)enable-risk-level-blocking: false)08.10.2025 · 36 завантаження
block-tor config option)is_tor, is_abuser, is_satellite, is_crawler, is_whitelisted, is_blacklisted)enable-risk-level-blocking: false)08.10.2025 · 21 завантаження
block-tor config option)is_tor, is_abuser, is_satellite, is_crawler, is_whitelisted, is_blacklisted)enable-risk-level-blocking: false)04.10.2025 · 21 завантаження
Updated /protectcord stats
Updated Console Startup and shutdown messages
Fixed issue with stats not loading properly!
04.10.2025 · 17 завантаження
Updated /protectcord stats
Updated Console Startup and shutdown messages
Fixed issue with stats not loading properly!
04.10.2025 · 15 завантаження
Updated /protectcord stats
Updated Console Startup and shutdown messages
Fixed issue with stats not loading properly!
04.10.2025 · 27 завантаження
Updated /protectcord stats
Updated Console Startup and shutdown messages
Fixed issue with stats not loading properly!
04.10.2025 · 18 завантаження
Updated /protectcord stats
Updated Console Startup and shutdown messages
Fixed issue with stats not loading properly!
04.10.2025 · 16 завантаження
Added /protectcord version command
04.10.2025 · 13 завантаження
Added /protectcord version command
04.10.2025 · 15 завантаження
Added /protectcord version command
04.10.2025 · 19 завантаження
Added /protectcord version command
04.10.2025 · 21 завантаження
Added /protectcord version command
02.10.2025 · 29 завантаження
Compatible with: BungeeCord & Waterfall (1.8.8 - 1.21+)
Java Version: Java 8+
Server Type: Proxy plugin
ProtectCord for BungeeCord provides network-wide IP protection by checking every connecting player against our threat intelligence database at the proxy level. This means ALL players are verified before they can reach any of your backend servers.
✅ Network-Wide Protection - One installation protects your entire server network
✅ First Line of Defense - Blocks malicious players before they reach backend servers
✅ VPN/Proxy Detection - Automatically blocks VPN and proxy connections
✅ Risk Assessment - AI-powered threat scoring from UNKNOWN to CRITICAL
✅ Smart Whitelist - Bypass protection for trusted players, UUIDs, or IPs
✅ Discord Alerts - Real-time webhook notifications when players are blocked
✅ Centralized Config - Single configuration for all backend servers
The plugin intelligently bypasses checking for:
- Localhost (127.0.0.1, ::1)
- Private Networks (192.168.x.x, 10.x.x.x, 172.16-31.x.x)
- Whitelisted Players (configured via commands)
Player → BungeeCord (ProtectCord checks here) → Backend Servers (protected)
Important: When using BungeeCord edition, you typically only install it on the proxy, not on backend servers. This provides network-wide protection and reduces API usage.
Located at: plugins/ProtectCord/config.yml
api-key: "YOUR_API_KEY_HERE"
# Block settings
enable-ip-check: true
block-vpn: true
block-proxy: true
block-datacenter: false
block-bogon: true
blocked-risk-level: "HIGH"
# Discord webhooks (optional)
discord-webhook:
enabled: false
url: ""
events:
denied: true
accepted: false
whitelisted: true
error: true
| Command | Description |
|---|---|
/protectcord reload |
Reload configuration |
/protectcord stats |
View API usage stats |
/protectcord check <player\|ip> |
Manually check an IP |
/protectcord whitelist add player <name> |
Whitelist a player |
/protectcord whitelist add uuid <uuid> |
Whitelist a UUID |
/protectcord whitelist add ip <ip> |
Whitelist an IP |
/protectcord list |
View all whitelisted entries |
Aliases: /pc, /protect
| Permission | Description | Default |
|---|---|---|
protectcord.admin |
Access to all commands | OP |
ProtectCord-BungeeCord-1.0.0.jarplugins/ folder (not backend servers)plugins/ProtectCord/config.yml/protectcord reload or restart proxyserver.properties on backend servers: online-mode=falseip_forward=trueProtectCord BungeeCord Edition - Network-wide protection for your entire server network
Made with ❤️ for the Minecraft community
02.10.2025 · 42 завантаження
Compatible with: Velocity 3.0+ (1.8.8 - 1.21+)
Java Version: Java 17+
Server Type: Proxy plugin
ProtectCord for Velocity provides network-wide IP protection by checking every connecting player against our threat intelligence database at the proxy level. Built with Velocity's modern API for maximum performance and reliability.
✅ Network-Wide Protection - One installation protects your entire server network
✅ First Line of Defense - Blocks malicious players before they reach backend servers
✅ VPN/Proxy Detection - Automatically blocks VPN and proxy connections
✅ Risk Assessment - AI-powered threat scoring from UNKNOWN to CRITICAL
✅ Smart Whitelist - Bypass protection for trusted players, UUIDs, or IPs
✅ Discord Alerts - Real-time webhook notifications when players are blocked
✅ Modern API - Built with Velocity's high-performance plugin architecture
The plugin intelligently bypasses checking for:
- Localhost (127.0.0.1, ::1)
- Private Networks (192.168.x.x, 10.x.x.x, 172.16-31.x.x)
- Whitelisted Players (configured via commands)
Player → Velocity (ProtectCord checks here) → Backend Servers (protected)
Important: When using Velocity edition, you typically only install it on the proxy, not on backend servers. This provides network-wide protection and reduces API usage.
Located at: plugins/protectcord/config.toml
api-key = "YOUR_API_KEY_HERE"
# Block settings
enable-ip-check = true
block-vpn = true
block-proxy = true
block-datacenter = false
block-bogon = true
blocked-risk-level = "HIGH"
# Discord webhooks (optional)
[discord-webhook]
enabled = false
url = ""
[discord-webhook.events]
denied = true
accepted = false
whitelisted = true
error = true
Note: Velocity uses TOML format instead of YAML
| Command | Description |
|---|---|
/protectcord reload |
Reload configuration |
/protectcord stats |
View API usage stats |
/protectcord check <player\|ip> |
Manually check an IP |
/protectcord whitelist add player <name> |
Whitelist a player |
/protectcord whitelist add uuid <uuid> |
Whitelist a UUID |
/protectcord whitelist add ip <ip> |
Whitelist an IP |
/protectcord list |
View all whitelisted entries |
Aliases: /pc, /protect
| Permission | Description | Default |
|---|---|---|
protectcord.admin |
Access to all commands | OP |
ProtectCord-Velocity-1.0.0.jarplugins/ folder (not backend servers)plugins/protectcord/config.toml/protectcord reload or restart proxyserver.properties on backend servers: online-mode=falseplayer-info-forwarding-mode = "modern" (or bungeeguard)This edition leverages Velocity's modern architecture:
ProtectCord Velocity Edition - Modern, high-performance protection for Velocity networks
Made with ❤️ for the Minecraft community
02.10.2025 · 23 завантаження
Compatible with: Folia 1.19+
Java Version: Java 17+
Server Type: Bukkit-based server plugin (Paper fork with regionalized multithreading)
ProtectCord for Folia provides real-time IP protection for your Minecraft server by checking every connecting player against our threat intelligence database. Specially designed to work with Folia's unique regionalized multithreading system.
✅ Folia-Compatible - Built specifically for Folia's threading model
✅ Region-Safe - All IP checks are fully async and won't block region threads
✅ VPN/Proxy Detection - Automatically blocks VPN and proxy connections
✅ Risk Assessment - AI-powered threat scoring from UNKNOWN to CRITICAL
✅ Smart Whitelist - Bypass protection for trusted players, UUIDs, or IPs
✅ Discord Alerts - Real-time webhook notifications when players are blocked
✅ High Performance - Optimized for Folia's multi-region architecture
The plugin intelligently bypasses checking for:
- Localhost (127.0.0.1, ::1)
- Private Networks (192.168.x.x, 10.x.x.x, 172.16-31.x.x)
- Whitelisted Players (configured via commands)
Unlike traditional plugins, Folia Edition is designed from the ground up to respect Folia's threading model:
- ✅ No region thread blocking
- ✅ All API calls are fully async
- ✅ Thread-safe whitelist management
- ✅ Compatible with Folia's unique scheduler
Located at: plugins/ProtectCord/config.yml
api-key: "YOUR_API_KEY_HERE"
# Block settings
enable-ip-check: true
block-vpn: true
block-proxy: true
block-datacenter: false
block-bogon: true
blocked-risk-level: "HIGH"
# Discord webhooks (optional)
discord-webhook:
enabled: false
url: ""
events:
denied: true
accepted: false
whitelisted: true
error: true
| Command | Description |
|---|---|
/protectcord reload |
Reload configuration |
/protectcord stats |
View API usage stats |
/protectcord check <player\|ip> |
Manually check an IP |
/protectcord whitelist add player <name> |
Whitelist a player |
/protectcord whitelist add uuid <uuid> |
Whitelist a UUID |
/protectcord whitelist add ip <ip> |
Whitelist an IP |
/protectcord list |
View all whitelisted entries |
Aliases: /pc, /protect
| Permission | Description | Default |
|---|---|---|
protectcord.admin |
Access to all commands | OP |
ProtectCord-Folia-1.0.0.jarplugins/ folderplugins/ProtectCord/config.yml/protectcord reload or restart againThis edition has been specifically adapted for Folia's architecture:
ProtectCord Folia Edition - High-performance protection for regionalized multithreaded servers
Made with ❤️ for the Minecraft community
02.10.2025 · 37 завантаження
Compatible with: Paper 1.13 - 1.21+ (including PaperSpigot)
Java Version: Java 17+
Server Type: Bukkit-based server plugin (Paper fork)
ProtectCord for Paper provides real-time IP protection for your Minecraft server by checking every connecting player against our threat intelligence database. Optimized for Paper's async event system and modern API.
✅ Paper-Optimized - Uses Paper's async login events for best performance
✅ VPN/Proxy Detection - Automatically blocks VPN and proxy connections
✅ Risk Assessment - AI-powered threat scoring from UNKNOWN to CRITICAL
✅ Smart Whitelist - Bypass protection for trusted players, UUIDs, or IPs
✅ Discord Alerts - Real-time webhook notifications when players are blocked
✅ Lightning Fast - Fully async, leverages Paper's performance improvements
✅ Modern API - Built for Paper 1.13+ with latest features
The plugin intelligently bypasses checking for:
- Localhost (127.0.0.1, ::1)
- Private Networks (192.168.x.x, 10.x.x.x, 172.16-31.x.x)
- Whitelisted Players (configured via commands)
Located at: plugins/ProtectCord/config.yml
api-key: "YOUR_API_KEY_HERE"
# Block settings
enable-ip-check: true
block-vpn: true
block-proxy: true
block-datacenter: false
block-bogon: true
blocked-risk-level: "HIGH"
# Discord webhooks (optional)
discord-webhook:
enabled: false
url: ""
events:
denied: true
accepted: false
whitelisted: true
error: true
| Command | Description |
|---|---|
/protectcord reload |
Reload configuration |
/protectcord stats |
View API usage stats |
/protectcord check <player\|ip> |
Manually check an IP |
/protectcord whitelist add player <name> |
Whitelist a player |
/protectcord whitelist add uuid <uuid> |
Whitelist a UUID |
/protectcord whitelist add ip <ip> |
Whitelist an IP |
/protectcord list |
View all whitelisted entries |
Aliases: /pc, /protect
| Permission | Description | Default |
|---|---|---|
protectcord.admin |
Access to all commands | OP |
ProtectCord-Paper-1.0.0.jarplugins/ folderplugins/ProtectCord/config.yml/protectcord reload or restart againProtectCord Paper Edition - Optimized protection for modern Paper servers
Made with ❤️ for the Minecraft community
02.10.2025 · 37 завантаження
Compatible with: Spigot 1.8.8 - 1.21+ (including CraftBukkit)
Java Version: Java 8+
Server Type: Bukkit-based server plugin
ProtectCord for Spigot provides real-time IP protection for your Minecraft server by checking every connecting player against our threat intelligence database.
✅ Broad Version Support - Works on legacy versions (1.8.8+) all the way to modern Minecraft
✅ VPN/Proxy Detection - Automatically blocks VPN and proxy connections
✅ Risk Assessment - AI-powered threat scoring from UNKNOWN to CRITICAL
✅ Smart Whitelist - Bypass protection for trusted players, UUIDs, or IPs
✅ Discord Alerts - Real-time webhook notifications when players are blocked
✅ Lightweight - Async processing won't slow down your server
✅ Configurable - Customize what gets blocked and how strict the filtering is
The plugin intelligently bypasses checking for:
- Localhost (127.0.0.1, ::1)
- Private Networks (192.168.x.x, 10.x.x.x, 172.16-31.x.x)
- Whitelisted Players (configured via commands)
Located at: plugins/ProtectCord/config.yml
api-key: "YOUR_API_KEY_HERE"
# Block settings
enable-ip-check: true
block-vpn: true
block-proxy: true
block-datacenter: false
block-bogon: true
blocked-risk-level: "HIGH"
# Discord webhooks (optional)
discord-webhook:
enabled: false
url: ""
events:
denied: true
accepted: false
whitelisted: true
error: true
| Command | Description |
|---|---|
/protectcord reload |
Reload configuration |
/protectcord stats |
View API usage stats |
/protectcord check <player\|ip> |
Manually check an IP |
/protectcord whitelist add player <name> |
Whitelist a player |
/protectcord whitelist add uuid <uuid> |
Whitelist a UUID |
/protectcord whitelist add ip <ip> |
Whitelist an IP |
/protectcord list |
View all whitelisted entries |
Aliases: /pc, /protect
| Permission | Description | Default |
|---|---|---|
protectcord.admin |
Access to all commands | OP |
ProtectCord-Spigot-1.0.0.jarplugins/ folderplugins/ProtectCord/config.yml/protectcord reload or restart againProtectCord Spigot Edition - Protect your legacy and modern Spigot servers
Made with ❤️ for the Minecraft community