10 min read

Best Redstone Servers for Testing Farms and Contraptions

The best server for testing farms is one that will tell you exactly what it changed from vanilla. How to check the jar, read the configs, and measure a rate.

Best Redstone Servers for Testing Farms and Contraptions

The best server for testing farms is the one that can tell you exactly what it changed from vanilla, and that filter is narrower than any tag on a listing. A contraption is a machine tuned against specific numbers — mobs never spawn within 24 blocks of a player, soft despawn starts at 32 and hard despawn at 128, a hopper moves one item every 8 game ticks — so a server that quietly moved one of those turns your design into something that works there and nowhere else. Population and plot size are secondary.

Parity, measurement, build tools and a shared world to build in pull against each other, and no server gives you all four. Most people who do this seriously use two servers for two jobs.

Parity is the filter, but "Paper" isn't the answer to it

You'll hear that Paper changes hopper timing and mob spawning, so avoid Paper. That shortcut is wrong, and it sends you to the wrong servers. Most of the knobs a farm cares about aren't Paper's — they're inherited from spigot.yml, and the defaults are vanilla-faithful. ticks-per.hopper-transfer is 8, exactly vanilla's 2.5 items per second. mob-spawn-range defaults to 8, and that's in chunks: 128 blocks, the same region vanilla spawns in around each player.

Paper's entities.spawning.per-player-mob-spawns defaults to true, and it gets described wrong constantly. Vanilla does not compute a mob cap per player. It counts mobs against one global cap scaled by loaded spawnable chunks — roughly the cap times loaded chunks over 289 — so the pool grows as players spread out but stays one pool. Spigot's flat number ignored that scaling. Paper's per-player mode is a third model, handing each player a private slice; it's no restoration of vanilla's algorithm, it just lands closer to how single-player feels (Vanilla vs Paper). Purpur ships every purpur.yml toggle off, so stock Purpur is meant to match Paper — a design goal, not something you can verify from your seat (Purpur vs Paper has the rest).

The jar name, then, tells you what's possible, not what's true, and what's true lives in config files only the owner can show you.

Two deviations are on by default. Dupe patching is the big one: Paper closes long-standing duplication exploits, and TNT duping and sand duping are what quarries and gold farm perimeters get built on. unsupported-settings in paper-global.yml gates them back on, defaults off — key names have shifted across builds, so read the file your own server generated, not any guide's list, this one included.

The other is entity-activation-range in spigot.yml, which vanilla has no equivalent for. Vanilla runs full AI on every entity in a ticking chunk. Spigot drops each category — animals, monsters, raiders, water, villagers, misc — to a reduced tick rate outside its own range, 32 blocks by default for the two that matter here. That's why mobs "just stand there" at the AFK spot, and a farm needing mobs to walk or fall 40 blocks away lives or dies on it.

Which is why "lightly modified" tends to mean Fabric here: Lithium, FerriteCore, Krypton, Starlight. Lithium's design goal is to change no vanilla behavior, so anything that would break parity is left out — the opposite trade from entity-activation-range. Those mods are server-side and rarely show on a listing, so you find them by asking. If you'd rather build automation with a mod than with vanilla redstone, that's a different hobby on a different server — Create mod servers are where that one lives.

The question that separates a technical server from a creative one

Check the jar yourself first. Run /plugins and /version — neither exists on Mojang's jar, and both default to open for every player. If /version answers This server is running Paper version <build> (MC: 26.1), you have it, and if /tps answers you as a non-op, same conclusion. Silence only narrows it: Mojang's jar and a locked-down Paper server look identical from your seat. This is a Java-only search on 25565/TCP, since Bedrock runs a different redstone engine.

Then ask the owner what they've changed from vanilla. Specifics mean a technical server; "nothing, we're vanilla" while /plugins returns a list means they don't know or aren't telling.

Setting Vanilla behavior What it breaks if moved
mob-spawn-range (spigot.yml) 8 chunks, so 128 blocks Lowered to 4, the spawn region drops from 17×17 chunks to 9×9 and rates collapse with it
entity-activation-range (spigot.yml) no equivalent; all entities tick Trimmed, distant mobs stop moving and anything needing them to walk or fall produces nothing
per-player-mob-spawns (paper) no equivalent; one global cap scaled by loaded chunks Changes what share of the cap your farm can claim
redstone-implementation (paper) one dust update order Swapped, the edge cases move — and that's where locational contraptions live

That last row is the one to ask about, because it stays invisible until one specific build misfires. Paper lets an owner swap the redstone dust implementation, and the live alternative is Alternate Current, written to preserve vanilla behavior and mostly succeeding. Eigencraft, the older option that openly reordered updates, was removed. What's left is narrower: locational quirks an ordinary build never notices. Ask which one they run rather than quoting a key at them.

Two numbers: what a farm costs, and what it makes

MSPT is the number, not TPS. TPS caps at 20 and reads a flat 20.0 across the whole healthy range, so a server at 15 ms per tick and one at 48 ms both report a perfect 20.0 (what TPS and MSPT mean covers the split). High MSPT with TPS still at 20 is the failure mode farm testers hit: add contraption after contraption, watch 20.0 the whole way, then fall off a cliff. Read the 95th percentile from /spark tps, not the average, and take a baseline first — the number after you build means nothing unless you know what the server cost idle (using spark covers the rest).

Spark measures what a farm costs and never what it produces, and the number you're optimizing is rate per MSPT. Rate is Carpet's job — Fabric-side, server-only. /counter <color> reads a hopper counter in items per hour, /tick warp <ticks> fast-forwards so a rate takes minutes instead of an afternoon, and /player <name> spawn parks a fake player at the AFK spot. The two spawn commands get confused constantly: /spawn tracking start logs spawn attempts by category, /spawn mobcaps shows how full the cap actually is.

Why nobody hands out /tick freeze

Vanilla's own tools suit this better than spark does. The /tick family — /tick query, /tick freeze, /tick step <ticks>, /tick sprint <ticks> — stops the world and advances it a tick at a time, or sprints thousands of ticks at once.

The catch is that they're server-wide. /tick freeze stops the world for everyone online and /tick sprint fast-forwards it for them too, so no owner grants them on a populated sandbox. Measurement has the same problem a layer down: the mob cap is contended, so other players' loaded chunks compete with your farm for spawn capacity, and a rate on a busy server is partly a function of who's logged in. Run it again on a quiet Tuesday and you'll get a different answer — a limit of shared worlds rather than a tuning problem.

So what you want isn't a bigger plot. It's an isolated world: your own, or a private test dimension nobody else is ticking. A server offering "a creative plot" and one offering "your own tick-controllable test world" aren't competing on the same axis, and the second is rarer and worth much more. It's also why the parity-accurate servers tend to be whitelisted and small — a small vetted population is what makes a rate reproducible.

Build tools, gamerules, and getting the design out

WorldEdit is a plugin, and that's the tension: you can't run plugin build tools on Mojang's jar, so wanting non-staff //set and //copy means accepting a non-vanilla jar. It's operators-only by default, so public access is an explicit grant.

Gamerules are world-scoped, /gamerule needs op level 2, and vanilla has no per-player or per-region scope — so ask for a test world, not a corner of one. Know what you're asking for, though: /gamerule doMobSpawning false clears ambient spawns, but it stops monster spawners too, so on a spawner farm it silences the test instead of isolating it.

So design on one server and verify on another. Iterate on a Paper creative server with WorldEdit, then //copy and //schematic save <name> for a portable .schem, and re-test the finished thing somewhere parity-accurate. Check you have worldedit.schematic.save first; most public plot worlds don't grant it. A friend's Realm is the strictest target going: a Java Realm runs no plugins or mods and auto-tracks the current version, so a Paper server still on the previous drop and a Realm aren't even on the same version, let alone the same software (server vs Realm). Anything tuned around a Paper deviation dies on the trip, and anything that needed a patched dupe suddenly starts working.

Picking from the live lists

Shortlist from the creative servers for the design half and the vanilla servers for the verification half, then spend twenty minutes on each. Run /plugins and /version, try /tps, and see what answers. Drop a hopper under a chest and time it against 2.5 items a second, then stand a mob 40 blocks away and watch whether it keeps moving — five minutes of that tells you more than the listing description will. If the build has to survive an SMP eventually, that's the hostile case: a contended mob cap and nobody freezing the world so you can watch a tick. All three lists are ranked by this month's votes, so the top is current.

FAQ

My farm works on the server but produces nothing in single-player. How?

Check whether it leans on a duplication exploit first, though that one usually bites the other way round. Otherwise it's the cap. On a Paper server in per-player mode your farm draws on a budget attached to you personally, and dark caves elsewhere can't eat it. Vanilla is one pool shared across every loaded spawnable chunk, so at home the same farm competes with every unlit cave inside your simulation distance. That's the old argument for a perimeter.

Will a design I tested on a 26.2 Paper server still work on 26.3?

Assume not until you check. Farm mechanics move between point releases, and this is where the software choice and the version choice collide: Paper keeps a new version's builds experimental for a while after Mojang ships it, so plugin servers can sit a drop behind on 26.2 (protocol 776) while Mojang's jar and every Realm have already moved to 26.3 (protocol 777). Verifying against vanilla can mean crossing a version boundary and a software boundary at once, and when the result differs you won't know which did it.

Can I test a Java contraption on a crossplay server for my Bedrock friend?

No, and the tag is misleading here. Geyser and Floodgate translate the network protocol so a Bedrock client on 19132/UDP can join a Java server, but they don't run Bedrock's physics — your friend is watching the Java server's behavior rendered on a Bedrock client. Rebuild the design in their own Bedrock world and it falls apart, because that engine updates in a different order and has no quasi-connectivity. Two editions, two designs.