Running your own Minecraft server on a VPS gives you a server that is online all day, with full control over plugins, rules and performance, and no need to leave your own computer on. This guide shows how to set up a Minecraft Java Edition server on a Linux VPS, step by step.
What You Need
- A VPS with a fast CPU, enough RAM and NVMe storage. For sizing, see Minecraft Server Requirements and Optimization Tips.
- Linux, for example a recent Ubuntu or Debian.
- Java. Recent Minecraft versions need a recent Java version (Java 21 for current versions). Check the requirement for the version you want to run.
- A server jar. Most owners use Paper, a faster version of the standard server that supports plugins. Plain vanilla, Fabric and others also work.
Step 1: Prepare The VPS
Connect over SSH, update the system and create a normal user to run the server instead of using root. Set up a firewall too. The guide How to Secure a Linux VPS for Your Game Server explains each step.
sudo apt update && sudo apt upgrade -y
sudo adduser minecraft
Step 2: Install Java
sudo apt install openjdk-21-jre-headless -y
java -version
If your distribution does not offer the version you need, install it from a trusted vendor repository.
Step 3: Download The Server
Log in as the new user and create a folder for the server. Download the Paper jar for your chosen version from the official Paper website and save it in that folder, for example as paper.jar.
mkdir ~/server && cd ~/server
# download the jar from the official Paper downloads page, then:
java -Xms2G -Xmx2G -jar paper.jar --nogui
The first run stops with a message about the licence agreement. Open eula.txt and change eula=false to eula=true to accept it, then start the server again.
Step 4: Configure The Server
Edit server.properties. The most useful settings are:
motd: the text shown in the server list.max-players: the player limit.view-distanceandsimulation-distance: lower values reduce load.online-mode: keep ittrueso players must have a real account. Only turn it off if you know exactly why.white-list: set it totruefor a private server.
Step 5: Open The Port
Minecraft Java uses port 25565 over TCP by default. Allow it in your firewall:
sudo ufw allow 25565/tcp
Make sure SSH is allowed before you enable the firewall, or you can lock yourself out.
Step 6: Keep It Running
If you start the server in your SSH session, it stops when you disconnect. Run it inside screen or tmux, or better, as a system service that starts on boot and restarts after a crash. A basic service file runs your java command as the minecraft user in the server folder.
Step 7: Back Up
Back up the world folder and configuration regularly, and always before updates or when you add plugins. A simple scheduled script that archives the world and copies it off the server is enough to start. A backup that lives only on the same machine does not protect you from a failed disk.
Step 8: Add Plugins Carefully
Paper supports Bukkit and Spigot plugins for features such as permissions, claims, shops and minigames. Download only from trusted sources, add them one at a time and read the logs after each restart. Too many plugins, or low-quality ones, are a common cause of lag.
Bedrock And Cross-Play
Java and Bedrock players use different versions of the game. If you want both to join, a common option is a plugin like Geyser that lets Bedrock players connect to a Java server. It adds some setup and load, so test it before you rely on it.
Protect Your Server
Public Minecraft servers are common targets for DDoS attacks, and the attacker only needs your IP. Pick hosting with network-level protection. You can read how it works in How DDoS Protection Works for Game Servers. Linceris.com VPS packages run behind DataForest.net DDoS protection.
Ready To Start?
Look at our VPS packages. They run in Frankfurt am Main, Germany, with fast Ryzen 9 CPUs and NVMe storage. If your server grows into a network of several servers, a bigger VPS package gives you room.
Related Guide
See How To Protect A Minecraft Server for the matching guide.