A lighter kind
of Paper.
FeatherMC is a performance fork of Paper. It cuts tick work and lag spikes on busy servers while keeping gameplay exactly as your players know it. Your Paper plugins run on it unchanged.
$ 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
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.
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.
Smoother ticks
Lower and steadier MSPT, with fewer spikes when farms, mobs or explosions pile up in one place.
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.
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.
Far-mob AI throttle
Mobs outside activation range, where no player is close enough to watch, think every 20 ticks instead of every tick. On by default.
How it works →Anti-lag-machine caps
Per-chunk save limits for arrows, pearls, snowballs, fireballs and XP orbs stop the classic "stuff a chunk until it crashes" machine.
See the limits →TNT mass-detonation guard
An opt-in switch in feather.yml that removes dense clusters of primed TNT before they go off. Normal TNT use is untouched.
Configure it →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.
Pick a GC mode →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.
Useful commands →Graded tuning guide
Every recommended setting is marked invisible, near-invisible or perceptible, so you know what each trade costs before you make it.
Read the tiers →What changes out of the box
FeatherMC is Paper underneath. These are the differences you get on a fresh install, before touching any config.
| Behaviour | FeatherMC | Paper |
|---|---|---|
| Paper plugins and API | Runs unchanged | Native |
| AI for mobs out of activation range | Goal selector every 20 ticks | Every tick |
| Lag machines | 16 per type, configurable | Off by default |
| TNT mass-detonation guard | Available in feather.yml (off by default) | Not available |
| Launch scripts with GC presets | Included (ZGC or Aikar's G1) | Bring your own |
| Config files and commands | Same filenames, /paper still works | Same |
Your plugins won't notice the switch
FeatherMC only rebrands where you can see it: the console, /version, the server list and F3. Everything plugins depend on stays where Paper put it.
- Same packages. Everything stays under
io.papermc.paperandorg.bukkit. - Same brand ID. The server reports
papermc:paper, so "requires Paper" checks pass. - Same data. Paper's NBT keys, config filenames and CLI flags are untouched. Swap the jar and your world, configs and plugins carry over.
// 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.+") } java { toolchain.languageVersion.set(JavaLanguageVersion.of(25)) }
Swap one jar. Keep everything else.
FeatherMC drops into an existing Paper 26.3 server. Back up, replace the jar, start it up.