Stop cheaters without punishing real players

Epsilon checks every player on your Paper server against the vanilla Minecraft client. If a real client could not have done something, Epsilon catches it. If one could, the player keeps playing.

For Paper 26.1 or later. See which versions work together.

Each tick, the player's game sends the keys it held and where the player ended up. Epsilon runs those keys through the game's own physics and checks the result. A legitimate player matches exactly. A speed hack ends up a little further, and is disconnected.

What it catches

Epsilon looks at everything a player sends, not only how they move.

Movement

Speed, flight, step, anti-knockback and anything else that changes how players move, whether they walk, swim, glide or ride.

Combat and building

Hits and block placements that do not match what the player is looking at and can reach.

Inventory

Items that move in ways no real click in the game's inventory could produce.

Modified packets

Sending too fast or out of order, faking values, and actions the vanilla client never performs.

Setup

Epsilon runs on each Paper server. It needs PacketEvents 2.13 and Java 25.

  1. Download Epsilon

    Get epsilon.jar from dl.epsilon.ac/latest.

  2. Add it to your plugins

    Put it in plugins/ next to PacketEvents. On a Velocity or BungeeCord network, add it to each server behind the proxy, and keep ViaVersion there too if you use it.

  3. Restart the server

    Epsilon is running once the server is back up. The very first start takes a little longer while it fetches some game files.

Compatibility

Players can join on the same version as your server or a newer one.

Your players
Your serverJava Edition 26.1.2Java Edition 26.2
Paper 26.1.xSupportedSupported
Paper 26.2Not supportedSupported
Also needed
Java25 or later
PacketEvents2.13
NetworksVelocity and BungeeCord, with Epsilon on each server behind the proxy
BedrockPlayers joining through Geyser can play; Epsilon does not check them yet

Tools for your staff

Commands and alerts are available to operators by default.

Command
/epsilon alertsTurn cheat alerts on or off for yourself.
/epsilon verboseSee every flag as it happens, without the usual rate limit.
/epsilon exempt <player>Stop punishing one player until they log off. Alerts about them keep coming.
/epsilon versionCheck which version is running and whether an update is waiting.

Common questions

Will players with lag get flagged?

Lag is part of what Epsilon models, including sudden spikes, so a player on a bad connection is judged as a real client on a bad connection.

Which Minecraft versions can players use?

Java Edition 26.1.2 and 26.2, as long as the player's version is not older than your server's. The compatibility table shows every combination. Epsilon cannot check a version it does not know, so players on other versions cannot join. Support for new Minecraft releases arrives through updates.

Can Bedrock players join?

Yes, through Geyser. Epsilon lets them play without checking them. Geyser on the same server works as installed. On a network, install Floodgate on the servers behind the proxy, or use Velocity's modern forwarding, so Epsilon can tell a Bedrock player from a Java one.

Will it slow my server down?

Epsilon does its work away from your server's main thread, so it does not hold up the game.

Where do I install it on a network?

On every Paper server behind your proxy, not on the proxy itself.

Get Epsilon

One jar for every Paper server on your network. It keeps itself up to date from then on.

Download epsilon.jarhttps://dl.epsilon.ac/latest