Skip to main content
← All Guides
Self-Hosting · 6 min read

How to Host a Minecraft Server from Home (Complete Guide)

Full walkthrough for hosting a Minecraft server from home, hardware requirements, Java installation, port forwarding, firewall rules, and performance tuning.

Can You Really Host a Minecraft Server from Home?

Yes, and thousands of people do it. If you have a desktop or laptop with decent specs and a stable internet connection, you can host minecraft server from home without paying a monthly hosting bill. The trade-offs are real though: you are responsible for hardware, uptime, security, and bandwidth. This guide covers everything you need to get a home-hosted Minecraft server running reliably.

Hardware Requirements

Minecraft servers are single-threaded for the main game loop, so clock speed matters more than core count. Here is what to aim for:

ComponentMinimumRecommended
CPUAny 3.0 GHz+ dual-coreIntel i5/Ryzen 5 or better, 4.0 GHz+
RAM4 GB free (2 GB for MC)8–16 GB free (4–6 GB for MC)
StorageHDD with 20 GB freeSSD, NVMe preferred
Network10 Mbps upload25+ Mbps upload

Upload speed is the most common bottleneck when you host minecraft server from home. Each connected player uses roughly 0.5–1.5 Mbps of upload bandwidth depending on view distance and activity. Check your actual upload speed at speedtest.net, the number your ISP advertises is often higher than reality.

Use our RAM calculator to estimate how much memory your server needs based on player count and plugins.

Installing Java

Modern Minecraft (1.20.5+) requires Java 21. On Ubuntu/Debian:

sudo apt update
sudo apt install openjdk-21-jre-headless -y
java -version

On Windows, download the Adoptium Temurin JDK 21 installer from adoptium.net and add it to your PATH.

Downloading and Running the Server

Download the server jar for your preferred platform, Paper is recommended for plugin support and performance. Create a dedicated folder:

mkdir ~/minecraft-server && cd ~/minecraft-server
curl -O https://api.papermc.io/v2/projects/paper/versions/1.21.5/builds/latest/downloads/paper-1.21.5.jar

Start the server once to generate files:

java -Xms2G -Xmx4G -jar paper-1.21.5.jar nogui

Accept the EULA by editing eula.txt and setting eula=true. For optimized startup flags, check our JVM flags guide.

Port Forwarding

Your router blocks incoming connections by default. To let external players reach your server, you need to forward port 25565 (TCP) to your computer's local IP address. The process varies by router, see our detailed port forwarding guide for step-by-step instructions for common router brands.

Find your local IP:

# Linux
ip addr show | grep "inet " | grep -v 127.0.0.1

# Windows
ipconfig | findstr "IPv4"

Log into your router (usually 192.168.1.1 or 192.168.0.1), find the port forwarding section, and create a rule forwarding external port 25565 to your machine's local IP on port 25565.

Firewall Configuration

On Linux, open the port in your firewall:

sudo ufw allow 25565/tcp
sudo ufw status

On Windows, create an inbound rule in Windows Defender Firewall for TCP port 25565.

Keeping the Server Running

On Linux, use systemd or screen to keep the server alive after you close your terminal:

screen -S minecraft
java -Xms2G -Xmx4G -jar paper-1.21.5.jar nogui
# Press Ctrl+A then D to detach
# Reattach later: screen -r minecraft

For a proper systemd service, create /etc/systemd/system/minecraft.service to enable automatic starts on boot.

Security Considerations

When you host minecraft server from home, your public IP address is visible to everyone who connects. This is a real concern, read our home IP protection guide for mitigation strategies including reverse proxies and TCP tunnels.

Additionally, protect against DDoS attacks with the strategies in our DDoS protection guide, and set up automated server backups in case anything goes wrong.

Performance Tuning

Home hardware is usually less powerful than dedicated hosting. Compensate with these settings in server.properties:

  • view-distance=8, reduces chunk loading radius (default is 10).
  • simulation-distance=6, limits entity processing range.
  • network-compression-threshold=256, compresses packets to save upload bandwidth.

Paper's paper-world-defaults.yml offers dozens more knobs for entity activation ranges, mob spawn limits, and tick rates. Tune aggressively if you see TPS dropping below 18.

Is Home Hosting Right for You?

Home hosting is excellent for small groups of friends (2–10 players), learning server administration, and keeping costs at zero. It is less ideal for public servers with 20+ concurrent players, since you need guaranteed uptime, DDoS protection, and enough upload bandwidth to handle the load. For larger communities, compare the trade-offs in our home vs cloud hosting comparison.

Skip the home server hassle, Astroworld Hosting handles hardware, DDoS protection, and backups so you can focus on your community.

Related Tools & Resources

🔧

Minecraft Tools

Calculators, generators & server tools

🧱

Item Database

Browse all Minecraft items, stats & recipes

⚒️

Crafting Recipes

Visual crafting guides for every recipe