Skip to content
Bytearium

No ads or affiliate links active

Cloud & development

Running a Minecraft server on a VPS

Minecraft 26.1 and later needs Java 25. Add RAM sized by vendor rules, a systemd service, exactly one open port and a backup away from the server.

Every server guide starts with "install Java". Which Java is the part that quietly changed in March 2026.

The short answer

A Minecraft Java server on a rented VPS comes down to three decisions: the right Java, a sensible amount of RAM, and a service that brings the server back by itself. Minecraft 26.1 and later require Java 25 [2][3], and PaperMC lists Java 25 for 26.1 and newer as well [1]. On RAM the sources disagree because they describe different software: the Minecraft Wiki starts vanilla servers at 1 to 4 GB [4], while PaperMC recommends at least 6 to 10 GB "no matter how few players" [5]. Our assessment: for Paper, treat a plan with 8 GB as the smallest sensible start. For a small vanilla server with a few friends, 4 GB leaves room. Then watch your own world and adjust.

How it works

  1. Pick the Java first. PaperMC publishes a table of server versions and the Java they want: Java 17 for 1.17 to 1.19, Java 21 for 1.20 to 1.21.11, Java 25 for 26.1 and newer [1]. Mojang's release notes for 26.1 (24 Mar 2026) say the game now requires Java 25 [2], and the Minecraft Wiki names 26.3 as the current Java Edition version [4]. Three details trip people up. First, the PaperMC page opens with "requires at least Java 25", while its table still lists Java 21 for the 1.21 line [1]. The table is about the version you run, so read it with your exact version in hand. Second, the Minecraft Wiki's requirements page still lists the Java 21 step for 1.20.5 and does not mention 26.1, while its server tutorial states "Minecraft 26.1 or later requires Java 25" [3][4]. Third, older guides are simply from before the change. A German guide from 31 Oct 2025 tells readers to install openjdk-21-jre-headless [17]. That was right for the 1.21 era. With a 26.x server jar, Java 21 is below the stated minimum.
  2. Install a headless Java 25. "Headless" means a runtime without the graphical libraries; a server needs only the runtime, not the full JDK [3]. Ubuntu publishes openjdk-25-jre-headless for 26.04 and, in the universe component, for 24.04 and 22.04 [8]. Debian builds the openjdk-25 source package in 13 (trixie) [9]. On other systems, the Eclipse Adoptium project documents a package repository with names like temurin-25-jdk [10]. Check the result with java -version and look for 25.
  3. Size the RAM from vendor rules, not from plan names. Three documented starting points, each for different software: [4] lists, for a vanilla server on default settings and a new world, 1 GB for 1 to 4 players, 2 GB for 5 to 10 and 4 GB for more; [3] says at least 2 GB for small servers and 4 GB for larger ones; [5] recommends 6 to 10 GB for Paper. The vanilla figures grow quickly with world age, redstone and mob farms [4]. PaperMC adds a rule that matters on a VPS: Java needs memory beyond the heap, so set -Xmx and -Xms about 1,000 to 1,500 MB below the memory the host gives you. Its own example: an 8 GB host gets 6,500 MB [5]. PaperMC also warns that more memory stops helping at some point [5].
  4. Choose the VPS by criteria. The Minecraft Wiki's checklist for hosts applies to a raw VPS too: single-thread CPU speed, guaranteed versus shared resources, location close to your players, backups and refunds [3]. A Minecraft server mostly uses one core, so per-core speed beats core count [3][4]. Compare what vendors actually state. The table below uses only vendor pages, retrieved 24 Oct 2026. These are statements, not measurements, and neither provider names a clock speed for these plans.
  5. Create a user, fetch Paper, accept the EULA yourself. Run the server as its own unprivileged user. PaperMC's downloads service delivers builds over a REST API and demands a User-Agent header that identifies you with a contact address; generic curl headers are not accepted [7]. After the first start the server writes eula.txt; changing eula=false to eula=true is your agreement with Mojang, so read it first and do it by hand [3].
  6. Run it as a service. A systemd unit starts the server at boot and restarts it after a crash [11]. A Java process that ends on SIGTERM exits with code 143, so SuccessExitStatus=143 stops systemd from calling a normal stop a failure [18]. One 2021 analysis of the decompiled 1.17.1 server found a shutdown hook that stops the server the same way the stop command does [18]. That is a third-party reading of an old version, so test it on yours: stop the service and look for the save messages in the journal.
  7. Open exactly one port. Java Edition listens on TCP 25565 by default [3]. With ufw, allow SSH before you enable the firewall, then allow the game port [12]. Also check the provider's own firewall panel, if it has one [15][16].
  8. Keep RCON and offline mode off the internet. The wiki warns that RCON is not encrypted and should ideally be reached from localhost only [13]. Leave online-mode on, because switching it off lets players with fake accounts join [13]. Use the whitelist for a private server [3].
  9. Back up away from the machine. PaperMC names what to save: world folders, server configuration, plugin configuration and plugin JARs, as rolling copies in a safe place [6]. Provider snapshots help, but they live with the same provider. Keep one copy elsewhere (see the 3-2-1 article).
Contabo Cloud VPSHostinger Game Panel
VirtualisationKVM, shared vCPU cores, fixed RAM [14]not stated on the page we read [16]
CPU as named by the vendorCore VPS: "multiple CPU generations"; Performance VPS: "latest AMD EPYC generations" [14]"AMD EPYC processors", no model [16]
Smallest plans (vCPU / RAM)4 vCPU / 8 GB [14]1 vCPU / 4 GB, then 2 vCPU / 8 GB [16]
Firewall and DDoSfree firewall and DDoS protection with every Cloud VPS [15]"built-in firewall and DDoS protection" [16]
Snapshots and backups1 to 3 snapshots on Core VPS; Auto Backup as an add-on [14][15]automatic backups and a manual snapshot [16]
Shell accessfull root access [15]full root access; server types include Paper [16]
Termintroductory pricing "for the first 24 months" on some plans [15]"all plans are paid upfront" for the chosen term [16]
Locations11 locations in 9 regions [14]North America, South America, Europe, Asia [16]

How to read it: Contabo sells a plain VPS, so you do steps 5 to 9 yourself. Hostinger's Game Panel is a panel on a VPS and installs a server type for you, so you skip some of the shell work and give up some control. The first is not better than the second; they fit different people. We have rented neither and rank neither. They appear because their pages state their specs openly. Bytearium may add partner links to some providers later. If we do, they are marked, and the criteria above do not change.

A worked example (calculation, not a test)

Say you want Paper for eight friends on a plan with 8 GB of RAM. We did not rent a server for this article, so this is arithmetic from the vendor rules above. PaperMC's example for an 8 GB host gives a 6,500 MB heap [5], which leaves about 1.7 GB for the operating system and Java's own overhead (8,192 minus 6,500 MB). The unit file below uses that value.

# /etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft server (Paper)
After=network-online.target
Wants=network-online.target

[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms6500M -Xmx6500M -jar paper.jar --nogui
SuccessExitStatus=143
TimeoutStopSec=90
Restart=on-failure
RestartSec=10
NoNewPrivileges=true
PrivateTmp=true

[Install]
WantedBy=multi-user.target

The setup around it, step by step:

sudo adduser --system --group --home /opt/minecraft minecraft
sudo apt install openjdk-25-jre-headless jq curl
sudo ufw allow OpenSSH
sudo ufw allow 25565/tcp
sudo ufw enable
sudo systemctl daemon-reload
sudo systemctl enable minecraft

Fetch the jar as the minecraft user (sudo -u minecraft ...) with PaperMC's documented endpoints: list the builds of your version at https://fill.papermc.io/v3/projects/paper/versions/<version>/builds, pick the first entry whose channel is STABLE, and download its downloads."server:default".url, always with your own descriptive User-Agent [7]. Run java -jar paper.jar --nogui once, set eula=true yourself, and only then start the service with sudo systemctl start minecraft; follow the log with journalctl -u minecraft -f. Test in this order: systemctl status minecraft, then ss -tln to see port 25565 listening, then join from a client, then sudo systemctl stop minecraft and read the journal for the world-saving lines. Run all of this on a throwaway server first.

Checklist

  • Check your exact Minecraft or Paper version against PaperMC's Java table before you install anything [1].
  • Install a headless Java 25 and confirm it with java -version.
  • Calculate the heap as the plan's RAM minus 1,000 to 1,500 MB, and set -Xms equal to -Xmx [5].
  • Compare plans on what the vendor states: virtualisation, shared or guaranteed resources, CPU wording, location [3][14].
  • Read the term, the renewal and the refund window before you pay.
  • Create a dedicated user, and run the server as a service with a restart rule.
  • Allow SSH first, then only TCP 25565, in the host firewall and in the provider panel [12].
  • Keep online-mode on, use the whitelist, and keep RCON off the internet [13].
  • Test a stop and a restart, and read the journal for the save messages.
  • Store a copy of the world away from the VPS [6], and restore it once on another machine.

Primary sources

These sources are the basis of this page. That does not mean every claim was checked individually; whether a review record exists is shown above under “Status”. The interpretation and checklist are our own work.

There is no documented review record for this version yet. The text relies on the sources listed.

How this page was made: Bytearium creates these pages with the help of AI and is responsible for publishing them. AI can be wrong, so we show our sources and review status openly.

  1. PaperMCGetting started
  2. Mojang StudiosMinecraft Java Edition 26.1
  3. Minecraft WikiTutorial: Setting up a Java Edition server
  4. Minecraft WikiServer/Requirements
  5. PaperMCAikar's flags
  6. PaperMCUpdating
  7. PaperMCDownloads Service
  8. UbuntuPackage search: openjdk-25-jre-headless
  9. DebianSource package openjdk-25 in trixie
  10. Eclipse AdoptiumLinux (RPM/DEB/APK) installer packages
  11. freedesktop.orgsystemd.service
  12. CanonicalFirewall
  13. Minecraft Wikiserver.properties
  14. ContaboVPS
  15. ContaboCloud VPS
  16. HostingerMinecraft server hosting
  17. hosting.deSo hostest Du Deinen eigenen Minecraft-Server
  18. Corwin KuiperMinecraft Server on SIGTERM / SIGINT

This page has no ads and no affiliate links.