Skip to content

Release-v1.0

Choose a tag to compare

@AJARETRO AJARETRO released this 11 Nov 20:57
7e80bc1

🚀 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.yml file 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.