How to host a Minecraft server: home, VPS or managed hosting compared
Almost everyone who plays Minecraft with friends hits the same wall: the single-player world is fun, but you want to be online together, whether you are logged in or not. Hosting your own server fixes that, and it is easier than it sounds. It is also easy to get wrong in ways that cost you weeks, like picking the wrong software, buying the wrong amount of memory, or exposing your home network to strangers.
This guide covers the whole decision from start to finish. You will see the three ways to host a server, what each one really involves, how much power you need, how to make the server fast and safe, and how to fix the problems that nearly everyone runs into. It is long on purpose. Skim the headings to find what you need, or read it through once before you spend any money.
The quick answer
If you want a recommendation before the detail, here it is. Pick based on how much of the technical work you want to own:
| Option | Best for | You handle | Main drawback |
|---|---|---|---|
| Your own computer | Two or three friends, short sessions, learning how servers work | Everything: software, networking, security, uptime | Only runs while your PC is on, and it exposes your home network |
| A VPS you manage | People who enjoy Linux and want full control | The operating system, Java, updates, firewall, backups | Nothing is set up for you, and mistakes are yours to fix |
| Managed game hosting | Most communities, anyone who wants it running today | Only the game: plugins, settings, players | Less low-level control than a VPS |
Most people who run a server for more than a few weeks end up on managed hosting, because the hours saved are worth more than the flexibility given up. If you are curious how that looks in practice, the Help Center home page lists every guide for running servers on NGP Cloud, and Order and set up your first server walks through the process.
Five decisions to make before you start
Every later choice depends on these five answers, so settle them first.
1. Java or Bedrock?
Minecraft comes in two editions that do not play together by default. Java Edition runs on Windows, macOS and Linux and has the biggest world of plugins and mods. Bedrock Edition runs on consoles, phones, tablets and Windows, and is what most console players have. The default port for Java is 25565 over TCP. For Bedrock it is 19132 over UDP. Decide which your players use, because a Java server cannot host Bedrock players without extra translation software, and that adds its own complications.
2. Which version?
Pick the version your players will use, and check that every plugin or mod you want supports it. The newest release is not always the best choice, because plugins can lag behind a new version by weeks. If you are unsure, the latest version that your must-have plugins support is the right one. You can change later, as described in Change your Minecraft version or server type, but always take a backup first.
3. Plugins, mods or neither?
This one matters because it decides which server software you run. Plugins run only on the server and players need nothing extra. Mods change the game and players usually install them too. A server runs one or the other. The guide Paper, Purpur, Fabric, Forge or Vanilla explains the options. If you are not sure, Paper is the safe default for community servers.
4. How many players, at once?
The number that matters is how many people play at the same time, not how many are on your friends list. Ten friends who take turns online need a much smaller server than ten who all join on Friday night. Estimate your busiest hour, then add a margin of about a third, because servers fill up faster than people expect.
5. What is your budget, honestly?
Decide a monthly amount you are comfortable with before you look at plans. Over-buying is the most common mistake: a server with far more memory than it needs does not run faster, it just costs more. Starting small and upgrading when you actually hit limits is nearly always cheaper than guessing high.
Option 1: host on your own computer
This is the free route, and it is a good way to learn how everything fits together. It is also the one with the most hidden problems.
What you need
- A computer that can stay on for as long as you want the server up. A gaming PC running a game at the same time will struggle to do both.
- A recent version of Java. As a rule, Minecraft 1.20.5 and newer needs Java 21, versions from 1.18 to 1.20.4 need Java 17, and much older versions need Java 8. Check the requirement for your version rather than assuming.
- The server software from the official Minecraft site, or a faster variant such as Paper.
- A router you can log in to, so you can forward a port.
The basic steps
- Make a dedicated folder and put the server file in it.
- Start it once from a terminal. A typical command looks like this:
java -Xms2G -Xmx2G -jar server.jar nogui
- The first run stops and creates a file called
eula.txt. Open it and changeeula=falsetoeula=true. That accepts Mojang's terms. - Start the server again. It generates the world and its settings.
- Forward port 25565 on your router to the computer that runs the server.
- Give friends your public IP address, which they type into Minecraft as the server address.
The problems nobody mentions
Your home IP address is exposed. Anyone who has the address can tell roughly which area you connect from, and can aim attacks at your connection. A shared server address is a standing invitation for the occasional troublemaker.
CGNAT can make it impossible. Many internet providers share one public address between many customers. If yours does, you cannot forward a port at all, and the setup simply will not work. You can check by comparing the address your router shows as its WAN address with the one a "what is my IP" site reports. If they differ, you are behind CGNAT.
Your address changes. Home connections usually get a new address from time to time, so friends suddenly cannot connect until you send the new one.
Upload speed is the real limit. Plans are sold on download speed, but a server mostly uploads. A slow upload link lags everyone, however fast your computer is.
It stops when you do. Close the lid, restart for updates, or lose power, and everyone is kicked.
Home hosting is great for a weekend with two or three friends. For anything you want to last, it quickly becomes a chore.
Option 2: rent a VPS and run it yourself
A virtual private server is a slice of a data centre machine that you control fully. You get a clean Linux system with a public address, good upload speed and no dependence on your home connection.
What you take on
You are the system administrator. That means:
- Connecting over SSH, as covered in Connect to your VPS over SSH.
- Installing the right Java version and the server software.
- Opening only the ports you need with a firewall. See Set up a firewall on your VPS with UFW.
- Applying the basics in Basic security for a new VPS.
- Keeping the server running after you log out, which usually means a service manager or a terminal multiplexer.
- Making backups, installing updates, and watching resource use.
When it makes sense
A VPS is a good fit if you already know Linux, want to host more than a game on the same machine, or enjoy the control. It is a poor fit if you simply want to play, because every hour you spend administering is an hour not spent in the game. A common middle path is to run the game on managed hosting and keep a VPS for a website or Discord bot.
Option 3: managed game server hosting
A managed host runs the machines and gives you a control panel for the game itself. You do not install Java, configure a firewall or keep a process alive. You pick your server software and version from a menu, and the panel handles starting, stopping and restarting.
What you get
- A console and file manager in the browser, so you can read logs and edit files without a terminal. See Using the server console and Using the file manager.
- Backups and schedules, so a bad plugin or a grief does not cost you the world. See Creating and restoring backups and Schedule automatic restarts and backups.
- SFTP access for uploading large files, described in Connect to your server with SFTP.
- Live graphs for CPU, memory and disk, which are explained in What the CPU, memory and disk numbers on your server mean.
- Human support when something is beyond you, through a ticket on Discord.
Going from order to playing
The process takes a few minutes. You choose a plan, pick the server type and version, and wait for the panel to say the server is running. Then you copy the address and join. The steps for NGP Cloud are in Order and set up your first server, and Connect to your Minecraft server covers joining it. If you have an existing world, Upload an existing Minecraft world shows how to bring it across.
How much memory and CPU do you really need?
There is no single correct number, because it depends on the software, the plugins and how players behave. Think in ranges, and treat them as starting points to adjust, not promises:
| Setup | Rough memory | Notes |
|---|---|---|
| Vanilla or Paper, 2 to 5 friends | 2 to 3 GB | Small and cheap. A good place to start. |
| Paper with plugins, 10 to 20 players | 4 to 6 GB | Claims, economy and permissions plugins add up. |
| Paper, a busy community, 30 or more players | 6 to 10 GB | View distance and entity limits matter more than raw memory. |
| Light mods or a small modpack | 4 to 6 GB | Mods use more memory per player than plugins. |
| A large modpack | 8 GB and up | Follow the modpack author's recommendation. |
Two things are worth knowing about how these numbers behave.
More memory does not fix lag on its own. Minecraft does most of its work on one main thread. If that thread is overloaded, adding memory changes nothing. Lag is usually a CPU or settings problem, and How to fix server lag goes through the real causes.
Memory pressure looks different from lag. If the server runs out, you get crashes or silent stops, not slowness. Minecraft server out of memory: how to tell, and what to do explains the difference. And if you are choosing between plans, How to choose the right plan is a better guide to what fits you than a rule of thumb.
Pick a location and check the latency
Distance matters more than raw speed. A server close to your players feels smooth, and one far away feels sluggish, even on the same hardware. The lag you notice in the game's ping display is the round trip between your computer and the server.
As a rough guide, a ping under 50 ms feels excellent, 50 to 100 ms is fine for nearly everything, and above 150 ms you will notice delayed block breaking and combat. Choose the location nearest to the majority of your players, and when they are spread across the world, pick the middle of the group rather than your own home region.
You can test before committing. A ping to the server's address from each player's computer gives you real numbers. Keep in mind that ping is not always allowed, so a failed ping does not mean the server is down. The article Connection timed out vs connection refused explains how to test a port properly.
The first 30 minutes after the server is up
The server is running, so what now? These steps prevent most future headaches, and they take half an hour.
- Set up your whitelist and operators. Decide who can join and who has admin power before you share the address. How to whitelist players and give operator permissions covers it. Give operator status to as few people as possible.
- Review
server.properties. The defaults are sensible, but difficulty, game mode, player limit and view distance deserve a look. See Editing server.properties. - Lower the view distance a little. The default is 10 chunks. Dropping it to 8, and the simulation distance to 6, saves a surprising amount of work on a busy server without much visible change.
- Take a first backup. A fresh world is cheap to back up, and it gives you a clean restore point.
- Schedule restarts. A nightly restart clears accumulated memory use, and you can put it at the quietest hour.
- Learn where the logs are. When something goes wrong, How to read your server logs is the first page to open.
Give your server a friendly address
An IP address and a port are hard to remember and awkward to share. If you own a domain, you can point a name at the server. There are two parts.
First, an address record points the name to the server's IP address. Point your domain to your server covers this.
Second, if the Minecraft server does not use the default port, you can add an SRV record so players do not have to type the port. A Java server looks up a record called _minecraft._tcp for your domain, and that record holds the real port and target host. The exact form fields differ between DNS providers, but they all ask for the same four things: the service name, the protocol, the port and the target. After DNS updates, players can just type the plain domain name.
A friendly address also protects you from one annoyance: if your server's IP ever changes, you update one record and nobody has to learn a new number.
Keep it fast
A healthy Minecraft server runs at 20 ticks per second, which gives each tick 50 milliseconds to finish its work. When a tick takes longer than that, the server falls behind and the game feels laggy. Almost every performance problem is a version of "something is taking too long inside the tick".
The usual suspects, roughly in the order you should check them:
- View and simulation distance. Too high is the single most common cause.
- Too many entities. Giant farms, thousands of dropped items and crowded animal pens cost a lot.
- One badly behaved plugin. A profiler such as spark shows which one.
- Terrain generated on the fly. Generating new chunks while players explore is expensive. Pre-generate around spawn when the server is quiet.
- An overloaded plan. Only after the above, consider a bigger plan.
Profile first, buy second. A profile that shows a single plugin using forty percent of the tick time is worth more than another gigabyte of memory.
Keep it safe
Security is not only about outside attackers. Most real-world server disasters are accidents or a trusted person making a mistake.
Back up properly. A backup on the same machine as the server protects against a bad plugin, but not against a lost account or a failed disk. The careful rule of thumb is to keep several copies, on more than one kind of storage, with at least one stored somewhere else entirely. Test a restore at least once, because a backup you have never restored is a guess.
Keep online mode on. online-mode=true makes the server verify players against Mojang's accounts. Turning it off lets anyone join under any name, including an operator's. Only disable it if a proxy in front of the server handles authentication.
Use a whitelist for private servers. It is the simplest and most effective access control there is.
Treat plugins as code you are running. Download them only from the authors' official pages, never from random re-upload sites, because a modified plugin can give someone full control of your server.
Protect your own account. Use a strong, unique password for your hosting account and turn on two-factor authentication. Enable two-factor authentication (2FA) and passkeys shows how, and Keep your NGP Cloud account secure lists the other habits worth building.
When things go wrong
Most problems fall into a few buckets. Here is where to look for each one:
| Symptom | Most likely cause | Where to go |
|---|---|---|
| "Connection timed out" | Wrong address, or the server is offline | Connection timed out vs connection refused |
| "Connection refused" | Nothing listening on that port, or the server crashed | I can't connect to my server |
| Server stops during startup | A bad plugin, wrong Java version or low memory | My server crashes or won't start |
| Growing lag over time | A leak, too many entities or a heavy plugin | How to fix server lag |
| Server shows as suspended | A billing state, not a crash | My server is suspended |
| You do not recognise an error | Looks scary, usually simple | Common error messages and what they mean |
When you are stuck, the most useful thing you can do is read the first error in the log, change one thing and test again. Changing five things at once makes it impossible to know what helped.
How to think about the cost
Pricing differs between providers and changes over time, so this guide does not quote numbers. Instead, here is how to judge value yourself.
- Cost per regular player, not per slot. A plan that costs a little more but comfortably supports your real peak is cheaper than a small plan you outgrow in a month.
- Pay for what you use. If you need a lot of memory for a few weekend hours, check whether upgrading temporarily is possible rather than buying the biggest plan for the whole month.
- Count your time. Self-hosting looks free until you add the hours spent on updates, firewall rules and midnight fixes.
- Check what is included. Backups, support and DDoS protection are not equal across providers. Ask what is actually included before you compare prices.
If you want to understand how billing works on NGP Cloud, How renewals, auto-renew and grace periods work explains what happens at the end of a billing period.
Frequently asked questions
Can I host a Minecraft server for free?
Yes, on your own computer, with the limits described above. Some free hosts exist too, and they typically come with trade-offs such as queues, sleeping servers, small player caps or restricted plugins. For a server that must be reliably online, a paid plan is usually worth it.
How many players can a server hold?
It depends on the software, settings and plugins more than on any fixed number. A tuned Paper server on a suitable plan can hold dozens of players, while a heavily modded server may struggle with ten. Judge by real tick performance, not by the slot count on the box.
Do my friends need to buy anything extra?
No. For a Java server with plugins, they only need the matching version of Minecraft. For a modded server they will also need to install the same mods.
Can I play on the server while I am offline?
Yes, that is the point of hosting. The server runs independently, so friends can play when you are not online.
Can I move my existing world to a server?
Yes. Copy the world folder, upload it, and set the world name in server.properties. Take a backup before and after. Upload an existing Minecraft world has the exact steps.
Is it safe to give people operator permissions?
Only if you trust them completely. Operators can change almost anything, including deleting the world. A permissions plugin lets you hand out specific powers instead.
What is the best server software?
For most community servers, Paper. It is fast, supports almost every plugin, and players need nothing extra. If you want mods instead, Fabric or Forge, depending on what you plan to run.
How do I add more power later?
On managed hosting, moving to a bigger plan is usually a few clicks and keeps your files, but check how your provider handles it, and take a backup first. Before you pay for more, make sure the problem really is power, using the steps above.
Where to go from here
You now have everything you need to choose a hosting route and set the server up properly. A sensible order is: decide your edition and version, pick the software, start with a modest plan, take a backup, set the whitelist, then tune the settings once real players are on.
The Help Center home page has a guide for every step beyond this one, from installing plugins to scheduling backups. If you try something and it does not work, the log usually explains why, and our team is ready to help when it does not.
Still stuck? Open a ticket on Discord - run /ticket in any channel, pick a department, and include your Server ID or Invoice ID so we can jump straight in.