AntiRedstoneLagСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (7)
release
AntiRedstoneLag 26.3
26.317 сент. 2026 г.1,5 тыс.Minecraft: 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3folia, paper, purpur
Что нового
## 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.
release
AntiRedstoneLag 26.2
26.231 авг. 2026 г.365Minecraft: 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Что нового
## 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.
release
AntiRedstoneLag 2.0.1
2.0.111 апр. 2026 г.2,1 тыс.Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Что нового
### 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.
release
AntiRedstoneLag 2.0.0
2.0.012 дек. 2025 г.915Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Что нового
## 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)
release
AntiRedstoneLag 1.2
1.24 нояб. 2025 г.160Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10paper, spigot
Что нового
New and Improved Features
Read the description
release
AntiRedstoneLag 1.1
1.17 сент. 2025 г.160Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, spigot
Что нового
Added Support for 1.21.8
release
AntiRedstoneLag 1.0
1.08 июн. 2025 г.206Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6paper, spigot
Что нового
First Release