CircuitBreaker v1.1.0
🚀 CircuitBreaker v1.0.0 (The Foundation Release)
This is the initial public release of CircuitBreaker, the surgical anti-lag solution for modern Minecraft servers. This version introduces the core tiered defense system, providing server owners with an active tool to manage persistent physics-based lag machines without punishing legitimate players.
✨ NEW FEATURES & CORE FUNCTIONALITY
1. Tiered Anti-Lag Defense System
The plugin actively monitors Block Physics Events (the true source of redstone/piston lag) on a per-chunk basis, rather than relying on general TPS or broad entity deletion.
- Surgical Detection: Monitors and logs the exact event count of malicious activity in real-time.
- Strike System: Utilizes a configurable 3-strike mechanism to differentiate between a brief spike and a persistent lag machine.
2. Automated Tiered Response
The plugin automatically escalates its defense based on the threat level:
- Strike 1 & 2 (Soft Reset): The chunk is temporarily unloaded and reloaded (jiggled) to break simple lag cycles without requiring admin intervention.
- Strike 3 (Hard Freeze): The chunk is added to the "Jail" list, and the plugin actively cancels all future physics events within that chunk, stopping the lag machine dead.
3. Advanced Admin Controls & Persistence
This release ensures maximum reliability and configurability for server staff.
- Persistence: All ignored (whitelisted) chunks are saved to a separate
data.ymlfile and are loaded automatically on server restart. Your whitelist is never lost. - Strike Reset Timer: A configurable global timer automatically resets all strike counts every 15 minutes (default), ensuring fairness by preventing a single strike from lingering indefinitely.
- Admin Commands (
/cb):/cb status: Check the status (Normal, Watching, Frozen) of the chunk you are standing in./cb ignore: Adds the current chunk to the permanent whitelist./cb unfreeze: Manually releases a frozen chunk.
🛠️ CONFIGURATION HIGHLIGHTS
The plugin is immediately functional out of the box, but we recommend tuning these critical values in your config.yml:
| Setting | Default | Purpose |
|---|---|---|
lag-threshold |
20000 |
Recommended maximum physics events allowed per second before a warning is issued. |
strike-limit |
3 |
How many warnings before a Hard Freeze is applied. |
strike-reset-minutes |
15 |
How often the strike count for all chunks is cleared. |
freeze-duration-ticks |
6000 |
How long (5 minutes) a chunk stays frozen before auto-unfreezing. Use -1 for permanent freeze. |
⚠️ Compatibility Note
- Required API: Paper/Spigot 1.21+
- Folia: This plugin contains a mandatory check and will disable itself if Folia is detected, as the Bukkit Global Schedulers used for the tiered response are incompatible with Folia's regionized threading model.
Update:
*fine tuning