Sueta

AntiRedstoneLag

26.3

prevents lag machine in server

·Plugin
  1. 26.3latestAntiRedstoneLag 26.3Sep 17, 2026

    Version 26.3

    Folia Regional Thread-Safety & Performance Fixes
    - Folia-Safe ClearLagg Engine - Resolved IllegalStateException: Thread failed main thread check: Accessing entity state off owning region's thread that occurred during auto-clear and manual clear commands on Folia. - Regional Entity Scheduling - Dynamically checks Bukkit.isOwnedByCurrentRegion(entity) and dispatches off-region entity inspection (custom names, items, passengers, onGround) and removal via entity.getScheduler().execute(...) directly onto the entity's owning regional tick thread. - Asynchronous Task Tracking - Added atomic task completion tracking and fallback safety timeouts ensuring cleared entity counts are broadcast accurately once all regional threads complete entity processing. - Spatial Nearby Player Queries - Replaced full-world player iteration in proximity throttling (RedstoneListener.hasPlayersNearby) and snapshot culprit resolution (SnapshotManager.findNearestPlayer) with Paper's native spatial world.getNearbyPlayers(), preventing cross-region player loops and off-thread player.getLocation() calls on Folia. - ClearLagg Concurrency Lock - Added an atomic execution guard (clearingInProgress) preventing overlapping concurrent clear runs during heavy server load.
    377 downloads
  2. 26.2AntiRedstoneLag 26.2Aug 31, 2026

    Version 26.2

    Major Architecture and Modernization
    - Native Paper Plugin Migration - Fully converted to paper-plugin.yml and Paper 1.21+ Lifecycle Brigadier Command API. - Folia Multi-Threading Support - Complete regional threading compatibility using Bukkit.getGlobalRegionScheduler(), Bukkit.getAsyncScheduler(), and Bukkit.getRegionScheduler().execute(...) with zero cross-region blocking. - Okaeri Configs Engine - Migrated configuration (config.yml) and message handling (messages.yml) to Okaeri Configs with automatic .bk safety backups on startup. - Modrinth Integration - Updated the update notifier to use the official Modrinth API (project ID: 5UOt11Yc) with non-blocking asynchronous checks. - Contributor Attribution - Merged performance optimizations and hotspot clustering from PR #2 with official contributor credit to paradoxnafi.
    Minecraft 1.21+ Component Support
    - Modern Redstone Components - Added monitoring support for Crafters (Material.CRAFTER), Copper Bulbs (all oxidation and waxed states), Calibrated Sculk Sensors, and Chiseled Bookshelves. - Piston Velocity and 0-Tick Interception - Added BlockPistonExtendEvent and BlockPistonRetractEvent listeners to catch 0-tick loops and rapid push/pull lag engines.
    Intelligent Detection and Farm Protection
    - Periodicity Clock Fingerprinting - Analyzes interval deltas and variance between consecutive pulses to distinguish true lag machines from bursty contraptions. - 100% Farm Immunity - Implemented Sustained Consecutive Violation Detection to ensure sugarcane farms, iron farms, melon/pumpkin harvesters, and hopper sorting halls never trigger false removals. - Adaptive Performance Scaling - Dynamically scales thresholds based on Paper's real-time average tick time (Bukkit.getAverageTickTime()) and TPS, providing 1.5x headroom during healthy performance and tightening under load. - Player Proximity Throttling - Enforces stricter limits on unattended contraptions running in chunkloaded areas without nearby players.
    Non-Destructive Mitigation
    - Tiered Freezing and Auto-Resume - Added non-destructive FREEZE as the default removal action, pause-throttling high-frequency clocks for a configurable duration (default: 15s) before escalating to block removal. - Chunk Lockdown (EMP) - Temporarily disables all redstone activity in a chunk for a configurable duration when severe lag machines are tripped.
    Diagnostic Tools and Visuals
    - Live Adventure BossBar Inspector (`/arl inspect`) - Real-time BossBar HUD displaying Chunk UPS, MSPT, and Server TPS with dynamic color grading (Green, Yellow, Red) and visual particle trails. - 3D Forensic Snapshots and Lag Replay (`/arl snapshot`) - Automatically records 3D bounding box scans (7x7x7), trigger metrics, culprit player name/UUID, and component breakdown upon detecting lag machines. Includes in-game reports and direct teleportation (/arl snapshot tp). - Hotspot Cluster Analysis (`/arl hotspots`) - Adjacent-chunk BFS clustering with activity-weighted centers, interactive teleport suggestions, and file export (/arl hotspots export).
    Integrated ClearLagg Engine (/arl clear)
    - Folia-Safe Entity Cleaner - Ground item and entity cleanup with support for manual and automatic scheduled clears. - Conditional Entity Rules - Rule parser supporting tags such as onGround, !isMounted, hasName, isTamed, isLeashed, isBaby, liveTime>X, and inWater. - SMP Entity Whitelist - Default immunity for Villagers, Iron Golems, Allays, Armor Stands, Item Frames, Display entities, named mobs, tamed pets, and leashed animals. - Valuable Item Blacklist - Spares dropped Netherite gear, Elytras, Totems of Undying, Diamonds, and Beacons from deletion. - Multi-Mode Countdown Broadcasts - Configurable countdown warnings supporting Chat, Action Bar, Title, Subtitle, All, or None.
    Bug Fixes and Usability
    - Fixed Hex Color Formatting - Resolved issue where &#RRGGBB color codes rendered as raw text in chat and console. - Eliminated Notification and Snapshot Spam - Added a 60-second snapshot cooldown per block and instant signal cancellation on frozen components. - Smart Culprit Resolution - Added nearby player proximity scanning (within 48 blocks) when the original block placer is not in memory. - Fixed Brigadier Tab Completion - Full support for empty and partial argument completion across all subcommands.
    340 downloads
  3. 2.0.1AntiRedstoneLag 2.0.1Apr 11, 2026
    Bug Fixes Implemented:
    Resolved Redstone Duplication: Added a "state check" to the removal logic. The plugin now verifies if a block is already AIR before attempting to drop it again, which prevents fast redstone clocks from spawning multiple items in a single tick. Fixed Ineffective Actions (REMOVE/DISABLE): Previously, the plugin was removing blocks without physics updates, which created "ghost blocks" and didn't stop neighboring redstone components. Now updated the logic to use applyPhysics = true. This ensures the Paper/Spigot physics engine is properly notified, immediately breaking the redstone chain and ensuring the client-side view stays in sync.
    2000 downloads
  4. 2.0.0AntiRedstoneLag 2.0.0Dec 12, 2025

    Version 2.0.0

    Bug Fixes
    - Fixed version mismatch - Synchronized pom.xml version with plugin.yml (both now 2.0.0) - Fixed unused variable - Removed unused materialName variable in RedstoneListener - Fixed stats command - /arl stats now shows real statistics from CounterManager instead of hardcoded zeros - Fixed unused imports - Removed unused imports from CommandHandler and RedstoneListener - Fixed potential NPE - Added null check for location.getWorld() in CounterManager.sendAlert() to prevent crashes with unloaded chunks - Fixed event priority - Changed from MONITOR to LOW priority since we modify block state - Fixed log download - /arl logs download now shows log file info (name, size, path, modified date)
    Optimizations
    - Thread-safe counters - Replaced HashMap with ConcurrentHashMap and AtomicInteger for thread safety - Memory-efficient keys - Using String keys instead of Chunk/Location objects to prevent memory leaks - Extracted time constants - Magic numbers replaced with named constants (TICKS_PER_HOUR, TICKS_PER_DAY, DAY_MS, ALERT_COOLDOWN_MS, BATCH_SIZE, FLUSH_INTERVAL_MS) - Cached config values - RedstoneListener now caches redstone materials, enabled worlds, and removal action for better performance - Refresh cache on reload - Cached values are automatically refreshed when config is reloaded - Reduced object allocation - Avoid creating Location objects in hot path; only create when actually needed for logging - Batched log writes - Log entries are buffered and flushed every 50 entries or 500ms instead of on every write - Improved log rotation - Log file size is now checked on every flush, not just during cleanup task - Primitive collections (fastutil) - Replaced ConcurrentHashMap<String, AtomicInteger> with Object2IntOpenHashMap to eliminate boxing overhead and reduce memory allocations
    New Features
    - Bypass permission - Players with antiredstonelag.bypass permission can place redstone without limits - Block owner tracking - Tracks who placed redstone blocks for bypass permission checks - Configurable reset interval - New reset-interval-ticks config option (default: 20 ticks = 1 second) - Debug mode - New debug config option for verbose logging during troubleshooting - Config validation - Threshold values are now validated (must be positive) - Alert cooldown - 1 second cooldown between alerts to prevent spam when multiple blocks are removed - Persistent statistics - Statistics (totalRemovals, removalsToday) are saved to stats.yml and survive server restarts - Configurable removal action - New removal-action config option with three modes: - REMOVE - Set block to air (default) - DISABLE - Cancel redstone signal without removing block - DROP - Break block and drop item - Warning system - Warns players when their redstone activity approaches the threshold - Configurable warning threshold (default: 80% of limit) - Per-player cooldown to prevent spam - Only warns block owners who are online - Update checker - Automatically checks for new versions on SpigotMC - Notifies admins with antiredstonelag.admin permission on join - Non-blocking async check on startup - Whitelist mode - Only monitor specific chunks instead of all chunks - Configure chunks as world:chunkX:chunkZ format - Useful for monitoring only known problem areas
    Improvements
    - Real-time statistics - Stats command now displays actual monitored chunks, blocks, total removals, and daily removals - Better code structure - CommandHandler now receives CounterManager via dependency injection - Improved config comments - Better documentation in config.yml - Stats saved on shutdown - Statistics are automatically saved when the plugin is disabled - Null safety - Added null checks to CounterManager methods to prevent potential NPEs - JavaDoc comments - Added documentation to key methods
    New Permissions
    - antiredstonelag.bypass - Bypass redstone limits (default: false)
    909 downloads
  5. 1.2AntiRedstoneLag 1.2Nov 4, 2025
    New and Improved Features Read the description
    155 downloads
  6. 1.1AntiRedstoneLag 1.1Sep 7, 2025
    Added Support for 1.21.8
    156 downloads
  7. 1.0AntiRedstoneLag 1.0Jun 8, 2025
    First Release
    200 downloads

Similar projects

Plugin →