Minecraft Java server on VPS: mods, plugins, RAM selection

calendar_month May 08, 2026 schedule 8 min read visibility 10 views
person
Valebyte Team
Minecraft Java server on VPS: mods, plugins, RAM selection

To run a stable minecraft server on a vps for 5-10 players, a minimum of 4 GB RAM and a high-frequency CPU (from 3.0 GHz) is required, while heavy modded builds (minecraft modded) need from 8 GB to 16 GB of RAM and an NVMe drive for fast chunk loading.

Java Edition vs Bedrock: technical aspects of platform choice

The choice between Java and Bedrock determines not only the player base but also the hardware requirements. Java Edition is written in Java, making it extremely demanding on single-threaded CPU performance and RAM volume due to the Garbage Collector (GC) operation. Bedrock Edition, written in C++, consumes significantly fewer resources but has strict limitations on customization and modifications.

Java Edition features for administrators

Java Edition remains the standard for community building. The main load falls on a single CPU core. Even if you have a 16-core server, the main game thread (tick loop) will be processed by one core. Therefore, when choosing minecraft server hosting, it is critical to look at the clock speed rather than the number of cores. For a smooth game without "Can't keep up!" messages, the frequency should be above 3.2 GHz.

Bedrock and cross-platform play via GeyserMC

If your goal is to unite PC and mobile players, it's optimal to use a Java server with the GeyserMC plugin installed. This allows Bedrock players to connect to a Java world. In this scenario, RAM load increases by about 1-2 GB, as the server needs to translate data packets between protocols on the fly. This is a more efficient path than maintaining a separate Bedrock server with its meager plugin functionality.

How much RAM is needed for a minecraft server on a vps: calculations and reality

RAM is the most important resource after CPU frequency. In Minecraft Java Edition, memory is spent on storing loaded chunks, entities (mobs, items on the ground), and caching plugin data. A lack of RAM will lead to constant freezes due to frequent memory cleanup cycles by the Java Virtual Machine.

Table of recommended specifications based on load

Server Type Number of Players Recommended RAM Disk Type Recommended CPU
Vanilla (pure) 1-5 2-4 GB SSD / NVMe 2 vCPU @ 2.5+ GHz
Paper / Purpur (plugins) 10-20 6-8 GB NVMe 2-4 vCPU @ 3.0+ GHz
Minecraft modded (Forge/Fabric) 5-10 8-12 GB NVMe 4 vCPU @ 3.5+ GHz
Heavy modpacks (200+ mods) 10+ 16+ GB NVMe (RAID 1) Dedicated CPU Cores

Why 4GB is the necessary minimum

While Minecraft can run on 2GB, the operating system (Ubuntu/Debian) will take about 500-700 MB. The remaining volume won't be enough for the Garbage Collector to work stably when loading new territories. When memory is low, the server starts "swapping" (using a swap file on the disk), which kills TPS (Ticks Per Second) to unplayable levels. If you are planning a long-term project, you should consider migrating from Hetzner to Valebyte, where high-frequency core configurations critical for Java are available.

Looking for a reliable server for your projects?

VPS from $10/mo and dedicated servers from $9/mo with NVMe, DDoS protection, and 24/7 support.

View offers →

Choosing a server core: Paper, Purpur, Forge, or Fabric

The core (server software) determines how efficiently the server will use VPS resources. Using the standard minecraft_server.jar from Mojang on public servers is a technical mistake, as it contains no game logic optimizations.

Optimized cores for plugins

  • PaperMC: The most popular core. Fixes vanilla bugs, optimizes entity descriptors and chunk loading. Ideal for most servers.
  • Purpur: A fork of Paper with even more performance settings and the ability to customize game mechanics (e.g., damage multipliers or mob behavior).

Cores for mods: forge fabric server

If your goal is minecraft mods that change gameplay (IndustrialCraft, Create, Twilight Forest), you need to choose between Forge and Fabric. Forge fabric server is an eternal rivalry. Forge is older and heavier, supporting a massive library of classic mods. Fabric is modern, lightweight, providing much higher FPS and faster server startup, though its mod library is currently smaller, albeit growing rapidly.

Technical setup of minecraft modded on a VPS

Installing a modified server requires manual JVM argument configuration. A simple launch via java -jar is not enough for stable operation under load.

Installing a Fabric server on Ubuntu

# Update packages and install OpenJDK 21 (for versions 1.20.x+)
sudo apt update && sudo apt install openjdk-21-jre-headless screen -y

# Create server folder
mkdir mc-server && cd mc-server

# Download Fabric installer (replace version with the current one)
wget https://maven.fabricmc.net/net/fabricmc/fabric-installer/1.0.1/fabric-installer-1.0.1.jar

# Run the server-side installation
java -jar fabric-installer-1.0.1.jar server -downloadMinecraft

Startup optimization via Aikar's Flags

To prevent lags related to memory cleanup, professional administrators use Aikar's flags. These are specific G1 Garbage Collector settings that minimize "Stop-the-world" pauses. Example startup string for 8 GB RAM:

java -Xms8G -Xmx8G -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 -Dusing.aikars.flags=https://mcflags.emc.gs -Dterminal.jline=false -jar fabric-server-launch.jar nogui

It is important to set Xms (initial memory) equal to Xmx (maximum memory) so that Java reserves the entire volume immediately and doesn't waste resources on dynamic heap expansion. When scaling a project, more powerful hardware is often required, making AWS EC2 alternative for backend a relevant topic for budget savings without losing performance.

Essential plugins for management and security

Even if you are building a server for friends, a basic set of plugins is necessary to prevent griefing and manage access rights. Most plugins work on Paper/Purpur cores.

LuckPerms: hierarchy and permissions

This is the de facto standard for permissions management. It allows you to create groups (Admin, VIP, Player) and assign them specific permissions. For example, preventing regular players from using the /stop or /give commands. LuckPerms has a convenient web editor launched with the /lp editor command.

EssentialsX and WorldGuard

  • EssentialsX: Adds over 100 basic commands: /home, /spawn, /tpa, economy, and a kit system.
  • WorldGuard: Allows protecting territories (regions). Without it, any player can destroy the spawn or other players' buildings. Works in tandem with WorldEdit.
  • CoreProtect: Logs every action (placed or broken block). If someone blows up your house with TNT, CoreProtect allows you to roll back changes in that specific area in 10 seconds.

The Shared CPU problem on cheap hostings

Many beginners make the mistake of choosing the cheapest VPS with "shared" cores. In Minecraft, this is critical. If your "neighbor" on the physical server starts compiling code or rendering video, your server will instantly get a ping spike and a TPS drop, as the hypervisor scheduler takes CPU time away from your process.

Why "honest" vCPU matters

For a minecraft server on a vps, tick time stability is extremely important. On a high-quality hosting, you get isolated resources. If you feel your current provider is limiting performance, it's worth considering the Contabo vs Valebyte comparison to understand where you get real power versus "overselling".

Disk subsystem benchmark

Minecraft constantly writes data to region files (MCA). If the disk is slow, players will see "holes" in the world when flying fast with elytra. NVMe disks show random read/write speeds dozens of times higher than regular SSDs, which is critical for modded servers where the amount of data in a single chunk can be 5-10 times more than vanilla.

Backup and automation

Losing a world due to a mod error or file system corruption is every administrator's nightmare. Setting up backups should be the first step after installing the core.

Automatic backup script

A simple bash script run via cron can save hundreds of hours of player work. It is recommended to store backups on external storage or another VPS.

#!/bin/bash
# Path to server folder
SERVER_DIR="/home/mcuser/mc-server"
# Path to backup folder
BACKUP_DIR="/home/mcuser/backups"
# File name format
DATE=$(date +%Y-%m-%d_%H-%M)

# Notify players (if using screen)
screen -S minecraft -X stuff "say Backup is starting...^M"
screen -S minecraft -X stuff "save-off^M"
screen -S minecraft -X stuff "save-all^M"
sleep 5

# Create archive
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz $SERVER_DIR

# Re-enable saving
screen -S minecraft -X stuff "save-on^M"
screen -S minecraft -X stuff "say Backup complete!^M"

# Delete backups older than 7 days
find $BACKUP_DIR -type f -mtime +7 -name "*.tar.gz" -delete

To ensure minimal latency for players from different regions, it is important to choose the right data center location. You can read more about this in the article on Vultr vs Valebyte: VPS hosting with minimal latency.

Security: protection against DDoS and unauthorized access

Minecraft servers are often targets of simple botnet attacks. The standard port 25565 is known to everyone. The first rule is to never run the server as the root user. Create a separate minecraft user with limited privileges.

Firewall configuration (UFW)

Close all ports except the necessary ones. If you use plugins like Dynmap (web map), open port 8123 only for your IP or protect it via an Nginx reverse proxy.

sudo ufw allow 22/tcp
sudo ufw allow 25565/tcp
sudo ufw enable

Bot protection

Use plugins like AuthMeReloaded (for cracked servers) or AntiBot. They prevent mass bot connections that can clog the channel and overflow RAM with connection sessions. It is also recommended to enable a white-list if you are playing with a private group.

Conclusions

To run a stable Minecraft server on a VPS, choose plans with NVMe disks and a CPU frequency above 3.0 GHz, allocating at least 4 GB of RAM for the vanilla version and from 8-12 GB for modded builds. Use optimized cores like Purpur or Fabric and be sure to set up automatic backups along with Aikar's flags for stable TPS.

Ready to choose a server?

VPS and dedicated servers in 72+ countries with instant activation and full root access.

Start now →

Share this post:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.