Paper is the most popular Minecraft Java server software for plugin-based servers. It’s a high-performance fork of Spigot (itself a Bukkit fork), runs Bukkit/Spigot plugins, fixes many vanilla bugs and exploits, and adds a lot of configuration for performance. If you want plugins (permissions, protection, economies, minigames), Paper is the default choice.

New to Minecraft servers? Start with Minecraft Java server on Linux.

Requirements

  • Java 21 (for current Minecraft versions). See install Java.
  • 2–4 vCPU and 4–8 GB RAM for 10–30 players. Single-thread CPU speed matters most.
  • Port 25565/tcp.

Install Paper

sudo apt install -y openjdk-21-jre-headless
sudo adduser --disabled-password --gecos "" minecraft
sudo -iu minecraft
mkdir paper && cd paper
# download the latest build for your version from papermc.io/downloads (or via its API)
wget -O paper.jar "https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/<build>/downloads/paper-1.21.4-<build>.jar"
echo "eula=true" > eula.txt

Start script with good JVM flags

#!/bin/bash
# start.sh — "Aikar's flags", widely recommended for Paper
java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
  -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M \
  -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 \
  -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 \
  -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem \
  -XX:MaxTenuringThreshold=1 -jar paper.jar --nogui

Set -Xms and -Xmx to the same value, and leave 1–2 GB of RAM for the operating system. Run it in tmux or as a systemd service. See tmux and systemd unit files.

Essential plugins

Download plugins from Hangar (PaperMC’s repository), Modrinth or SpigotMC, and put the .jar files into plugins/. Then restart (avoid /reload).

Plugin Purpose
LuckPerms Permissions and groups (web editor)
EssentialsX /home, /spawn, /tpa, kits, warps, chat
CoreProtect Block logging and rollback for griefing
WorldGuard + WorldEdit Region protection and building tools
Vault Economy/permissions API used by many plugins
Geyser + Floodgate Let Bedrock players (phones, consoles) join a Java server
Chunky Pre-generate the world to avoid lag while exploring
spark Profiler for finding lag
DiscordSRV Chat bridge to Discord

Keep the plugin list lean, because each plugin adds load and attack surface. Only download plugins from trusted sources, since malicious plugins exist.

Permissions with LuckPerms

/lp creategroup member
/lp group member permission set essentials.home true
/lp group default parent add member
/lp user YourName parent set admin
/lp editor          # opens the web editor

Performance configuration

Paper’s configs live in config/paper-global.yml and config/paper-world-defaults.yml, plus spigot.yml and bukkit.yml. Common tweaks:

  • server.properties: view-distance=8, simulation-distance=6 (big savings with many players).
  • Entity limits and despawn ranges in paper-world-defaults.yml.
  • Pre-generate the world with Chunky (/chunky radius 5000, /chunky start), and set a world border.
  • Use spark (/spark profiler) to find what causes lag.

Geyser for Bedrock players

With Geyser and Floodgate installed, Bedrock players connect to your server’s IP on UDP port 19132:

sudo ufw allow 25565/tcp
sudo ufw allow 19132/udp

See UFW and Bedrock server.

Updating

Back up first, then replace paper.jar with a newer build of the same Minecraft version. For a new Minecraft version, wait until your essential plugins support it. See backup strategy.

Backups

Back up the world folders (world, world_nether, world_the_end) and plugins/ (configs and data). Use save-off, then save-all, copy, then save-on, or a backup plugin.

Quick reference

Item Value
Java 21
Port 25565/tcp (+19132/udp for Geyser)
Plugins folder plugins/
Main configs config/paper-*.yml, spigot.yml, server.properties
Profiler spark

Related: modded Minecraft with Forge or Fabric and game server VPS.

  • Game Server
  • Minecraft
  • Linux