How to Start a Minecraft Server: The Complete Hosting Guide
Everything you need to start a Minecraft server that runs smoothly — choosing server software, Java versions, resources, configuration, plugins, security and hosting options.
On this page
- Step 1: Decide what kind of server you’re running
- Step 2: Choose server software
- Step 3: Use the right Java version
- Step 4: Size the hardware
- Step 5: First-time configuration
- Step 6: Start with good JVM flags
- Step 7: Pre-generate the world
- Step 8: Install essential plugins
- Step 9: Secure it
- Step 10: Back up
- Where to host
- Summary
Starting a Minecraft server is easy; starting one that stays fast, safe and fun as players join is where most people stumble. This guide covers the whole path: picking server software, the right Java version, how much hardware you need, first-time configuration, essential plugins, security and where to host it.
Step 1: Decide what kind of server you’re running
Your choices flow from three questions:
- Java or Bedrock? Java Edition runs on PC and has the plugin and mod ecosystem. Bedrock covers consoles, phones and Windows. Most community servers run Java, and you can let Bedrock players join with Geyser — see letting Bedrock players join with Geyser.
- Plugins or mods? Plugins (Paper, Purpur) add server-side features without players installing anything. Mods (Fabric, Forge, NeoForge) change the game itself and usually require players to install the same modpack.
- One server or a network? A single survival world is simplest. Lobbies with several game modes need a proxy like Velocity.
Step 2: Choose server software
| Software | Type | Best for |
|---|---|---|
| Paper | Plugins | Almost every plugin server — fast, stable, huge ecosystem |
| Purpur | Plugins (Paper fork) | Paper plus extra gameplay configuration options |
| Spigot | Plugins | Legacy setups; Paper is faster and compatible with Spigot plugins |
| Fabric | Mods | Lightweight modding, performance mods, technical play |
| Forge / NeoForge | Mods | Large content modpacks |
| Velocity | Proxy | Connecting several servers into a network |
| Vanilla | None | Pure vanilla with no additions (slower than Paper) |
If you’re unsure, start with Paper. Details in Paper vs Spigot vs Purpur and Fabric vs Forge.
Step 3: Use the right Java version
Minecraft’s Java requirement depends on the game version:
| Minecraft version | Java |
|---|---|
| 1.20.5 and newer | Java 21 |
| 1.18 – 1.20.4 | Java 17 |
| 1.17 | Java 16 (17 works) |
| 1.16.5 and older | Java 8 (some builds run on 11) |
Running the wrong version produces an UnsupportedClassVersionError on startup. Modpacks often pin a specific version; check their documentation.
Step 4: Size the hardware
Minecraft is famously single-thread heavy: the main game loop (the “tick”) runs on one core, so per-core speed matters more than core count. Beyond that:
- RAM depends on player count, view distance, and above all plugins or mods. A small Paper server for friends runs well in 2–4 GB; a busy community server wants 6–10 GB; heavy modpacks often need 8–16 GB or more. Over-allocating doesn’t help and can make garbage collection pauses worse. See how much RAM a Minecraft server needs.
- Storage should be NVMe. World loading and chunk saving hit the disk constantly, and fast storage reduces lag spikes when players explore.
- Network needs DDoS protection — Minecraft servers are among the most attacked services online.
Step 5: First-time configuration
On first start the server generates eula.txt (set eula=true to accept the Minecraft EULA) and server.properties. Key settings:
motd=Welcome to our server!
max-players=20
view-distance=8
simulation-distance=6
difficulty=normal
white-list=true
enforce-whitelist=true
online-mode=true
spawn-protection=0
view-distanceandsimulation-distanceare the biggest performance levers. 8 and 6 are sensible starting points; the vanilla default of 10 is expensive.white-list— turn it on for private servers.online-mode=true— verifies players with Mojang. Only disable it on backend servers behind a properly configured proxy.
Paper adds its own configuration files with many performance options — covered in fixing Minecraft server lag.
Step 6: Start with good JVM flags
Give the server a fixed heap and a tuned garbage collector. The widely used Aikar’s flags are a good default for Paper servers:
java -Xms6G -Xmx6G -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 -jar server.jar --nogui
Leave headroom: the heap is only part of Java’s memory. Aikar’s flags and JVM tuning explains every flag.
Step 7: Pre-generate the world
Generating new chunks is one of the most expensive things a server does. Pre-generating the area inside your world border with Chunky before players join removes most exploration lag. See pre-generating your world with Chunky.
Step 8: Install essential plugins
A lean starter set for a survival server: LuckPerms (permissions), EssentialsX (homes, warps, basic commands), CoreProtect (block logging and rollbacks), spark (performance profiling), Chunky (pre-generation) and a land-claim or protection plugin. Add more only when you need them — every plugin costs performance. See essential plugins for a new survival server.
Step 9: Secure it
- Whitelist private servers.
- Use LuckPerms instead of handing out operator status; op grants everything.
- Keep plugins updated and download them only from trusted sources like Hangar, Modrinth and SpigotMC.
- Don’t expose admin panels or RCON to the internet without strong passwords.
- Get DDoS protection. Attacks on Minecraft servers are common and cheap to launch — see protecting your Minecraft server from DDoS and bot attacks.
Step 10: Back up
Back up the world folders (world, world_nether, world_the_end), plugin configs and data, and server files daily, and keep several days of history. Test a restore once so you know it works. See Minecraft server backups.
Where to host
- At home works for a few friends but exposes your home IP, depends on your upload speed and needs your PC on around the clock — see self-hosting at home vs paid hosting.
- A VPS gives full control if you’re comfortable with Linux.
- Managed game hosting gives you a control panel, backups, protection and support.
Kerit Cloud’s Minecraft hosting is custom-quoted rather than sold in fixed tiers: you share your version, player count, plugins or modpack and region on Discord, and the team recommends CPU (typically 1–8 cores), RAM (2–32 GB) and NVMe storage (10–100 GB). Every server includes full panel access, crash auto-restart, daily automated backups, DDoS protection, a free MySQL or PostgreSQL database and 24/7 Discord support — including help installing plugins and modpacks. See how custom-quote Minecraft hosting works.
Summary
Decide between Java and Bedrock, plugins and mods, and one server or a network; pick Paper for most plugin servers or Fabric/Forge for mods; match the Java version to the game version; and prioritise per-core speed, sensible RAM and NVMe storage. Configure view and simulation distance carefully, start with Aikar’s flags, pre-generate the world, keep plugins lean and updated, protect against DDoS, and back up daily.