
To reduce redstone lag on a Minecraft server, switch Paper to the ALTERNATE_CURRENT redstone engine, tune hopper tick rates, throttle container updates, and identify the worst contraptions with Spark before rebuilding or disabling them. Those four moves fix the vast majority of redstone-related TPS drops without banning redstone on your server.
Redstone is one of the most deceptive sources of lag in Minecraft. It doesn't show up in entity counts, it doesn't show up in chunk-load metrics, and it often runs perfectly fine at low scale. Then a dozen players build trading halls, item sorters, and elytra-launch stations, and suddenly every tick is burning half its budget on block updates nobody can see. This guide walks through where that cost comes from and exactly what to do about it.
What Is Redstone Lag?
Redstone lag is the portion of a server's tick budget consumed by processing redstone circuits and the blocks they power. Every powered dust, every observer, every moving piston, every active hopper triggers block updates. Each update has to propagate through neighbours, update power levels, and potentially schedule further updates. That cascade is deceptively expensive.
When redstone cost climbs past the 50-millisecond tick window, TPS drops. Unlike entity lag, redstone lag tends to come in spikes — a specific circuit activates, the tick runs long, MSPT jumps, and then it settles again. That spiky pattern is what makes redstone issues hard to diagnose without a profiler.
Redstone lag shows up as:
- Pistons that visibly stutter when they fire.
- Hoppers that take a second or two to move an item into a container.
- Farms that produce less than they should.
- General "something feels off" server slowness during peak activity.
Players often blame the network, their client, or their ping. On a well-tuned server it's almost always the world doing something expensive on the main thread instead.
How Redstone Impacts Server TPS
Minecraft's main server thread handles redstone synchronously. Every powered component runs inside the same 50ms tick that processes mobs, player actions, chunk updates, and network I/O. There is no parallelism — redstone work competes directly with everything else.
A few specific costs drive redstone expense:
- Block updates. When a block changes state, it notifies its six neighbours. Those neighbours can trigger further updates. A single dust line changing power level can fire dozens of updates down the chain.
- Wire propagation. Redstone dust calculates power levels by scanning outward from sources. Vanilla's implementation of this is quadratic in some scenarios — double the wire, quadruple the cost.
- Piston movement. Every extending or retracting piston has to check moved blocks for validity, reschedule updates, and potentially break tile entities attached to moved blocks.
- Tile entity ticks. Hoppers, droppers, dispensers, and furnaces all tick even when idle, checking whether anything needs moving. Hoppers in particular are expensive — they run every tick by default.
- Chunk edge flickers. Redstone signals that cross chunk boundaries can force chunks to stay loaded and updating.
The combined effect is that a single server might have 800 hoppers running per tick across all its farms, plus the observer clock on some player's flying machine, plus the pulse extender in their auto-crafter. Every tick, all of it has to be calculated before the next tick starts.
Common Causes of Redstone Lag
Not all redstone is equal. Some patterns cost far more than others. Work through these in rough order of likelihood.
Hoppers, Hoppers, and More Hoppers
Hoppers are the single biggest source of redstone-adjacent lag on most servers. Each hopper is a tile entity that ticks every 4 game ticks by default, checking for items above it and below it. An inactive hopper in a storage system still does that work. Multiply by 500 hoppers on a moderately built server and you have thousands of pointless checks per second.
The worst offenders:
- Storage halls. Players routinely build auto-sorters with hundreds of hoppers, most of which are idle most of the time.
- Mob farms. A mob grinder often has 50+ hoppers feeding a single chest.
- Villager trading halls. Hopper chains to collect trade drops compound the problem.
Observer-Based Clocks
Observer clocks are the go-to for modern redstone contraptions. They're compact, reliable, and extremely fast — which is exactly the problem. An observer clock can fire every 2 game ticks, meaning it triggers 10 times per second, forever. A handful of them running across the server can easily consume several MSPT on their own.
0-Tick Farms and Pulse-Stacked Circuits
0-tick farms exploit the fact that block updates can fire more than once within a tick. On vanilla and many forks this is legal; on optimised forks (Paper, Purpur) some 0-tick behaviour is patched out, but community-shared designs still leak through. When they work, they run hundreds of events per second.
Large Piston Doors and Flying Machines
A 5x5 hidden piston door involves 25+ pistons firing in precise sequence, each with its own block update cascade. Flying machines built from observers and slime blocks do the same thing continuously while in motion. On a creative-focused server, one active flying machine can spike MSPT harder than an entire iron farm.
Chunk-Loading Redstone Contraptions
Some circuits force chunks to stay loaded — nether portal entity-ferries, chunk loaders built from nether portals and minecarts, and more. These aren't redstone-lag in themselves, but they guarantee that whatever redstone is in those chunks runs 24/7, even when no player is nearby. See our chunk loading lag guide for how chunk tracking interacts with this.
Auto-Farms Left Running While Players Are Offline
Sugar cane farms, kelp farms, bamboo farms, honey farms — all typically built around observer clocks that run continuously. If the chunk stays loaded (intentionally or by accident), those clocks burn tick budget whether or not anyone is harvesting. On big servers, inactive player farms can collectively cost more than anything any active player is doing.
How to Measure Redstone Lag
Don't guess. Profile. Without numbers you'll spend hours tweaking config values that don't matter.
Spark Profiler
Spark is the standard tool. Two commands:
/spark profiler start --timeout 300
/spark tickmonitor
Run the profiler during peak activity for five minutes. The resulting flame graph URL shows exactly where tick time goes. Redstone cost shows up under ServerLevel.tick → tickBlockEntities (for hoppers and other tile entities) and under LevelTicks.tick (for scheduled block ticks like piston firing and dust updates).
Signals to watch for in Spark:
HopperBlockEntity.serverTicktaking more than 3–4% of total tick time — you've got a hopper problem.PistonorPistonBaseBlockin the top of the graph — an active piston contraption is dominating.RedstoneWireBlock.updatevisible at all — dust propagation is expensive, usually means a long dust line.
Paper's Built-In /mspt
The /mspt command shows real-time tick time. A server comfortably running 20 TPS sits under 40ms. If /mspt reads 45–60ms during a specific activity (player building, farm running, piston door cycling), you've caught a redstone spike without even needing Spark.
Plugin: LagGoggles
LagGoggles is a client-side + server-side tool that literally overlays tick cost on top of blocks in the world. Laggy chunks glow red, expensive tile entities get highlighted individually. It's the fastest way to walk around a world and identify the offending contraption. Only available on some versions, but invaluable where it runs.
Plugin: Spark Reports for Specific Contraptions
A useful technique: start a Spark profile, run the suspect contraption for 30 seconds, stop the profile. Compare to a baseline profile with the contraption disabled. The delta is the cost of that specific build.
Paper Settings That Reduce Redstone Lag
Paper and its forks expose several knobs designed specifically for redstone performance. These all live in config/paper-global.yml and config/paper-world-defaults.yml.
Switch to the Alternate Current Engine
This is the single most impactful change you can make. Paper ships with a rewritten redstone dust update algorithm called ALTERNATE_CURRENT that drastically reduces the cost of long dust lines and complex power updates — often 10x faster than the vanilla implementation.
In paper-global.yml:
misc:
redstone-implementation: ALTERNATE_CURRENT
The options are VANILLA, EIGENCRAFT, and ALTERNATE_CURRENT. Use ALTERNATE_CURRENT unless you have a specific reason not to. Eigencraft was the older optimised implementation; Alternate Current replaces it and is faster in most benchmarks.
This change is observationally identical to vanilla for all normal redstone behaviour. Timings that rely on extremely specific update order might behave differently, but players will not notice on any practical build.
Hopper Optimizations
Hoppers are the most common single source of redstone lag. Paper gives you three direct settings in paper-world-defaults.yml:
hopper:
disable-move-event: true
ignore-occluding-blocks: true
tick-rates:
container-update: 1
mob-spawner: 2
And in paper-global.yml:
misc:
max-joins-per-tick: 3
Key settings:
hopper.disable-move-event: true— disables theInventoryMoveItemEventevent from firing on hopper transfers. Plugins that listen for hopper events (some anti-cheat, some protection, some shop plugins) may need this enabled, but most servers can turn it off safely. Usually a 10–20% reduction in hopper cost.hopper.ignore-occluding-blocks: true— skips the full-block collision check hoppers do when transferring into solid-topped blocks. Small win on top of the above.tick-rates.container-update— how often container menus (chests open, ender chests open) update their displayed contents. Vanilla is every tick. Setting to3updates every 3 ticks, imperceptible to players and a meaningful CPU saving on servers where many chests are open.
Throttle Empty Hoppers
Paper has a feature called skip-if-empty in some builds and cooldown-when-full is the vanilla-equivalent setting. These let hoppers skip the item-scan tick when there's nothing to move. Enable them:
hopper:
cooldown-when-full: true
disable-move-event: true
cooldown-when-full: true is on by default in modern Paper — worth verifying it's not been turned off in an older config that was ported forward.
Piston-Related Settings
Paper patches a handful of piston exploits and adds:
fixes:
fix-items-merging-through-walls: false
unsupported-settings:
allow-piston-duplication: false
Neither directly reduces lag, but leaving allow-piston-duplication: false prevents one class of exploit that can be used to spawn infinite resources and, indirectly, infinite redstone setups.
See best Paper settings for performance for the complete recommended Paper configuration these settings sit inside.
Plugins That Help With Redstone Lag
A few plugins move beyond config values into active redstone management.
Spark
Already covered, but worth restating: Spark is non-negotiable. You can't fix redstone lag you haven't measured.
LagAssist
LagAssist includes redstone-aware features:
- Automatic piston throttling when TPS drops below a threshold.
- Chunk profiling that identifies which chunks are consuming the most tick time.
- Configurable alerts when a specific chunk exceeds a cost threshold — great for catching a griefer's 0-tick farm before it destroys the server.
RedstoneClockDetector
A purpose-built plugin that finds redstone clocks, pulse loops, and infinite-update contraptions and either logs them or automatically breaks them. Useful on large public servers where you can't realistically inspect every player's base.
CraftBook
CraftBook lets you replace common redstone contraptions with single-block equivalents — elevators, gates, self-triggering doors — that have one tile entity instead of a dozen pistons. On survival servers that allow it, encouraging players to use CraftBook contraptions over vanilla equivalents cuts redstone cost significantly.
InsaneHopperOptimizer / HopperLimiter
Specialised plugins that cap the number of active hoppers per chunk, per player, or globally. Useful on servers where sorter halls have gotten out of hand. Usually a blunt tool — adjusting tick rates in Paper is preferable when possible.
See our performance plugin roundup for how these fit into a broader stack.
Design Patterns That Reduce Redstone Lag
Config values only go so far. Some problems have to be solved at the build level. If you run a survival server with players, this is a conversation to have with them — or, on larger networks, rules to enforce.
Use Comparator Clocks Instead of Observer Clocks
Observer clocks tick every 2 ticks. Comparator-subtract clocks can be tuned to any interval, up to many seconds between pulses. For automatic farms, slowing the clock from 10Hz to 1Hz divides redstone cost by 10 with no visible downside — most crops grow on minute timescales anyway.
Break Hopper Chains Into Smaller Segments
A 30-hopper storage line does the same job as a 30-hopper line plus a comparator-reset, but the latter can be gated to only activate when items are detected. Encourage sorter designs that turn hoppers off when idle rather than designs that run them all constantly.
Pause Farms When Players Aren't Nearby
Most farms don't need to run 24/7. A simple player-detection circuit (pressure plate at the farm entrance, player-filter trapdoor) turns the farm on only when someone walks up to collect. This is the single most effective thing a player can do on a performance-minded server.
Avoid Unnecessary Chunk Loading
See chunk loading lag — redstone in an unloaded chunk costs nothing. Forced chunk loaders for farms are a common source of invisible lag. Unless a farm absolutely requires continuous operation, let chunks unload normally.
Replace Redstone Lamps With Sea Lanterns Where Possible
Every flickering redstone lamp triggers a block update. On decorative builds with hundreds of lamps, switching to sea lanterns or glowstone for pure light sources and reserving redstone lamps for intentional signalling removes a surprising amount of background update work.
Optimize Farm Layouts
Our farm optimization guide covers this in depth, but the high-impact principles: fewer, bigger farms beat many small ones; water-based collection beats piston-based; kill chambers with one hopper beat kill chambers with eight.
Best Practices for Server Admins
Some operational rules that reliably keep redstone lag manageable:
- Install Spark on day one. You cannot diagnose what you can't see. Make
/sparka part of your standard admin workflow, not a crisis tool. - Cap hoppers per chunk via Paper settings or a plugin. The
entity-per-chunk-save-limitdoesn't cover hoppers, but plugins like HopperLimiter do. A chunk cap of 20–40 hoppers prevents sorter megastructures from consuming a disproportionate share of tick time. - Publish a server "redstone guidelines" doc. A short Discord pin explaining what's encouraged (comparator clocks, player-triggered farms) and discouraged (observer clocks, 24/7 auto-farms, piston bombs) solves more problems than any config change.
- Watch MSPT, not just TPS. TPS lies when the server is at capacity. MSPT tells you how close to the edge you are.
- Set TPS-based auto-responses. LagAssist can slow piston activity when TPS drops below a threshold. It's ugly — players will see stuttering pistons — but it's better than a server-wide freeze.
- Back up before experimenting with redstone config changes.
ALTERNATE_CURRENTis safe, but if you're digging intotick-ratesandentity-activation-rangeinteractions, it's easy to break a farm someone spent weeks building. Let players know, take a snapshot, test on a restore-able world. - Review worst offenders weekly. A 15-minute Spark profile once a week catches the farm that went from "fine" to "catastrophic" because someone expanded it on Tuesday. Small, regular checks beat reactive triage.
Servers with strong CPU single-thread performance and enough RAM allocated to the heap absorb redstone load more gracefully. Hardware and configuration reinforce each other; don't expect config alone to save a server on a weak CPU.
Need a Minecraft host that ships with Paper, Alternate Current, and performance-focused defaults already in place? Take a look at Wabbanode Minecraft hosting — the worst of this guide's config work is done before you even log in.
Frequently Asked Questions
What causes redstone lag on a Minecraft server?
The main causes are tile-entity ticks (especially hoppers), observer-based clocks, piston contraptions, and long redstone dust lines. Every one of those happens on the main server thread within the 50ms tick budget, so they compete directly with chunk loading, mob AI, and player actions.
Does Paper really reduce redstone lag?
Yes, significantly. Paper's ALTERNATE_CURRENT redstone engine can be 10x faster than vanilla on wire-heavy circuits. Paper also exposes hopper and container tick-rate settings that vanilla simply doesn't allow you to change. Migrating from vanilla or Spigot to Paper almost always improves redstone performance.
What is Alternate Current in Paper?
Alternate Current is a rewrite of Minecraft's redstone dust update algorithm, focused on reducing the number of block updates triggered by power changes. It's enabled by setting redstone-implementation: ALTERNATE_CURRENT in paper-global.yml. It's fully compatible with all vanilla-legal redstone designs.
How do hoppers cause lag?
Every hopper is a tile entity that ticks regularly whether or not it has items to move. Each tick it checks the block above it for items, the container below it for space, and possibly other neighbours. Multiplied across hundreds of hoppers in storage halls and farms, that background cost adds up fast.
Can I just ban redstone on my server?
You can, but you usually shouldn't. Most redstone lag comes from a small number of extreme designs (0-tick farms, observer-spam clocks, massive storage halls) rather than redstone in general. Targeted rules and config tuning preserve normal gameplay while catching the actual offenders.
What's the best redstone tick rate setting?
tick-rates.container-update: 1 (vanilla) is fine for most servers. Raising to 3 is a safe middle ground — chests still feel instant to players, but the server does one-third of the update work. Don't go above 5 without testing, as it starts feeling sluggish.
Will reducing redstone lag break my farms?
Generally no. ALTERNATE_CURRENT, hopper optimizations, and container-tick changes don't affect the functional outcome of any farm. 0-tick-dependent farms may behave differently on optimised forks, but those designs are already fragile. Normal survival redstone builds run identically.
How do I find the player causing redstone lag?
Use Spark to profile, identify the chunk consuming the most tick time, then use /spark heapsummary or coordinate lookups to find the owner. LagAssist can automate this by alerting when a chunk exceeds a cost threshold. Most "one player is lagging the server" problems trace back to one specific contraption, not general activity.
Do mods add to redstone lag?
They can. Create, Project Red, and similar mods add their own tile-entity-heavy machines that often cost more than vanilla redstone. If you run a modded server, profile the modded blocks specifically — Spark breaks them out by mod ID — and consider per-mod tick rate adjustments if the modpack supports them.

