Our Discord Find a crew to play with. Join
Discord
Guide - Servers

How to make a Minecraft server

Your own Minecraft server gives you full control over the game, from the player list to the plugins you install. This guide takes you through the whole process: downloading the .jar file, configuring the server and opening it up to your friends.

Hardware requirements

Before you start, make sure your computer (or VPS) meets the minimum requirements. For 2-5 players you need:

  • CPU: at least 2 cores, 4+ cores recommended. Minecraft is single-threaded for its key operations, so clock speed is what counts
  • RAM: at least 4 GB of free memory (2 GB for the server itself plus the system). For 10+ players, allocate 4-6 GB to the server
  • Storage: an SSD is practically a must; an HDD causes lag when chunks load
  • Network: a stable connection with at least 5 Mbps upload. The more players, the higher the requirements
  • Java: Java 21 (Adoptium/Temurin), required since Minecraft 1.20.5

If you're planning a server for more than 20 people or with heavy mods, consider paid Minecraft hosting right away. You'll save time and avoid problems with ports and the bandwidth of your home connection.

Choosing server software

There's no single "Minecraft server": there are several implementations, each with its own strengths.

Vanilla (the official server.jar)

You download it from minecraft.net/download/server. No plugins, no modifications: pure Minecraft, exactly as Mojang designed it. It's good for learning and for playing with a small group, but it lacks admin tools and optimizations.

Paper

The most popular server software in 2026. Paper is a fork of Spigot with hundreds of performance fixes: the server runs more smoothly, chunks load faster and TPS holds at 20 even under heavy load. It supports all Bukkit/Spigot plugins. Download it from papermc.io.

Spigot

Paper's older sibling, still popular but with fewer optimizations. Its only advantage over Paper is 100% compatibility with some older plugins that rely on NMS internals. You build it with the BuildTools tool.

Fabric

If you want mods rather than plugins, Fabric is your pick. It's a lightweight mod loader that gets quick updates for new Minecraft versions. Keep in mind that Fabric uses mods, not plugins: it's a completely different ecosystem from Paper/Spigot.

Our recommendation: For most players, Paper is the best choice. It combines performance with a huge plugin library. We only recommend Vanilla if you deliberately don't want any changes.

Step-by-step installation

The instructions below are for Paper, but the process is almost identical for Vanilla and Spigot: you just swap the .jar file.

1. Install Java 21

Download Adoptium Temurin 21 LTS from adoptium.net. On Windows, run the installer and tick the option to add Java to PATH. On Linux:

sudo apt update && sudo apt install temurin-21-jdk

2. Download the server file

Create a new folder (e.g. minecraft-server), download the paper-1.21.4.jar file from papermc.io and put it in that folder.

3. First launch

Open a terminal in the server folder and run:

java -Xmx4G -Xms4G -jar paper-1.21.4.jar --nogui

The -Xmx4G parameter allocates 4 GB of RAM. Adjust it to your needs, but don't give the server more than 75% of your available RAM.

The server generates its config files and stops with a message about the EULA.

4. Accept the EULA

Open the eula.txt file in a text editor and change eula=false to eula=true. This means you agree to Mojang's terms of use.

5. Start it again

Run the same command again. The server generates the world and is ready to play. In the console you'll see a "Done!" message with the startup time.

Configuring server.properties

The server.properties file is the heart of your server's configuration. The most important options:

  • server-port=25565 - the default port. Only change it if you run several servers on one machine
  • max-players=20 - the player limit. Set it realistically for your server's resources
  • difficulty=normal - the difficulty: peaceful, easy, normal, hard
  • gamemode=survival - the default game mode. Options: survival, creative, adventure, spectator
  • motd=My Minecraft server - the message shown in the server list in the game
  • online-mode=true - verifies players' accounts. Never turn it off unless you use an authentication plugin (e.g. AuthMe) on a server with Geyser
  • view-distance=10 - the chunk render distance. Lower it to 6-8 if the server lags
  • spawn-protection=16 - the spawn protection radius in blocks. Set it to 0 if you use a protection plugin
  • white-list=false - change it to true if you only want to let in selected players
  • enable-command-block=false - turn on command blocks if you need them

After changing options, stop the server with the stop command in the console and then start it again.

Port forwarding: access from the internet

If you run the server on your home computer and want friends to connect from outside your local network, you have to forward a port on your router.

How to do it

  1. Check the local IP of the computer running the server (ipconfig on Windows, ip addr on Linux)
  2. Log in to your router's admin panel (usually 192.168.0.1 or 192.168.1.1)
  3. Find the "Port Forwarding" or "Virtual Servers" section
  4. Add a rule: external port 25565, internal port 25565, protocol TCP, and your computer's IP address
  5. Save, and restart the router if needed

Give your friends your public IP address (check it on whatismyip.com). Keep in mind that a dynamic IP from your internet provider can change, so consider a free domain from a service like No-IP.

Note: Sharing your home IP comes with risks. If the server is going to be public, you're much better off buying Minecraft hosting, which gives you a static IP, DDoS protection and easier management.

Server security

Even a small server for friends can be attacked. Basic protection measures:

  • Don't turn off online-mode - it's the only layer that verifies players' identities. Turning it off lets anyone join under any name
  • Use a whitelist - on a private server, set white-list=true and add players by hand with /whitelist add nick
  • Install a protection plugin - CoreProtect logs every action (who broke what), WorldGuard protects areas and EssentialsX gives you basic moderation commands
  • Back up regularly - copy the world/ folder (and world_nether/, world_the_end/) at least once a day. On Linux, set up a cron job with tar
  • Keep your software updated - Paper and plugins regularly patch security holes. Don't ignore updates
  • Don't give OP to everyone - operator status gives full power. Use a permissions plugin (LuckPerms) to grant specific commands

Hosting vs. your own computer

Running a server on your home PC is free, but it has serious limitations: the computer has to be on 24/7, a home connection has limited upload, there's no DDoS protection, and a power cut means the server goes offline.

Professional Minecraft hosting solves these problems: you get a fixed address, a control panel, automatic backups and technical support. Prices start at about 15 PLN (Polish zloty) a month.

If you don't want to pay, check out free Minecraft hosting. It has limitations (RAM, player and uptime limits), but it's enough for testing and small groups.

Criterion Your own PC Paid hosting
Cost0 PLN (electricity bill)15-100 PLN/month
24/7 availabilityOnly while the PC is onYes
DDoS protectionNoneYes
Port forwardingNeeds setting upNot needed
PerformanceDepends on your hardwareScalable
BackupsManualAutomatic

Invite players to your server

First, ask a friend to test the connection from outside your network. Give them the server address, the port, the game edition and the supported versions. On a private server, add their name to the whitelist before you send the invite.

When you open the server to everyone, submit it to our Minecraft server list and to minecraft-lista.pl, our partner server list. In the description, list the game modes, the rules and how to contact the staff. That way players will know what to expect when they join.