Skip to main content
Back to Category

How to Set Up a Minecraft Server: Paper Installation Guide

Complete Minecraft server setup guide on REXE VDS: Paper/Spigot installation, Java configuration, plugin management, and performance optimization for stable gameplay.

Read time: 11 min Game Server Setup
minecraftpaperspigotjavagame serverpluginsminecraft server setup

Table of Contents

Introduction

Minecraft is one of the most popular games in the world, and running your own server gives you full control over the gameplay experience. This guide covers setting up a Minecraft Java Edition server using Paper (recommended) on your REXE VDS.

Recommended specs: 4 CPU cores, 8GB RAM for 20-30 players. Scale up for more players or heavy modpacks.

Step 1: Install Java

Minecraft requires Java 17 or newer:

hljs bash
# Ubuntu/Debian
sudo apt update
sudo apt install -y openjdk-21-jre-headless

# Verify installation
java -version

Step 2: Create Server Directory

hljs bash
sudo adduser minecraft --disabled-password --gecos ""
sudo su - minecraft
mkdir -p ~/server
cd ~/server

Step 3: Download Paper

Paper is the recommended server software — it's a high-performance fork of Spigot:

hljs bash
# Download latest Paper build
wget -O paper.jar https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/latest/downloads/paper-1.21.4-latest.jar

Step 4: First Run and EULA

hljs bash
java -Xms2G -Xmx6G -jar paper.jar --nogui

The server will stop and create an eula.txt file. Accept the EULA:

hljs bash
sed -i 's/eula=false/eula=true/' eula.txt

Step 5: Server Configuration

Edit server.properties:

hljs properties
server-port=25565
max-players=30
view-distance=10
simulation-distance=8
network-compression-threshold=256
online-mode=true

Step 6: JVM Optimization

Create a start script with optimized JVM flags:

hljs bash
#!/bin/bash
java -Xms4G -Xmx6G \
  -XX:+UseG1GC \
  -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC \
  -XX:G1NewSizePercent=30 \
  -XX:G1MaxNewSizePercent=40 \
  -XX:G1HeapRegionSize=8M \
  -jar paper.jar --nogui

Set -Xms and -Xmx to the same value to prevent JVM from constantly resizing the heap.

Step 7: Path Panel Firewall

hljs yaml
Protocol: TCP
Destination Port: 25565
Filter: Minecraft Java Edition
Comment: "Minecraft server"

Step 8: Running as a Service

hljs ini
[Unit]
Description=Minecraft Server
After=network.target

[Service]
Type=simple
User=minecraft
WorkingDirectory=/home/minecraft/server
ExecStart=/home/minecraft/server/start.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Plugin Management

Place plugin .jar files in the plugins/ directory:

hljs bash
cd ~/server/plugins/
wget PLUGIN_DOWNLOAD_URL

Restart the server to load new plugins.

Performance Tips

  • Use Paper instead of vanilla or Spigot for best performance
  • Reduce view-distance and simulation-distance for better TPS
  • Pre-generate world chunks with Chunky plugin
  • Monitor TPS with /tps command (20 TPS = perfect)
  • Use Spark plugin for detailed performance profiling

Avoid allocating more RAM than needed. Excessive heap size can cause longer garbage collection pauses.