How to Set Up a Paper Server

Updated · MCJarHub

Download the Paper jar for your Minecraft version, install the Java version it needs, start it with java -Xms4G -Xmx4G -jar paper.jar --nogui, accept the EULA, and drop Bukkit/Spigot/Paper plugins into plugins/.

1. Pick the Paper version

Choose the Minecraft version your players and plugins use. On the Paper download page every version shows its Java requirement, latest build, SHA-256 and whether PaperMC still supports it.

Newest stable Paper right now: Paper 26.3 build 227 (Java 25).

PaperMC labels builds for a brand-new Minecraft version as experimental (alpha/beta) until they are ready. They are fine for testing; for a live server wait for a stable build and for your plugins to update.

2. Install Java

Each Paper version needs at least the Java version Mojang requires for that Minecraft version — for example Java 21 for 1.20.5–1.21.11 and Java 25 for 26.x. The requirement is shown on every Paper version page. Check with java -version.

3. Download and start

  1. Create an empty folder and download the Paper jar into it (the file is named like paper-1.21.11-132.jar). Optionally verify its SHA-256.
  2. Start it with PaperMC's short command:
    java -Xms4G -Xmx4G -jar paper.jar --nogui
    (replace paper.jar with your file name).
  3. The first start stops after creating eula.txt. Set eula=true to accept the Minecraft EULA and start again.
  4. Join with a Java Edition client of the same version on localhost (or your server's IP; port 25565).

4. Use a start script with Aikar's flags

PaperMC recommends Aikar's G1 garbage-collector flags for servers with several GB of memory. A Linux/macOS start.sh:

#!/bin/sh
cd "$(dirname "$0")"
java -Xms6G -Xmx6G -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1HeapRegionSize=8M -XX:G1HeapWastePercent=5 -XX:G1MaxNewSizePercent=40 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1NewSizePercent=30 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -XX:MaxGCPauseMillis=200 -XX:MaxTenuringThreshold=1 -XX:SurvivorRatio=32 -jar paper.jar --nogui

Windows: put the same java … line into start.bat and add pause on the next line. Set -Xms and -Xmx to the same value and leave 1–1.5 GB for the operating system — see how much RAM. The start script generator writes this for you.

5. Add plugins

Put plugin .jar files into the plugins/ folder and restart the server (don't use /reload). Paper runs Bukkit, Spigot and Paper plugins. Plugins have full access to your server, so install them only from sources you trust.

To update plugins without downtime, Paper supports an update folder: create plugins/update/, put the new plugin jars there, and they replace the old ones on the next restart.

6. The config files

FileControls
server.propertiesVanilla settings: port, MOTD, whitelist, view distance, online mode
bukkit.yml, spigot.ymlSettings inherited from CraftBukkit and Spigot (spawn limits, entity activation ranges…)
config/paper-global.ymlPaper settings for the whole server, including proxy forwarding (proxies.velocity)
config/paper-world-defaults.ymlDefault Paper settings for every world
<world>/paper-world.ymlPer-world overrides of those defaults

Paper 1.18.2 and older used a single paper.yml instead of the config/ files.

Coming from Vanilla or Spigot?

Paper is a drop-in replacement for Spigot and CraftBukkit: stop the server, swap the jar, start. From vanilla, Paper converts the world on the first start (it stores the Nether and End as separate world folders). Back up first — see updating safely. Not sure Paper is the right choice? Read Paper vs Spigot vs Purpur.

FAQ

Can I switch from Vanilla or Spigot to Paper?
Yes. Paper is a drop-in replacement for Spigot and CraftBukkit and converts vanilla worlds automatically on the first start. Back up first — you cannot go back to an older version afterwards.
What is the difference between stable and experimental Paper builds?
New Minecraft versions first get experimental builds while PaperMC fixes issues. Use them for testing; move a live server once stable builds are out.