Paper
The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies
Top Related Projects
Quick Overview
Paper is a high-performance fork of the Minecraft server software Spigot. It aims to improve performance, fix bugs, and add new features while maintaining compatibility with existing Bukkit plugins. Paper is widely used by Minecraft server administrators for its optimizations and enhancements.
Pros
- Significantly improved performance compared to vanilla Minecraft and Spigot servers
- Regular updates and active development, keeping up with the latest Minecraft versions
- Extensive configuration options for fine-tuning server behavior
- Maintains compatibility with most Bukkit and Spigot plugins
Cons
- Some plugins may not be fully compatible or may require updates to work with Paper
- Occasional breaking changes in configuration or API between major versions
- Slightly more complex setup compared to vanilla Minecraft servers
- May introduce new bugs or unexpected behavior due to its modifications
Getting Started
To set up a Paper Minecraft server:
- Download the latest Paper JAR file from the official website or GitHub releases.
- Create a new directory for your server and place the JAR file inside.
- Run the server using the command:
java -Xms2G -Xmx2G -jar paper.jar nogui
- Accept the EULA by editing the
eula.txt
file. - Restart the server and configure it as needed.
For more detailed instructions and configuration options, refer to the official Paper documentation.
Competitor Comparisons
A Minecraft mod designed to improve frame rates and reduce micro-stutter
Pros of Sodium
- Significantly improves client-side performance and FPS
- Lightweight and compatible with many other mods
- Focuses on optimizing rendering and chunk loading
Cons of Sodium
- Limited to client-side improvements only
- Not a complete server solution like Paper
- May require additional mods for full feature parity
Code Comparison
Sodium (rendering optimization):
public class ChunkRenderRebuildTask implements Runnable {
@Override
public void run() {
this.render.rebuildMesh();
}
}
Paper (server-side optimization):
public class ChunkTaskManager {
public CompletableFuture<Chunk> scheduleChunkLoad(int x, int z) {
return CompletableFuture.supplyAsync(() -> loadChunk(x, z), executor);
}
}
Sodium focuses on client-side rendering optimizations, while Paper provides comprehensive server-side improvements. Sodium is ideal for players seeking better performance on their own machines, whereas Paper is essential for server owners looking to enhance overall gameplay experience and server efficiency. While both projects aim to improve Minecraft performance, they target different aspects of the game and can be used complementarily for optimal results.
The modern, next-generation Minecraft server proxy.
Pros of Velocity
- Designed specifically for proxy servers, offering optimized performance for player routing
- Supports modern Minecraft protocol features and versions more efficiently
- Lighter weight and consumes fewer resources than a full server implementation
Cons of Velocity
- Limited to proxy functionality, cannot run as a standalone Minecraft server
- Requires additional setup and configuration alongside backend servers
- May have fewer plugins available compared to Paper's extensive ecosystem
Code Comparison
Paper (server implementation):
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
getCommand("example").setExecutor(this);
}
Velocity (proxy implementation):
@Subscribe
public void onProxyInitialization(ProxyInitializeEvent event) {
server.getCommandManager().register("example", new ExampleCommand());
}
The code snippets highlight the different approaches to plugin initialization and command registration between Paper (a full server implementation) and Velocity (a proxy server). Paper uses Bukkit-style plugin methods, while Velocity employs an event-driven system with annotations.
Essential hooks for modding with Fabric.
Pros of Fabric
- Lightweight and modular architecture
- Easier to create and maintain mods
- Better performance for modded servers
Cons of Fabric
- Smaller ecosystem compared to Paper
- Less out-of-the-box optimizations
- Limited plugin support
Code Comparison
Fabric mod initialization:
public class ExampleMod implements ModInitializer {
@Override
public void onInitialize() {
// Mod initialization code
}
}
Paper plugin initialization:
public class ExamplePlugin extends JavaPlugin {
@Override
public void onEnable() {
// Plugin initialization code
}
}
Fabric focuses on a modular approach, allowing developers to create mods that can be easily added or removed. This results in a more flexible and customizable server environment. However, Paper provides a more robust set of optimizations and features out of the box, making it easier for server administrators to set up and manage high-performance servers without extensive modding knowledge.
Fabric's smaller ecosystem means fewer available mods and resources compared to Paper's extensive plugin library. However, this can lead to better overall performance for heavily modded servers, as Fabric's architecture is designed to handle multiple mods efficiently.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Paper

The most widely used, high-performance Minecraft server that aims to fix gameplay and mechanics inconsistencies.
Support and Project Discussion:
How To (Server Admins)
Paperclip is a jar file that you can download and run just like a normal jar file.
Download Paper from our downloads page.
Run the Paperclip jar directly from your server. Just like old times
- Documentation on using Paper: docs.papermc.io
- For a sneak peek at upcoming features, see here
How To (Plugin Developers)
- See our API here
- See upcoming, pending, and recently added API here
- Paper API javadocs here: papermc.io/javadocs
Repository (for paper-api)
Maven
<repository>
<id>papermc</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.21.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
Gradle
repositories {
maven {
url = uri("https://repo.papermc.io/repository/maven-public/")
}
}
dependencies {
compileOnly("io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT")
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
}
How To (Compiling Jar From Source)
To compile Paper, you need JDK 21 and an internet connection.
Clone this repo, run ./gradlew applyPatches
, then ./gradlew createMojmapBundlerJar
from your terminal. You can find the compiled jar in the paper-server/build/libs
directory.
To get a full list of tasks, run ./gradlew tasks
.
How To (Pull Request)
See Contributing
Old Versions (1.21.3 and below)
For branches of versions 1.8-1.21.3, please see our archive repository.
Support Us
First of all, thank you for considering helping out, we really appreciate that!
PaperMC has various recurring expenses, mostly related to infrastructure. Paper uses Open Collective via the Open Source Collective fiscal host to manage expenses. Open Collective allows us to be extremely transparent, so you can always see how your donations are used. You can read more about financially supporting PaperMC on our website.
You can find our collective here, or you can donate via GitHub Sponsors here, which will also go towards the collective.
Special Thanks To:
YourKit, makers of the outstanding java profiler, support open source projects of all kinds with their full featured Java and .NET application profilers. We thank them for granting Paper an OSS license so that we can make our software the best it can be.
JetBrains, creators of the IntelliJ IDEA, supports Paper with one of their Open Source Licenses. IntelliJ IDEA is the recommended IDE for working with Paper, and most of the Paper team uses it.
Top Related Projects
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot