Paper fork for Minecraft

Faster, better,
Feather

FeatherMC is a fork of Paper that reduces lag, improves performance, and more. It is lightweight and compatible with Paper, Spigot, and other plugins. We aim to make servers much faster and better without changing any Minecraft features or experience.

Paper API compatible Spark built in Tuned launch scripts feather.yml config
server console
$ java -jar feather.jar
Loading libraries, please wait...
[INFO] Starting minecraft server version 26.3
[INFO] Preparing level "world"
[INFO] Preparing start region for dimension
       minecraft:overworld
[INFO] Time elapsed: 363 ms
[INFO] Preparing start region for dimension
       minecraft:the_nether
[INFO] Time elapsed: 147 ms
[INFO] Preparing start region for dimension
       minecraft:the_end
[INFO] Time elapsed: 366 ms
[INFO] Running delayed init tasks
[INFO] Done (2.274s)! For help, type "help"
[INFO] Running FeatherMC 26.3 v5.4
Why FeatherMC

Same server. Less weight.

Paper is fast, and Feather is even faster. Feather is determined to improve the performance of your entire server, and by a wide margin. It includes many components that are lightweight and fast, so your server will load much quicker than it would on Paper. We aim to deliver fast updates, better performance, and more. Feather is your all-in-one server jar: it comes with everything configurable* and extra features such as Anti-Cheat and more.**

*We aim to make everything configurable, but we do not guarantee it. If you would like something to be configurable, please submit a request on GitHub.

**Addons can be toggled on or off in the config. Some addons may not have any premium features, as we aim for them to simply work.

01 / Memory

Less RAM per player

Cut heap and off-heap use so the same hardware holds more players, or the same players fit on cheaper hardware.

02 / Latency

Smoother ticks

Lower and steadier MSPT, with fewer spikes when farms, mobs or explosions pile up in one place.

03 / Stability

Longer uptime

Fewer stalls, crashes and leaks over long sessions, including the ones caused on purpose by lag machines.

Our main goal

Feather aims to keep the Minecraft experience the same while lowering resource usage and improving performance. Anything that sacrifices the experience in order to be faster is denied.

Measured, not guessed

Performance changes are checked with profiling and before/after tick timings before they count as a win. You won't find made-up benchmark numbers on this site. Spark ships in the jar so you can measure your own server too.

Stability

Like Paper, FeatherMC is also stable.

What ships today

Built for busy servers

Everything below is in the current build. Defaults are chosen so a fresh server is protected without anyone having to read a config file. Anything marked experimental is off until you turn it on.

Built-in /ping

Anyone can run /ping to see their own ping, colored green, yellow or red. Ops, or anyone with feather.command.ping.others, can check any player with /ping <player>.

Anti-lag-machine caps

Per-chunk save limits for arrows, ender pearls, snowballs, fireballs and XP orbs stop the classic "stuff a chunk until it crashes" machine, so it can't survive a restart. On by default.

TNT mass-detonation guard

An opt-in switch in feather.yml (anti-lag-machine.enabled) that removes dense clusters of primed TNT before they go off. Normal TNT use is untouched. Experimental, off by default.

Low-pause launch scripts

start.sh and start.bat with one toggle: ZGC for near-zero GC pauses, or Aikar's G1 flags for smaller heaps. Both keep the heap at a fixed size, so it never resizes mid-game.

Spark built in

The spark profiler is in the jar. Check TPS, take a CPU profile or see what is filling the heap without installing anything.

Basic anti-cheat

An optional autoclicker check flags players who attack faster than a limit you set. It only logs by default. It is basic, so run Grim or Vulcan for real protection. Experimental, off by default.

Optional error reporting

Put a Sentry DSN in feather.yml and logged errors and uncaught exceptions, with stack traces, go to your Sentry project, so you can see which plugin broke. Off unless you set a DSN.

FeatherMC vs Paper

What changes?

Feather is a fork of Paper and contains everything from Paper. Here are some features that Feather does better than Paper.

BehaviourFeatherMCPaper
Paper plugins and APIRuns unchangedNative
Lag machines16 per type, configurableOff by default
TNT mass-detonation guardAvailable in feather.yml (off by default)Not available
Launch scripts with GC presetsIncluded (ZGC or Aikar's G1)Bring your own
Anti-CheatBasic autoclicker check (experimental, off by default)Not available
/ping commandBuilt in, color-codedNot available
Error reportingOptional Sentry, set a DSN in feather.ymlNot available
Config files and commandsSame filenames, /paper still worksSame
Compatibility

Your plugins won't notice the switch

FeatherMC is compatible with all plugins that Paper can run. Even if a plugin says it is Paper only, we inherit Paper's compatibility so that it runs on your server.

  • Same packages. Everything stays under io.papermc.paper and org.bukkit.
  • Same brand ID. The server reports papermc:paper, and brand checks also accept feathermc:feather, so "requires Paper" checks pass.
  • Branded as FeatherMC. /version, the console, the F3 client brand, the server list and bStats all say FeatherMC, and the version checker points at FeatherMC's own repository.
  • Same data. Paper's NBT keys, config filenames and CLI flags are untouched. Swap the jar and your world, configs and plugins carry over.
Read the API docs
build.gradle.kts
// Build against the Paper API. It runs on FeatherMC as is.
repositories {
    maven("https://repo.papermc.io/repository/maven-public/")
}

dependencies {
    compileOnly("io.papermc.paper:paper-api:26.3.build.+")
    compileOnly("io.github.1chenyip:feather-api:26.3.0") // optional: FeatherMC's own API
}

java {
    toolchain.languageVersion.set(JavaLanguageVersion.of(25))
}

Swap one jar. Watch the result.

Replace your current Paper server with Feather and it will work seamlessly. Back up, replace the jar, done.