To make a Minecraft server, you pick a game version and a core (Vanilla, Paper, Forge or Fabric), then run the server software — either on your own computer or on hosting. The fastest and most stable route is hosting: the plan activates in a couple of minutes, the server runs 24/7, and you manage it through a convenient panel. Below we'll walk through both methods step by step and set everything up so it doesn't lag from day one.
This guide is a cornerstone: it takes you from zero to a working server your friends can join. Along the way I'll link to more detailed breakdowns if you want to dig deeper into a specific topic — choosing a core, optimization or backups.
What to decide before you start
Before you start clicking buttons, settle three things. Everything else depends on them: performance, the list of available mods and your budget.
1. Minecraft version
The game version on the server has to match the version players run in their client. If you play on the latest version, install the current release. But keep in mind: the newer the version, the later mods and plugins arrive for it. Modded packs often stay on stable versions like 1.20.1 or 1.21.1, because the whole ecosystem is already built for them. For pure survival, grab the latest.
2. Core (server type)
The core is the server software itself. It determines whether plugins and mods will work and how well the server handles load. A quick rundown of the main ones:
| Core | What it's for | Mods / plugins |
|---|---|---|
| Vanilla | A pure vanilla experience, "just like single-player" | Nothing but datapacks |
| Paper | Optimized survival, mini-games, plugins | Plugins (Bukkit/Spigot) |
| Purpur | Paper plus hundreds of fine gameplay tweaks | Plugins (Bukkit/Spigot) |
| Forge | Large modpacks, tech and content mods | Forge mods |
| Fabric | Lightweight packs, optimization mods, fresh versions | Fabric mods |
| NeoForge | A modern Forge fork, the de facto standard for 1.21+ | NeoForge mods |
If you don't need mods, go with Paper: it's a fork of the vanilla server with serious optimization and plugin support. I cover the difference between vanilla and the forks in detail in the guide Paper vs Purpur vs Vanilla. If you want mods, the choice comes down to Forge or Fabric (and its successor NeoForge), and the breakdown Forge or Fabric: which to choose will help.
NeoForge is an actively developed Forge fork that has effectively become the standard on 1.21 and newer: the vast majority of new mods ship for it. If you're building a pack from scratch on a fresh version, look its way.
3. Where to host: your own PC or hosting
This is the main fork in the road. You can run a server right on your own computer for free, but you'll pay for that "free" with time, nerves and uptime. Hosting costs money but takes all the technical headaches off your plate. Let's compare honestly:
| Criterion | Your own PC | Hosting |
|---|---|---|
| Cost | "Free" (electricity, wear) | Rental from €4.99/mo |
| 24/7 uptime | Only while the PC is on | Around the clock |
| External IP | Needs a static IP + port forwarding | IP ready instantly |
| Load | The server eats your PC's resources | Dedicated hardware |
| Security | You open ports into your own network | L3-L7 DDoS protection |
| Difficulty | Manual setup, command line | One-click panel |
Next we'll cover both paths. We'll start with the home route so you understand "how it works under the hood," then move on to the recommended approach — hosting.
Method 1: making a server on your own computer
This path works for quickly testing something locally or playing a couple of evenings with a friend over the network. For a permanent server it's honestly inconvenient — but it's useful to know the mechanics.
Step 1. Download the server JAR
You need the server.jar file — the server software itself. Where to get it:
- Vanilla — from the official minecraft.net site, in the Java Edition server download section.
- Paper — from the official PaperMC site, choosing the game version you need. Paper is exactly what I recommend for a home server: it's noticeably more stable than vanilla.
Put the JAR in its own empty folder — the server will create dozens of files there, and it's annoying to hunt for them among other files.
Step 2. Accept the EULA
On the first launch the server creates an eula.txt file and immediately stops. Open it and change the line to agree to the license:
eula=true
Without this the server won't start — it's a requirement of Mojang's license agreement.
Step 3. Start the server and allocate RAM
The server doesn't launch with a double-click but with a console command (cmd, PowerShell or a terminal). In the command you specify right away how much memory to allocate — with the -Xms (starting size) and -Xmx (maximum) flags. Example for 4 GB:
java -Xms4G -Xmx4G -jar server.jar --nogui
The --nogui flag disables the server's little graphical window — you don't need it in production, and it only eats resources. Exactly how much RAM to allocate depends on the core and the player count; there's a dedicated section on that below, along with a link to a detailed breakdown.
Never allocate all of your computer's RAM to the server. The operating system and the Java process itself need headroom. If your PC has 8 GB, you can safely give the server 4-5 GB, but not 8.
Step 4. Open a port for friends
For friends on the internet to join your home server, you need two things:
- A static (external) IP. Many providers hand out a "grey" IP behind NAT — in that case you can't be reached from outside without extra tricks. A static IP is often ordered separately from the provider.
- Port forwarding on the router: you forward TCP port
25565to your PC's local IP. This is done in the router settings, under a section like "Virtual Servers" or "Port Forwarding."
Downsides of a home server
I'll honestly list why this is a so-so option for steady play:
- Uptime. Turn off or reboot the PC and the server goes down, kicking your friends.
- Load. The server eats your computer's CPU and RAM, and playing on it at the same time becomes tough.
- Security. By opening a port, you let internet traffic into your home network. Without protection, the server is easy to knock over with a DDoS attack.
- Static IP. Having one and paying for it is a separate headache, and it can change when the router reboots.
If you need the server "for real and for the long haul," let's move on to the second method.
Method 2: making a server on hosting (recommended)
Hosting closes every downside of the home option at once: 24/7 uptime, a ready IP, DDoS protection, dedicated powerful hardware and a control panel instead of the command line. I'll show the process using Elysium as an example — with us a server comes up in literally a couple of minutes.
Why hardware is what matters here
Minecraft parallelizes poorly — the core world logic essentially runs in a single thread. So the deciding factor isn't the number of cores but the strength of one core (clock speed). Elysium runs AMD Ryzen 9 with a 5.0+ GHz boost — exactly what Minecraft loves. Fast disks matter too: chunks and the world save are read and written constantly, and a slow disk tanks your TPS out of nowhere. We run NVMe Gen4 at around 7 GB/s read speed, and the RAM is real DDR5 with no overselling — meaning the gigabytes allocated to you are genuinely yours.
How to pick a plan for your player count
The main plan parameter is the amount of RAM. A rough guide:
| Plan | RAM | Good for |
|---|---|---|
| Common | 4 GB | Vanilla/Paper, 5-10 friends |
| Pulse | 6 GB | Plugins, light packs |
| Nexus | 8 GB | Mid-size modpacks, busy server |
| Apex | 12 GB | Heavy CurseForge/FTB modpacks |
| Titan | 16 GB | Large packs and communities |
| Vector / Eclipse | 20-32 GB | Big modded projects, networks |
Not sure about the amount? Better read the dedicated breakdown how much RAM a server needs — it has formulas for mods and players. And it's handy to compare prices and specs on the plans page.
Choosing a location
The closer the server is physically to your players, the lower the ping. Elysium has points of presence in Moscow, Frankfurt, Amsterdam and Helsinki — on DDOS-GUARD and Hetzner infrastructure. Pick the one closest to the bulk of your players; you can review the options and ping on the locations page.
Step-by-step launch on hosting
And here's the process itself — from order to playing with friends in seven steps:
- Pick a plan to match your player count. Head to the order page and choose a plan by RAM: Common (4 GB) for vanilla play with friends, Pulse (6 GB) or Nexus (8 GB) for plugins and small packs, Apex (12 GB) and up for heavy modpacks.
- Pick a low-ping location. Choose the point closest to your players: Moscow, Frankfurt, Amsterdam or Helsinki. The closer the server, the smoother the game.
- Pick a core or modpack. In the order builder, choose a core (Vanilla, Paper, Purpur, Forge, Fabric, NeoForge) or a ready-made modpack from CurseForge or FTB — one-click install.
- Place the order and wait for activation. Confirm the order and pay for the plan. The server activates within a couple of minutes — the panel login details arrive by email.
- Open the Pterodactyl panel and start the server. Open the control panel, wait for the core to install and click Start. Startup logs appear in the console and the status switches to Running.
- Configure the server via server.properties. In the file manager or settings tab, open
server.propertiesand set the render distance, player limit, difficulty, game mode and server description. - Share the IP and port with friends. Copy the IP and port from the panel, give your friends the connection string, optionally turn on the white-list — and you're ready to play.
In the panel you don't have to download JAR files by hand. Vanilla, Paper, Purpur, Forge, Fabric, NeoForge, the BungeeCord and Velocity proxies, and CurseForge and FTB modpacks are all installed by picking from a list. Want to switch cores? A couple of clicks and the server is rebuilt.
Basic setup via server.properties
The server.properties file is the main config for the vanilla server and its forks. It sits in the server root and is edited like ordinary text. The most important keys at launch:
max-players=20
view-distance=10
simulation-distance=8
difficulty=normal
gamemode=survival
online-mode=true
white-list=false
motd=Welcome to our server!
A few practical notes:
- view-distance hits performance the hardest. 10 is a comfortable balance; dropping it to 6-8 noticeably eases the load on lighter plans.
- simulation-distance controls the radius in which mobs and mechanisms tick. You can lower it too for the sake of TPS.
- online-mode=true verifies account licenses. Leave it
trueif you play with licensed accounts: it protects against username spoofing.
A full breakdown of every key with examples is in the separate guide configuring server.properties. It also covers seed, PvP, spawn protection and other fine points.
How to invite friends
The server is up — time to call people in. Friends need a connection string in the form IP:port:
123.45.67.89:25565
If the port is the default (25565), you can leave it out — the client fills it in. On hosting, the IP and port come from the Pterodactyl panel; on a home server it's your static IP and the forwarded port.
- white-list. To let in only your own crew, set
white-list=trueand add names with the/whitelist add Namecommand in the console. That way random people can't join even if they know the IP. - online-mode. With
trueit admits only licensed accounts — protection against people logging in under someone else's name. - Domain or subdomain. To hand out a nice address like
play.yourserver.cominstead of numbers, point a domain at it with an A record (to the IP) and an SRV record (to the port). Then the port isn't needed in the string at all.
Performance from day one
For the server not to lag right after launch, three things matter: enough RAM, the right JVM flags and understanding what actually causes drops.
How much RAM to allocate
Too little RAM and the server chokes, spitting out lag during garbage collection. Too much isn't a cure-all either — the GC starts taking longer to "tidy up." Roughly: plain vanilla/Paper for a group — 4-6 GB, a mid-size modpack — 8-10 GB, heavy packs — 12 GB and up. Precise guidance for your situation is in the guide how much RAM a Minecraft server needs.
Aikar's flags — JVM startup flags
By default, Java collects garbage in a way that isn't optimal for Minecraft, and that produces periodic lag spikes. Aikar's flags are a set of JVM flags that PaperMC recommends as a baseline: they switch the collector to G1GC and tune it for even, jolt-free operation. Here's the recommended line (example for 10 GB — set -Xms and -Xmx to your own amount):
java -Xms10G -Xmx10G -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
-Daikars.new.flags=true -jar paper.jar --nogui
On Elysium hosting these flags are already applied for you, but it's useful to understand what's under the hood. A detailed breakdown of every flag is in the guide Aikar's flags and JVM optimization.
If it still lags
TPS (ticks per second) should hold at 20 — that's the server's "healthy pulse." If it drops, the causes vary: heavy mods, a mob farm, too large a view-distance, not enough CPU or RAM. I've put together step-by-step diagnostics — from reading /spark to finding the lagging chunk — in the separate piece why a server lags and how to fix it.
Many "lags" are really a weak CPU or disk on an oversold host. A strong single Ryzen 9 core and NVMe Gen4 at Elysium remove a whole class of these problems before any fine-tuning. You can build a server right now.
Backups and world safety
A server lives for months, and one day something will go wrong: a buggy plugin wipes a region, griefers ruin spawn, a mod update breaks the save. Only a backup saves you. On Elysium backups are free and automatic — the world is saved without your involvement, and you can roll back at any moment.
If you run the server seriously, build the habit: a backup before every major change (a core update, installing a heavy mod, a world cleanup). How to set a schedule, what exactly to back up and how to roll back without losing progress — that's in the guide Minecraft server backups and rollback.
What's next
So you've got a working server. From here the path usually goes like this: you choose a core for your needs (Paper, Purpur or Vanilla), decide Forge or Fabric for mods, fine-tune the config and optimization. And if you want to join several servers into a network with a single entry point — that's proxies, and there it's worth looking straight at the higher plans with resource headroom.
Moving from another host? On the Vector plan and up we'll migrate for free — world, plugins, mods and configs — and after the move we'll stick around for 48 hours in case of questions. Details are on the migration page. Ready to start from scratch — build a server in the builder, and if any questions remain, 24/7 support is on hand via Telegram and Discord.