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

How to Stop Redstone Lag on Your Server

Diagnose and fix redstone-caused lag on Minecraft servers: Paper's alternate-current, Spark profiling, entity culling, tick rate limiting, WorldGuard redstone flags, and banning zero-tick machines.

Redstone is the single most common cause of TPS drops on survival and creative servers. A single piston door does not matter. But a server with 40 active players, each with their own automated farms, sorting systems, and flying machines, is a server where redstone updates eat the tick budget alive. The vanilla redstone engine is notoriously inefficient, a simple repeater line recalculates far more block updates than it should, and without intervention, a moderately popular server will start chugging within weeks of opening.

Why redstone kills TPS

Every time a redstone component changes state, the server evaluates neighboring blocks for updates. A single piston firing can cascade into dozens of block updates as power propagates through dust, repeaters, comparators, and adjacent blocks. The vanilla engine does this with a depth-first search algorithm that revisits blocks multiple times, checks blocks that could not possibly be affected, and scales quadratically with the length of the redstone line.

Redstone dust is the worst offender. A 15-block line of dust changing state triggers approximately 700 block updates in vanilla. That same line in Paper with Alternate Current triggers around 100. The difference is staggering, and it compounds with every active redstone contraption on the server.

Detecting redstone lag with Spark

Before fixing anything, you need to know if redstone is actually your problem. Install Spark (the profiler, not to be confused with other plugins with similar names) and run a tick profiler during peak hours:

/spark profiler start --thread server
# Wait 60-120 seconds during peak activity
/spark profiler stop

The resulting report shows a flamegraph of what the server thread spent time on. Look for entries related to BlockRedstoneWire, PistonMovement, BlockRedstoneTorch, or generic neighborChanged calls. If these account for more than 15-20% of the tick, redstone is a significant contributor to your lag.

Spark also shows per-chunk tick times. If one chunk consistently takes 10x longer than others, someone built a redstone monster there. Check the coordinates and investigate in-game.

Paper's Alternate Current

This is the single most impactful change you can make. Paper (and by extension Purpur) includes an option to replace the vanilla redstone engine with Alternate Current, originally developed by Space Walker. It produces identical gameplay results, the same circuits work the same way, but calculates updates far more efficiently.

In your paper-global.yml (or paper-world-defaults.yml depending on Paper version), find or add:

redstone-implementation: alternate-current

This setting exists on Paper 1.19+ and is sometimes enabled by default on newer builds. After changing it, restart the server. Players will not notice any behavioral difference, but your TPS headroom improves dramatically. Servers running heavy redstone have reported 30-50% reductions in block update overhead after switching.

For a deeper comparison of Paper and its optimization features, see our Paper vs Spigot vs Purpur guide.

Limiting redstone tick rate

Paper also exposes settings to throttle how many redstone updates can occur per tick. In your world configuration:

# paper-world.yml or paper-world-defaults.yml
environment:
  redstone:
    max-updates-per-tick: 1000

The default is effectively unlimited. Setting a cap of 1000 or 2000 prevents a single machine from consuming the entire tick budget. Contraptions that exceed the limit will slow down rather than lag the whole server, pistons fire a tick late, lamps flicker slightly longer. Most players will never notice unless they are building something absurdly large.

Entity culling near redstone

Redstone farms often interact with large numbers of entities, items on conveyor belts, animals in breeders, mobs in grinders. The entity processing in those chunks compounds the redstone overhead. Paper's entity activation range settings help here:

# paper-world.yml
entity-activation-range:
  animals: 16
  monsters: 24
  misc: 8
  water: 8

Entities outside these ranges from any player skip most of their AI ticking. This means a redstone-heavy animal farm 30 blocks from any player barely impacts TPS. The entities are still there, still visible, still killable, they just do not run pathfinding or breeding logic until a player is nearby.

WorldGuard: disable redstone per region

If the problem is localized, say, one player built a lag machine in their base, you can disable redstone in specific WorldGuard regions without affecting the rest of the server:

/rg flag lag_region other-explosion deny
/rg flag lag_region pistons deny

WorldGuard does not have a single "disable all redstone" flag, but you can deny pistons and set game rules per-region to limit redstone activity. For broader control, the __global__ region can restrict redstone server-wide, with specific regions overriding to allow it where appropriate.

For an approach that disables redstone per-world rather than per-region, see our per-world redstone guide.

Banning zero-tick machines and exploits

Zero-tick farms exploit redstone timing to grow crops or process blocks at impossible speeds. Mojang has patched the original zero-tick growth exploit, but new variants appear with each version. On Paper, these are handled by a config option:

# paper-world.yml
fixes:
  fix-zero-tick-instant-grow-farms: true

This is enabled by default on most Paper versions. If players complain that their "instant bamboo farm" stopped working, this is why. Leave it enabled, those farms produce server-destroying lag for a trivial advantage.

For machines that are not exploits but are simply too large, establish a server rule: "Redstone contraptions must not cause sustained TPS drops. Machines that do will be dismantled by staff." Communicate this in your rules and enforce it when Spark shows a chunk consistently eating tick time.

Monitoring long-term

Redstone lag is not a "fix once" problem. As your server grows and players build more, you need ongoing monitoring. Run Spark profiler sessions weekly during peak hours and compare the reports. Watch for new chunks appearing in the "slow ticks" list. Set up a TPS monitoring plugin that logs averages over time, a gradual decline from 20.0 to 18.5 over a month usually points to accumulating redstone builds.

Combine redstone optimization with general server performance tuning for the best results. No single setting fixes everything, but Alternate Current plus entity activation ranges plus sensible tick limits will keep most servers above 19 TPS even with heavy redstone activity.

Need a server that handles this? Astroworld Hosting runs NVMe SSD, Pterodactyl panel, and DDoS protection. See features , plans from €6.39/mo.

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