Skip to main content
← All Guides
Performance · 5 min read

How to Limit Tick Lag from Redstone Contraptions

Reduce redstone tick lag minecraft server performance suffers from by using ALTERNATE_CURRENT, update limits, and chunk-level redstone monitoring.

How Redstone Creates Tick Lag

Redstone is one of the most tick-intensive systems in Minecraft. Every time a redstone signal changes, the server must propagate the update to every connected redstone component: wires, repeaters, comparators, pistons, observers, and powered blocks. A single lever flip can trigger dozens or hundreds of block updates depending on the circuit's complexity. In vanilla Minecraft, the redstone engine processes these updates using a recursive algorithm that visits every affected block, recalculates signal strength, and propagates changes outward. Complex contraptions like flying machines, piston doors, or sorting systems generate thousands of block updates per second, creating redstone tick lag minecraft server owners recognize as periodic TPS drops.

Diagnosing Redstone Lag

Use Spark to profile your server and search the flame graph for RedstoneWire, BlockRedstoneWire.update, PistonBaseBlock, or ObserverBlock.tick. If these methods consume more than 2ms of tick time, redstone is a significant contributor to your lag. Paper's /spark tickmonitor can identify specific ticks that spike due to redstone: look for ticks where block update processing dominates.

For a broader look at redstone optimization, including specific contraption fixes and design guidance, see our redstone lag guide. This guide focuses specifically on server-side tick limiting and configuration.

ALTERNATE_CURRENT, the Best Single Fix

Paper offers three redstone engine implementations, configured in paper-world-defaults.yml:

# paper-world-defaults.yml
redstone-implementation: ALTERNATE_CURRENT

The options are:

  • VANILLA: The original Minecraft redstone engine. Processes updates recursively, causes excessive updates, and is the slowest option.
  • EIGENCRAFT: A partial optimization that reduces unnecessary updates. Faster than vanilla but does not fundamentally change the algorithm.
  • ALTERNATE_CURRENT: A complete rewrite of the redstone wire engine. It calculates signal strength in a single pass instead of recursively propagating updates. This eliminates the exponential update behavior that causes redstone tick lag minecraft server performance suffers from.

ALTERNATE_CURRENT reduces redstone wire updates by 90-95% compared to vanilla. A circuit that generates 1000 block updates per activation under vanilla might generate only 50 under ALTERNATE_CURRENT. The behavior is functionally identical for the vast majority of redstone builds. Some extremely niche quasi-connectivity exploits or update-order-dependent builds may behave differently, but these are edge cases that affect less than 1% of practical redstone designs.

Piston Limits

Pistons are the second major source of tick lag from redstone. Each piston push/pull moves up to 12 blocks by default, and each moved block triggers block updates for its neighbors. Piston-based flying machines, TNT duplicators, and automated farms can create enormous amounts of work. Paper lets you control piston behavior:

# paper-world-defaults.yml
pistons:
  piston-push-limit: 12        # default: 12, lower = less work per push

Reducing the push limit to 8 or 10 limits the size of piston contraptions. This breaks some large builds but dramatically reduces the peak tick cost of piston-based machines. For servers where technical builds are not a focus, a limit of 8 works well.

Redstone Tick Rate Limiting

Beyond engine optimizations, you can limit how many redstone updates a single chunk can process per tick. The RedstoneLimiter plugin monitors redstone events per chunk and disables circuits that exceed a configurable threshold:

# RedstoneLimiter config
maxRedstonePerChunk: 200         # updates per tick
cooldownTicks: 100               # how long the circuit stays disabled
notifyPlayer: true

When a chunk exceeds 200 redstone updates in a single tick, the plugin pauses all redstone in that chunk for 100 ticks (5 seconds). This prevents any single contraption from consuming more than its fair share of tick time. The affected player receives a message explaining what happened. This is particularly effective against lag machines that use infinite redstone loops. See our lag machine detection guide for more on anti-grief measures.

Observer and Comparator Throttling

Observers and comparators are common in clock circuits and sorting systems. Each observer produces a 1-tick pulse whenever the block it watches changes state, and two facing observers create an infinite clock. While ALTERNATE_CURRENT helps with wire updates, observer-based clocks still fire their scheduled tick events at full speed. Solutions:

  • Use the Insights plugin to limit observers per chunk (16-24 is reasonable).
  • For comparator-heavy sorting systems, encourage players to use water stream transport with a single comparator at the sorting station rather than comparator chains.
  • Paper's entity activation range does not apply to tile entities and block updates, so there is no "distance-based" throttling for redstone. This makes per-chunk limits especially important.

World-Specific Redstone Settings

Consider using different redstone configurations per world. Your creative or plot world might need full vanilla redstone behavior so builders can test circuits, while your survival world benefits from ALTERNATE_CURRENT and strict limits. Paper's per-world configuration in paper-world.yml (inside each world folder) lets you set redstone-implementation independently per world.

Addressing redstone tick lag minecraft server owners face is a combination of using ALTERNATE_CURRENT (free, zero-config, 90%+ improvement), setting per-chunk limits with plugins, and reducing piston push limits. Together these changes prevent any redstone build from significantly impacting server-wide TPS. For the full optimization checklist, see our 20 TPS guide.

See an optimized server in action: Astroworld MC, IP play.astroworldmc.com, Java + Bedrock.

Related Tools & Resources

🔧

Minecraft Tools

Calculators, generators & server tools

🧱

Item Database

Browse all Minecraft items, stats & recipes

⚒️

Crafting Recipes

Visual crafting guides for every recipe