How to Set Up a Minecraft Server on a VDS: Full Guide

How to Set Up a Minecraft Server on a VDS: Full Guide

Set up a Minecraft Java Edition server on a VDS: choosing server software, installing plugins, JVM and performance tuning, and picking the right hosting.

White Bilişim

How to Set Up a Minecraft Server on a VDS

Running a Minecraft server is one of the most popular things people do in gaming. Whether you just want to play with friends or grow a large community, a solid game server package gets you a professional Minecraft experience. This guide walks through the whole process from scratch.

System Requirements for a Minecraft Server

Server performance follows hardware quality directly. Here is what we recommend by player count:

PlayersCPURAMSSDNetwork
1-102 cores2 GB30 GB100 Mbps
10-304 cores4-6 GB50 GB1 Gbps
30-506 cores8 GB80 GB1 Gbps
50-1008+ cores12-16 GB100+ GB10 Gbps

💡 White Bilişim Xeon Enterprise VDS packages run on Intel Xeon Gold 6230R processors and perform excellently for Minecraft. The 10 Gbps network keeps ping low for your players.

Step 1: Choosing the VDS

What to look for when picking a VDS for Minecraft:

  • Processor clock speed: Minecraft is sensitive to single core performance
  • RAM capacity: budget roughly 100-200 MB of RAM per player
  • SSD storage: it directly affects chunk loading speed
  • DDoS protection: popular servers are attacked constantly
  • Location: host close to your player base

Step 2: Installing Java

The Minecraft Java Edition server needs Java:

# Installing Java 21 on Ubuntu/Debian
sudo apt update
sudo apt install openjdk-21-jre-headless -y
 
# Check the Java version
java -version

On Windows Server you can install Java from Oracle JDK or Adoptium.

Step 3: Choosing Server Software

You will need to pick a server implementation:

SoftwareStrengthVerdict
PaperOptimized, plugin support✅ Recommended for most
SpigotPlugin support, widely usedGood alternative
VanillaOfficial Mojang serverPlain experience
PurpurPaper based, extra featuresFor advanced users
FabricMod supportFor modded servers

Downloading Paper

# Create the server directory
mkdir /home/minecraft
cd /home/minecraft
 
# Download the Paper server
wget https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/LATEST/downloads/paper-1.21.4-LATEST.jar -O server.jar

Step 4: Starting the Server

For the first launch:

# Start command (Linux)
java -Xms2G -Xmx4G -jar server.jar nogui
 
# Accept the EULA
echo "eula=true" > eula.txt
 
# Start again
java -Xms2G -Xmx4G -jar server.jar nogui

Creating a Startup Script

A startup script makes the server much easier to manage:

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

These JVM flags tune garbage collection and lift server performance noticeably.

Step 5: Configuring server.properties

# Basic settings
server-port=25565
max-players=50
view-distance=10
simulation-distance=8
motd=Your Server Name | whitebilisim.com
online-mode=true
 
# World settings
level-seed=
level-type=minecraft:normal
difficulty=normal
gamemode=survival
pvp=true
 
# Performance settings
network-compression-threshold=256
max-tick-time=60000

Step 6: Installing Plugins

To add plugins to a Paper or Spigot server:

  1. Download the plugin from SpigotMC or Modrinth
  2. Copy the .jar file into the plugins/ folder
  3. Restart the server

Essential Plugins We Recommend

  • EssentialsX: core commands and administration
  • LuckPerms: permission management
  • WorldGuard + WorldEdit: region protection
  • Vault: economy API
  • CoreProtect: block logging and rollback
  • Spark: performance profiling

Minecraft Server Performance Tuning

paper-global.yml Settings

chunk-system:
  gen-parallelism: default
  io-threads: -1
  worker-threads: -1
 
collisions:
  enable-player-collisions: true
  send-full-pos-for-hard-colliding-entities: true
 
misc:
  max-joins-per-tick: 5

Performance Tips

  1. Lower the view distance: 8-10 is the sweet spot
  2. Profile the server: find bottlenecks with /spark profiler
  3. Pre-generate chunks: build the map ahead of time
  4. Set entity limits: cap the mob counts
  5. Drop unused plugins: every plugin adds load

Infrastructure for Large Minecraft Servers

Once you are past 50 concurrent players, strong hardware stops being optional.

🚀 Our Ryzen Premium VDS packages use AMD Ryzen Threadripper PRO 5975WX processors and deliver outstanding Minecraft performance. The high single core speed keeps your TPS (ticks per second) pinned at 20.

Setting Up a Proxy (BungeeCord/Velocity)

If you run more than one server, Velocity lets you link them into a network:

# Download Velocity
wget https://api.papermc.io/v2/projects/velocity/versions/3.4.0/builds/LATEST/downloads/velocity-3.4.0-LATEST.jar
 
# Start it
java -Xms512M -Xmx1G -jar velocity.jar

White Bilişim Package Suggestions for Minecraft

Server TypePackageSpecsPrice
Survival (1-20)ENT-22 cores, 4 GB RAM240 TRY/month
SMP (20-40)ENT-46 cores, 8 GB RAM400 TRY/month
Network (40-80)PRO-36 Ryzen cores, 8 GB RAM800 TRY/month
Mega network (100+)PRO-612 Ryzen cores, 16 GB RAM1,600 TRY/month

Conclusion

Running a Minecraft server is quite easy with the right infrastructure behind it. White Bilişim provides professional Minecraft hosting from Istanbul, with a 10 Gbps network, free daily backups and 24/7 technical support.

👉 Take a look at our Xeon Enterprise VDS packages, or the Ryzen Premium VDS range for heavier servers.