Running your own Minecraft server gives you full control over gameplay, mods, and who gets to join your world. Whether you're setting up a small survival server for friends or launching a large public network, choosing the right hosting approach and configuring your server correctly makes all the difference. This guide walks you through every step of Minecraft server hosting, from picking the right server software to optimizing performance under heavy load.
Types of Minecraft Server Software
Before you host a Minecraft server, you need to decide which server software to run. Each option serves a different purpose, and your choice affects performance, mod compatibility, and plugin support.
- Vanilla — The official Mojang server JAR. No plugin or mod support, but it's the purest Minecraft experience. Best for small groups who want an unmodified game.
- Paper — A high-performance fork of Spigot with significant optimizations and bug fixes. Paper is the most popular choice for Minecraft server hosting because it supports Bukkit/Spigot plugins while delivering much better tick performance.
- Spigot — Built on CraftBukkit, Spigot adds plugin support and basic performance improvements. Paper has largely superseded it, but some legacy plugins still target Spigot specifically.
- Fabric — A lightweight, modular mod loader focused on client and server-side mods. Ideal for modded survival servers that use Fabric-exclusive mods.
- Forge — The original modding platform with the largest mod ecosystem. Forge servers are heavier on resources but give you access to thousands of content mods, tech mods, and modpacks.
For most server owners, Paper is the best starting point. It's fast, stable, and compatible with the vast majority of Bukkit and Spigot plugins.
Hardware Requirements for Minecraft Servers
Minecraft is deceptively resource-hungry. The server runs on a single main thread for tick processing, which means single-core CPU speed matters far more than core count. Here's what you need to plan for:
RAM Requirements
- 1-5 players: 2-3 GB RAM
- 5-15 players: 4-6 GB RAM
- 15-30 players: 6-8 GB RAM
- 30-50+ players: 10-12 GB RAM
- Heavy modpacks (Forge/Fabric): Add 2-4 GB on top of the above estimates
CPU and Storage
Aim for a CPU with a single-thread clock speed of at least 3.5 GHz. AMD Ryzen and Intel Xeon E-series processors are popular choices in the hosting world. For storage, an NVMe SSD is strongly recommended — chunk loading and world saves are I/O intensive, and spinning disks create noticeable lag spikes.
Self-Hosting vs. Managed Hosting vs. VPS
There are three main approaches to hosting a Minecraft server, each with distinct trade-offs.
- Self-hosting (home network): Free, but limited by your upload speed, power costs, and the fact that your IP is exposed. Not suitable for public servers.
- Managed Minecraft hosting: Easy to use with one-click installers and control panels. Convenient but often restrictive — you share resources with other customers and have limited control over the underlying system.
- VPS / Dedicated server: Full root access, dedicated resources, and the ability to run multiple servers or services. A VPS gives you the best balance of cost, control, and performance for serious Minecraft server hosting.
A VPS is the sweet spot for most server owners. You get dedicated RAM and CPU cores, full SSH access, and the flexibility to configure everything exactly how you want it.
Setting Up a Paper Minecraft Server Step by Step
Here's how to get a Paper server running on a Linux VPS from scratch.
- Install Java: Paper requires Java 21 for Minecraft 1.21+. On Ubuntu/Debian, run sudo apt install openjdk-21-jre-headless.
- Create a server directory: Make a dedicated folder, e.g. mkdir ~/minecraft && cd ~/minecraft.
- Download Paper: Grab the latest build from papermc.io and place it in your server directory.
- First run: Launch with java -Xms2G -Xmx4G -jar paper.jar --nogui. The server will generate files and stop, asking you to accept the EULA.
- Accept the EULA: Open eula.txt and change eula=false to eula=true.
- Configure server.properties: Set your server port, max players, difficulty, MOTD, and whitelist preferences.
- Launch again: Start the server once more. Your Minecraft server is now live and accepting connections.
# Recommended startup script (start.sh)
#!/bin/bash
java -Xms4G -Xmx4G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-jar paper.jar --noguiEssential Plugins for Your Minecraft Server
Once your server is running, plugins transform it from a basic world into a fully managed community. Here are the must-haves:
- EssentialsX — The all-in-one toolkit: /home, /warp, /tpa, kits, economy basics, and dozens of utility commands. Almost every server runs it.
- LuckPerms — The industry-standard permissions plugin. Create groups (admin, moderator, member), assign permissions per-group, and manage everything through a clean web editor.
- WorldEdit — Powerful in-game building and editing tool. Essential for builders and for setting up spawn areas.
- Vault — An API bridge that connects economy and permissions plugins. Required by many plugins that need to check balances or permissions from other systems.
- CoreProtect — Block logging and rollback. When someone griefs a build, CoreProtect lets you see exactly who did it and restore the damage with a single command.
Server Optimization: Getting the Best Performance
A freshly installed Minecraft server runs with conservative defaults. Tuning these settings is critical, especially as your player count grows.
Paper Configuration Tweaks
- view-distance: Reduce from 10 to 6-8 in server.properties. This dramatically cuts chunk loading overhead.
- simulation-distance: Set to 4-6. Controls how far away from a player entities and redstone are ticked.
- mob-spawn-range: Lower to 4-6 in paper-world-defaults.yml. Reduces mob processing without a noticeable gameplay impact.
- entity-activation-range: Tighten the ranges so distant mobs tick less frequently.
- anti-xray: Paper has built-in anti-xray — enable engine-mode 2 for the best protection without needing a separate plugin.
Pre-Generating Chunks
Chunk generation is the single biggest source of lag spikes on a Minecraft server. Use the Chunky plugin to pre-generate your world within a set border before players join. A 5000-block radius pre-gen can take 30-60 minutes but eliminates generation lag during gameplay entirely.
DDoS Protection for Minecraft Servers
Public Minecraft servers are frequent targets for DDoS attacks. A single disgruntled player can take your server offline with a cheap booter service if you're unprotected. Here's how to defend against it:
- Choose a host with built-in DDoS mitigation: This is the simplest and most effective approach. Quality hosting providers include network-level DDoS filtering that scrubs malicious traffic before it reaches your server.
- Use a TCP proxy: Services like TCPShield or Cosmic Guard sit in front of your server, hiding its real IP address and filtering attack traffic.
- Firewall rules: Use iptables or ufw to restrict incoming connections to only the Minecraft port (default 25565) and SSH. Rate-limit new connections to slow down bot floods.
- Never share your server IP publicly: If you use a proxy, connect your domain to the proxy and keep the backend IP private.
If your hosting provider does not offer DDoS protection, your server is one attack away from extended downtime. Always verify protection is included before signing up.
Choosing the Right Hosting Plan
When evaluating Minecraft server hosting providers, focus on these factors: CPU clock speed (3.5 GHz+), NVMe storage, DDoS protection, and dedicated RAM (not shared or "burst" RAM). Avoid plans that oversell resources — if a deal looks too cheap, you're likely sharing a node with dozens of other servers.
At GoodLeaf, our game server plans are built on high-frequency processors with NVMe drives and DDoS-protected networks, giving your Minecraft server the stable, low-latency performance your players expect. Whether you're running a small Paper server or a large modded network, picking a plan with the right resources from the start saves you from lag complaints and costly mid-season migrations.
Frequently Asked Questions
How much RAM do I need to host a Minecraft server?+
For a small vanilla or Paper server with up to 10 players, 3-4 GB of RAM is sufficient. Modded servers (Forge or Fabric) need 6-10 GB depending on the modpack. Always leave headroom — if your server consistently uses 90%+ of its allocated RAM, it's time to upgrade.
Is it better to self-host or use a hosting provider?+
Self-hosting works for private servers with a few friends, but it exposes your home IP, depends on your upload bandwidth, and means downtime whenever your PC is off. A VPS or dedicated server from a hosting provider gives you 24/7 uptime, DDoS protection, better network routing, and no impact on your home connection.
What is the difference between Paper, Spigot, and Vanilla?+
Vanilla is the official Mojang server with no modifications. Spigot adds plugin support and minor performance tweaks. Paper is a fork of Spigot that includes significant performance optimizations, additional configuration options, and bug fixes. For most servers, Paper is the best choice because it's faster and supports the same plugins as Spigot.
How do I protect my Minecraft server from DDoS attacks?+
The most reliable protection comes from choosing a hosting provider that includes network-level DDoS mitigation. You can also place a TCP proxy like TCPShield in front of your server to hide its real IP. Additionally, configure your firewall to only allow traffic on necessary ports and rate-limit incoming connections.