Paper vs Purpur vs Folia: Which One Fits Your Server?

Server Software

Paper, Purpur or Folia? What Paper optimizes, what Purpur adds in purpur.yml, how Folia's regions work, why most plugins don't run on it, and when to switch.

Paper, Purpur and Folia share the same code base, run the same kind of plugins, and sit next to each other in most server panels. They are built for very different servers, though, and picking the wrong one can cost you your plugins or your performance.

In this guide, we will cover what Paper changes compared to vanilla, what Purpur adds on top of Paper, how Folia's regionised multithreading works and why most plugins don't run on it, and when each one makes sense.

By the end of this guide, you will know which of the three fits your server and how to switch safely.

The Short Answer

  • Paper → the default for plugin servers.
  • Purpur → Paper plus many extra gameplay settings.
  • Folia → huge servers with many CPU cores and players spread far apart.

Paper logo Paper: The Default Choice

Paper grew out of Spigot, and since 1.21.4 it has been a hard fork that no longer follows Spigot's changes (source: PaperMC forums).

What it optimizes

Performance is Paper's main goal. PaperMC lists asynchronous chunk loading and major optimizations to the light engine, hoppers and entities (source: PaperMC).

The plugin API

Paper runs Bukkit and Spigot plugins and adds its own, larger API on top. Hangar, PaperMC's plugin site, lists over 4,000 plugins built for Paper.

Plugins that reach into server internals need extra care. Since 26.1, Mojang ships the server without obfuscation, so plugins built against the old Spigot-mapped internal names need updates (source: PaperMC 26.1 notes).

Config files

  • config/paper-global.yml → server-wide settings
  • config/paper-world-defaults.yml → defaults for every world
  • spigot.yml and bukkit.yml → settings inherited from Spigot and Bukkit

PaperMC plans to merge these into fewer files in 26.4 (source: PaperMC 26.3 notes), so recheck the docs after that update.

Vanilla differences

Paper fixes some vanilla bugs, such as TNT duplication and breaking bedrock. If your players build tech farms that rely on them, several can be enabled again under unsupported-settings (see Paper's vanilla page).

Pick Paper if you want a fast plugin server and don't need extra gameplay changes. That covers most servers.

Purpur logo Purpur: Paper With More Switches

Purpur is a drop-in replacement for Paper, built on Paper and focused on configurability (source: Purpur on GitHub). It inherits everything Paper does, and Paper, Spigot and Bukkit plugins run on it.

The extras live in purpur.yml, and none of them do anything until you turn them on. With an untouched purpur.yml, Purpur runs like Paper (source: Purpur FAQ).

Popular options:

  • Ridable mobs: mobs → pig → ridable, and the same key for most other mobs.
  • Silk touch spawners: gameplay-mechanics → player → silk-touch.
  • Villager lobotomy: mobs → villager → lobotomize lobotomizes villagers that can't move, without disabling trading. Useful for trading halls.
  • AFK kick: gameplay-mechanics → player → idle-timeout → kick-if-idle.

Example: make pigs ridable in every world.

world-settings:
  default:
    mobs:
      pig:
        ridable: true

Run /purpur reload to apply changes. Purpur also adds small commands like /tpsbar (TPS and MSPT in a boss bar), /uptime and /ping.

Pick Purpur if you run survival and want these changes without installing extra plugins.

Folia logo Folia: Paper Split Into Regions

A normal server, Paper included, ticks the whole world on one main thread. Folia doesn't. It groups nearby loaded chunks into independent regions, and each region runs its own tick loop at 20 TPS, in parallel on a pool of threads. There is no main thread at all (source: Folia README).

When players are spread out, you get many regions working at once on different cores. When everyone stands at spawn, it is one region again, and you gain little.

Why most plugins don't work

Plugins written for Paper assume one main thread. On Folia, regions share no data, and plugins have to run their code on the right region through new schedulers. Folia only loads plugins that declare folia-supported: true in their plugin.yml.

The Folia README also lists APIs that are broken, including scoreboards, world loading and unloading, and some portal and respawn functions. Its advice is to expect almost every plugin to need changes.

Column chart comparing Modrinth plugins that list Paper support with those that list Folia support: 18,808 vs 3,881 across all versions, and 3,284 vs 1,240 with a Minecraft 26.3 build.
Modrinth search counts on 4 November 2026 (source: api.modrinth.com). Plugins that support Paper usually run on Purpur too.

On Modrinth, plugins that list Folia support are a fraction of those that list Paper. Check every plugin you need before you even try Folia.

When Folia makes sense

  • Very high player counts. PaperMC says Folia "won't be useful for the majority of servers" (source: PaperMC).
  • Gamemodes that spread players out, like SMP or skyblock.
  • Dedicated hardware. The README recommends at least 16 cores (not threads).
  • A plugin list where every plugin supports Folia.
  • A pre-generated world, which the README says reduces chunk worker load. See How to Pre-Generate Your Minecraft World.

When it doesn't

  • Small and medium servers, including most free and budget plans with a few cores.
  • Minigames, lobbies and hubs where everyone is in one area.
  • Servers that depend on lots of public plugins.

If your Paper server lags, fix the cause first. How to Fix Minecraft Server Lag covers the usual suspects.

Pufferfish and Other Forks

Pufferfish logo Pufferfish was a well-known performance fork of Paper. Its public downloads stop at 1.21.x, with no builds for 26.x (source: pufferfish.host), so it isn't an option on current versions.

There are smaller forks too, such as Leaf (a Paper fork), DivineMC (a Purpur fork) and Canvas (a Folia fork). They are smaller projects with fewer people behind them. Stick with Paper or Purpur unless you have a specific reason and have tested your plugins.

Paper vs Purpur vs Folia at a Glance

Paper logo PaperPurpur logo PurpurFolia logo Folia
Built onSpigot (hard fork)PaperPaper
PluginsBukkit, Spigot, PaperSame as PaperOnly Folia-supported
Extra settingsPaper configsPaper configs + purpur.ymlPaper configs + region threads
TickingOne main threadOne main threadMany regions in parallel
HardwareAnyAny16+ cores recommended
Best forMost serversSurvival with tweaksVery large, spread-out servers

Switching Between Them

  • Paper → Purpur: swap the jar and keep the same Minecraft version. Plugins, worlds and Paper configs stay, and Purpur adds purpur.yml.
  • Purpur → Paper: also a jar swap, but anything you enabled in purpur.yml stops working.
  • Paper → Folia: test on a copy first, and remove every plugin without Folia support.

On EternalZero, Paper, Purpur and Folia are all in the Versions Changer. Create a backup in the Backups tab before you switch. Our backup guide explains how to restore if something goes wrong.

Wrapping Up

Start with Paper. It is the safe default, and almost every plugin supports it.

Switch to Purpur when you want its extra settings, since it costs you nothing in plugin support. Only look at Folia when you have hundreds of players spread out and the hardware to match.