MINECRAFT · DEDICATED SERVER GUIDE · OCTOBER 2026

How to Set Up a Minecraft Dedicated Server (Home, VPS or Managed)

A Minecraft dedicated server keeps your world online for friends whether or not you are playing. Here is how to choose between hosting at home, on a VPS or with a managed host, then set up the server step by step, open the right ports and change the first settings.

Choose the path first

Home, VPS and managed hosting all run Minecraft, but they fail in different places: home on uptime and networking, VPS on Linux admin, managed on reduced low-level control.

CPU matters more than core count

Minecraft server performance is mostly about one fast CPU core. More cores do less for tick speed than strong single-thread performance.

Distance settings create most of the load

View distance increases how much world data the server sends. Simulation distance increases how much world logic, mobs and redstone the main thread must tick.

Start secure and simple

Keep online-mode on, use the whitelist, avoid RCON unless you need it, and restart after changing server.properties so you know your changes really applied.

Pick your hosting path before you install anything

The biggest mistake with a Minecraft dedicated server is starting with Java and a server file, then realising later that the machine choice was wrong. The server needs to be available whenever people want to join, not only when your main PC happens to be awake, free, and still on the same public IP address. It also needs decent single-thread CPU speed, because Minecraft’s tick loop mostly leans on one CPU core rather than spreading cleanly across many.

If you only need occasional sessions rather than an always-available server, there are simpler ways to play Minecraft with friends. If you do want a proper dedicated setup, compare the three paths by what you personally have to manage.

Who handles what on each path
“Yes” means you do it yourself
JobHome PCVPSManaged server
Hardware, power and uptimeYesNoNo
Router port forwardingYesNoNo
Installing Java and server.jarYesYesNo
Firewall rules for the portYesYesNo
Keeping it running after you log offYesYesNo
BackupsYesYesPartly
server.properties and the whitelistYesYesYes
Managed “Partly”: the panel takes backups for you, but you still choose how often and when to restore.
Every path leaves you in charge of the game settings. The difference is how much of the machine and network you also look after.
Path What you manage What it costs Uptime Best for Main catch
Home on your own PC or spare machine Java runtime, server files, firewall, router port forwarding, updates, backups, power state, your home network Nothing beyond electricity Only as good as your hardware, router and household power/internet staying up Private groups where cost matters most and the admin is happy to tinker Dynamic public IPs, weaker upload, sleep/restarts, and your server disappears if the host machine is unavailable
Linux VPS you install yourself Java runtime, Linux admin, firewall, start-up, updates, backups, security, monitoring Varies by CPU, storage and location Usually steadier than home if you configure the service properly People comfortable with SSH who want full control without running hardware at home You are responsible for the whole software stack and the server’s security
Managed game server Mainly the Minecraft settings, world, mods or plugins, and routine admin inside a panel From £2.25/month ($2.99) for 2GB; 4GB with a UK node from £3.75/month ($4.99) Usually the easiest route to a server that stays on and stays reachable Most friend groups and small communities Less low-level control, and quality depends on CPU allocation, panel features and how oversold the node is

A practical decision rule

  • Choose home hosting if saving money matters more than guaranteed availability, and you can deal with firewall rules, router port forwarding and a public IP that may change.
  • Choose a VPS if you want a stable internet-facing machine and full control over Java, backups and start-up, and you are comfortable doing Linux admin over SSH.
  • Choose managed hosting if you want the least friction and you care more about uptime and convenience than OS-level control.

Home hosting breaks first when your friends expect the server to be there at any time, because consumer upload, dynamic IP addressing and everyday PC restarts get in the way. A VPS breaks first when the owner stops maintaining it. Managed hosting breaks first when you want deeper system access than the panel exposes.

Which path suits your group?
You want a server your friends can join any time
Can a PC stay on, wired, whenever people play?
No
Rent a serverA VPS or managed plan stays on without your PC.
Yes
Can you forward port 25565 on your router?
No
VPN or rentA VPN works as a fallback; renting removes the problem.
Yes
Happy to handle updates, backups and a changing IP?
No
Managed serverThe panel handles Java, ports and backups.
Yes
Host it at home: free apart from electricity
Each “No” points to the path that removes that job from your list.

Choose Java or Bedrock first

Before you download anything, decide which edition you are actually serving. Java Edition and Bedrock Edition do not use the same server program, the same ports, or the same connection rules.

  • Java Edition: Mojang distributes the vanilla server free as a single file called server.jar. It runs on Windows, macOS and Linux. The default port is 25565 over TCP.
  • Bedrock Edition: use the separate Bedrock Dedicated Server program. It is for Windows 10+, Windows Server 2016+ and Linux, with Ubuntu 22.04 or later officially supported. The default ports are 19132 for IPv4 and 19133 for IPv6, both over UDP.

That port difference matters because firewalls and router rules must match the protocol as well as the number. Opening TCP for a Bedrock server does not help, and forwarding the Java port does nothing for Bedrock.

Console access is the other big split. Xbox, PlayStation and Switch players can only join custom Bedrock servers through a custom DNS setup or LAN, so a Bedrock server can be technically correct and still awkward for console users. If you want both editions to meet in one place, read our guide to Java and Bedrock crossplay before you commit to a hosting plan. If you already know you want Bedrock specifically, compare what providers expose in Bedrock server hosting.

For the rest of this guide, the full step-by-step uses the vanilla Java server because that is the most common route for a Minecraft dedicated server. The same hosting-path logic still applies to Bedrock.

What hardware the server actually needs

Minecraft server performance is driven less by flashy hardware specs and more by a few specific bottlenecks. The important question is not “how powerful is the whole machine?” but “how fast is the main game thread, and how much memory is available for the world and players?”

CPU: single-thread speed first

The server mostly uses a single CPU core, so single-thread performance matters more than core count. For small servers, budget Intel 8th gen or Ryzen 2000 series is enough according to the wiki guidance. More cores still help the operating system, backups and other tasks, but they do not rescue slow tick speed if the main thread is weak.

RAM: enough heap to avoid constant cleanup

At least 2 GB is enough for small servers, and 4 GB is quite possibly needed for larger ones. The memory you assign with -Xmx becomes the Java heap the server uses for chunks, entities and other game data. If that heap is too small, Java spends too much time doing garbage collection, which feels like short freezes and lag spikes because the server stops useful work to free memory.

The wiki example start line uses -Xmx2G, which it says is more than enough for a home server with 5 players on the default simulation distance, calculated as 5 x 21^2 = 2205 chunks simulated. That example matters because it shows the right way to think about memory: size it for your actual simulation load, not for an imagined maximum that never happens.

Disk, network and location

Reserve at least 5 GB of disk for the world. Disk is used whenever chunks are generated, saved or loaded, so a struggling disk shows up as slower world loading and save pressure. A GPU does not matter here because the server is not rendering the game. Use a wired network rather than Wi‑Fi so latency and packet loss stay predictable, and keep the machine physically close to your players if you want lower ping.

Why view distance and simulation distance change everything

view-distance controls how much world the server sends to each player. Raising it costs bandwidth and memory because more chunk data has to be loaded and sent. simulation-distance controls how far away entities and game logic still tick. Raising it costs main-thread CPU because more mobs, redstone and other systems stay active. If you get major lag, these are the first settings to reduce because they attack the load at its source rather than treating symptoms.

Path A: set up a Minecraft server at home

Home hosting is the cheapest proper route because it costs nothing beyond electricity, but it asks the most from your home network. You are exposing a service from inside your house to the public internet, so getting the basics right matters.

  1. Install the right Java runtime. For Minecraft 26.1 and newer, use Java 25. For Minecraft 1.20.5 to 1.21.x, use Java 21. You only need a JRE, not a full JDK.
  2. Create a dedicated folder for the server. Keeping the world, logs and config together makes backups and later moves much easier.
  3. Place server.jar in that folder and run it once. The first launch creates the EULA file and the rest of the server structure.
java -Xms1024M -Xmx2048M -jar server.jar --nogui

That command matters for two reasons. First, --nogui avoids wasting resources on a local graphical wrapper. Second, -Xms and -Xmx control the heap. If the machine exists mainly for Minecraft, Xms can match Xmx so Java does not keep resizing the heap, but the trade-off is that the RAM stays reserved all the time.

First run of a Java server
Same on a home PC and a VPS
1. Run server.jar
java -Xms1024M -Xmx2048M -jar server.jar –nogui
Creates eula.txt, then stops
2. Accept the EULA
Open eula.txt and change eula=false to eula=true
Otherwise it closes at once
3. Run it again
The world generates and server.properties appears
Type stop to shut down cleanly
Java version to install
  • Minecraft 26.1 and newer: Java 25
  • Minecraft 1.20.5 to 1.21.x: Java 21
  • A JRE is enough, no JDK needed
-Xmx2G is more than enough for 5 players at the default simulation distance.
The server only finishes starting once eula.txt says true. Every other setting can wait until it has run once.
  1. Open eula.txt and accept the EULA. If you skip this, the server closes straight away by design.
eula=true
  1. Run the server again to generate the world. When you want to stop it, type stop in the console so the world saves cleanly. A forced close risks incomplete disk writes.
  2. Allow the Java server through the host firewall on 25565/TCP. Without this, your PC may reject inbound traffic even if the router is correct.
  3. Create a router port-forwarding rule. Forward external 25565/TCP to the server machine’s internal IP on the same port. This is what tells your router which device inside the house should receive Minecraft traffic.
How a friend reaches a server in your house
Java Edition
Friend types your public IP
TCP 25565
Router forwards to the server PC
internal IP
PC firewall lets Java through
Bedrock Edition
Friend adds your public IP
UDP 19132
Router forwards to the server PC
internal IP
PC firewall lets BDS through
IPv6 Bedrock players use UDP 19133. If your ISP changes your public IP, friends need the new address.
All three hops must match the same port and protocol. A missing step anywhere looks the same to your friend: a timeout.
  1. Find your external IP and give that address to friends. Your local address inside the house is not enough for people outside it.
  2. Expect the dynamic IP problem. Most ISPs change the external IP every few days to few weeks. When that happens, the address your friends saved no longer points at your house, even if the server itself is still fine.
  3. Use a VPN as a fallback if port forwarding is impossible. This is a workaround, not the cleanest long-term setup, but it can get a private server reachable when the router or ISP blocks the normal route.

How do you know this path is working properly? Friends should connect consistently with the same address until the ISP changes it, chunk loading should feel stable, and the server console should stay active without closing when you log off your own desktop session. If the machine sleeps, reboots for updates, or shares too much household bandwidth, you have found the limits of home hosting rather than a Minecraft problem.

Path B: install the server yourself on a Linux VPS

A VPS removes the home-network issues: no router port forwarding on your own house, no dependence on your gaming PC staying on, and usually a steadier public address. In exchange, you become the system administrator.

  1. Choose a VPS location near your players. Physical distance still affects latency.
  2. Connect over SSH and install the correct Java runtime. Use Java 25 for Minecraft 26.1 and newer, or Java 21 for Minecraft 1.20.5 to 1.21.x.
  3. Create a server directory, upload server.jar, and run the same first-launch command. The EULA and world-generation steps are the same as on a home PC.
  4. Keep it running after you log out. A terminal multiplexer such as screen, or a proper systemd service, stops the server process dying with your SSH session. The trade-off is a little more admin work now so the server is reliable later.
  5. Open 25565/TCP in the VPS firewall. Many VPS setups have both a provider-level firewall and an OS firewall. If either blocks the port, friends time out.
  6. Handle backups and updates yourself. The VPS will not automatically preserve your world unless you set that up. Backups cost storage, and updates cost your time, but both are cheaper than losing a long-running world.
  7. Take security seriously. Keep the OS updated, use sensible SSH practices, and do not treat the VPS like a throwaway box. A Minecraft server on the public internet is still a public internet service.

This route suits people who want full control over Java versions, start-up methods and file access. It breaks when that same control becomes a burden: if updates, logs, backups and firewall rules sound like chores you will postpone, a managed server is often the better choice.

Path C: use a managed Minecraft server

Managed hosting is the shortest path to a server that is on, reachable and easy to maintain. The panel usually handles the repetitive jobs: selecting the Java version, assigning the port, starting and stopping the server, installing common server software, and exposing backups and file access. For many private groups, that is exactly the right trade: less low-level control in exchange for less avoidable admin work.

If you plan to move beyond vanilla later, check support for the software you actually want before buying. That matters for things like Paper, Fabric, Forge or proxy setups, and it matters even more if you expect snapshots or modpacks. Our guide to modded server hosting covers the extra checks that become important once you leave vanilla behind.

What to check Why it matters
Single-thread CPU performance Minecraft mostly leans on one main thread, so weak per-core speed causes lag even when total core count looks generous.
Guaranteed vs shared resources Oversubscribed plans can feel fine when idle and fall apart under load because your server is competing for CPU time.
Server location close to players Shorter network distance usually means lower ping and fewer complaints that feel like “lag” even when the server tick rate is fine.
Server software support You do not want to discover after purchase that the panel only supports vanilla when you need Paper, Fabric, Forge or Velocity later.
Version support, including snapshots Fast update support matters when a new Minecraft release lands and your group wants to move quickly.
SFTP and full console access Without proper file access and console output, backups, logs and troubleshooting become much harder than they should be.
Backups: frequency, retention and downloads A backup only helps if it exists before the problem and can be restored or downloaded when you need it.
Refunds and trials They reduce the risk of getting stuck on a weak node or a panel that does not suit the way you admin servers.

Managed hosting breaks when you want to control the entire OS, write your own automation, or treat the server like a broader Linux project. For everyone else, the panel doing the routine work is usually a benefit, not a compromise.

The first settings to change on any path

Once the server has generated its files, open server.properties. Any changes here need a full server restart before they take effect. Make small changes, restart, and test one thing at a time so you know which change actually helped.

motd=Private Minecraft server
difficulty=easy
white-list=true
online-mode=true
enable-rcon=false

On Minecraft 26.3, white-list=true is now the default. That is good for private servers because strangers cannot join just because they know the address, but it also means your friends must be added before they can connect. If you make yourself an operator, that op account is whitelisted automatically.

/whitelist add Alex
Setting Default What to set and why
motd A Minecraft Server Set a clear name or message so players know they reached the right server. It has no real performance cost, so keep it simple and readable.
max-players 20 Set this to the real size of your group, not an aspirational crowd size. It does not reserve slots in RAM by itself, but it sets expectations and caps accidental overload.
difficulty easy Choose the experience your group wants. This is more about play style than performance, though calmer worlds can indirectly reduce active entities and pressure.
white-list true Leave it on for a private server. It blocks unknown accounts before they become an admin problem.
online-mode true Keep this true on any internet-facing server. It checks players against Mojang’s account service and prevents fake accounts from joining under made-up identities.
view-distance 10 Reduce this first if players report heavy lag while exploring. It lowers chunk sending, which cuts bandwidth use and memory pressure, but players see less of the world at once.
simulation-distance 10 Reduce this if mob AI, redstone and general ticking are the problem. It cuts main-thread CPU load, but farms and contraptions work over a smaller area around players.
enable-rcon false Leave it off unless a remote admin tool genuinely needs it. RCON exposes remote control of the server; with a weak password, that is an unnecessary security risk.

Common problems: symptom, likely cause, first fix

Symptom Likely cause First fix
Server closes instantly after launch eula.txt still says eula=false Edit the file to eula=true, save it, and start again. This works because the server intentionally refuses to finish booting until the EULA is accepted.
A Java version error as soon as the server starts Wrong Java runtime for that Minecraft version Use Java 25 for Minecraft 26.1 and newer, or Java 21 for 1.20.5 to 1.21.x. The server cannot run bytecode built for a newer Java than the runtime understands.
Friends time out when joining Wrong IP, missing port forward, blocked firewall, or the wrong protocol/port for the edition Check the public address, confirm 25565/TCP for Java or 19132/19133 UDP for Bedrock, and check both the host firewall and router or VPS firewall. If this helps, the server becomes reachable from outside your network.
“You are not white-listed on this server” white-list=true, which is the default on 26.3 Add the player with /whitelist add. This is not a network problem; the server is reachable and deliberately refusing entry.
It worked, then stopped working days later Your home public IP changed Check whether your external IP is different and give friends the new address. This happens because many home internet connections use dynamic public IPs.
Lag even with only a few players View distance or simulation distance is too high for the CPU and RAM available, or the heap is too small Reduce view distance or simulation distance first, then review your -Xmx setting. If players stop rubber-banding and chunk loading steadies, you have removed load from the main thread or from memory pressure rather than masking it.

Tune it first or move to rented hosting?

Do not move hosts at the first sign of trouble. A lot of small private servers become stable just by lowering distance settings, matching the Java version properly, and fixing the network path. Move only when the limit is structural rather than a bad setting.

If this is happening Tune it first Move when…
Exploration causes lag spikes Lower view-distance; it reduces chunk send/load pressure on bandwidth, RAM and disk activity The server is still struggling after sensible distance reductions and clean Java heap settings
Mobs, farms or redstone feel delayed Lower simulation-distance; it cuts main-thread ticking load Your group wants those systems active over a wider area than the home machine can handle
Friends regularly cannot connect Recheck firewall rules, port forwarding and the current public IP You are tired of fighting dynamic IP changes or cannot make port forwarding work reliably
The server disappears after reboots or sleep Stop using your everyday gaming PC as the host, or improve start-up handling You need the server available independently of your own machine usage
You keep delaying updates and backups Set a routine and test it You want the panel to handle more of the maintenance burden for you
You want mods, proxies or more admin features Check whether your current path supports the software stack cleanly The current path makes every change harder than it should be

As a rule, stay at home if the only issues are configuration mistakes you can fix once. Move to rented hosting when your friction is permanent: unreliable availability, awkward networking, or more Linux and backup admin than you actually want to own.

Need a rented option instead?

If home hosting looks fragile or a VPS feels like too much maintenance, compare managed plans by CPU quality, location, backups and panel access rather than headline RAM alone.

Compare the best Minecraft server hosts

Minecraft server FAQ

Can I host a Minecraft server for free?

Yes, at home it costs nothing beyond electricity if you already have suitable hardware and internet. The trade-off is that you must handle uptime, port forwarding, firewall rules, backups and a dynamic public IP yourself. If you are comparing no-cost approaches more broadly, look at these free Minecraft server options with the same question in mind: who is managing the hard bits?

How much does it cost to run a Minecraft server?

At home, nothing beyond electricity. Managed plans in our comparison start at £2.25/month ($2.99) for 2GB, and a 4GB plan with a UK node starts at £3.75/month ($4.99). A VPS varies, but the important point is that cheaper is not always better if single-thread CPU performance is weak or the node is oversubscribed.

What Java version does a Minecraft server need?

Minecraft 26.1 and newer require Java 25. Minecraft 1.20.5 to 1.21.x require Java 21. You only need a JRE for the server, not a full JDK.

Why can’t my friends join my Minecraft server?

The usual causes are a blocked firewall, missing port forwarding on a home router, the wrong public IP, the wrong port or protocol for the edition, or the whitelist refusing them. On a home connection, another common cause is that the public IP changed since last week. Start with reachability first, then check whitelist and version details.

Should I host at home or rent a Minecraft server?

Host at home if cost matters most and you are happy to manage networking and downtime risk yourself. Rent a VPS if you want full control and are comfortable with Linux admin. Use managed hosting if you mainly want the server to stay available with the least routine maintenance.

More Minecraft server guides

More Minecraft guides, plus our host comparisons for each edition.

Written for Minecraft Java Edition 26.3 and Bedrock Dedicated Server. Java versions and default settings are from the official server documentation.

About the author
Linus Pierre – founder of Game Server Hosting
GSH Founder

Lifelong survival gamer · Server nerd · Sweden/UK

I'm an avid gamer from Sweden with a lot of time spent in England in the last 5 years who loves survival games — ARK, Palworld, Valheim, Sons of the Forest, V Rising and plenty of WoW and Dota 2 on the side. I created this site to help other gamers find the best server hosting without wasting money on laggy providers.

I've been hosting my own game servers since Minecraft first came out, from Hamachi LAN nights with friends to modded survival worlds and dedicated servers for ARK, Valheim and Palworld. Years of running, breaking and fixing servers taught me what actually makes a host worth paying for, and that's what I share here.

How we compare: Prices, specs and server locations are checked against each provider's own website and compared on price-to-performance.

Similar Posts