How to make a Minecraft server step by step
Setting up your own Minecraft server is one of the most commonly searched topics in the Minecraft community. Below we describe the whole process step by step, from choosing the software and configuring it to inviting your first players. We cover both Java Edition and Bedrock Edition.
Step 1: choose your server software
The first decision is the server engine. Each one has its strengths:
- Vanilla (official): the server.jar file from Mojang. No mods or plugins, but it guarantees 100% compatibility with the client. Download it from minecraft.net.
- Paper: an optimized fork of Spigot. It supports Bukkit/Spigot plugins, runs faster than vanilla and has performance fixes built in. Recommended for most servers.
- Spigot: a widely used plugin engine. Compatible with thousands of plugins. Paper is its fork, so most Spigot plugins work on Paper too.
- Fabric: a lightweight mod loader. If you want a server with Fabric mods (for example Lithium), use Fabric Server. It does not support Bukkit plugins.
- Forge/NeoForge: for servers with Forge mods. It needs more RAM, but gives you access to thousands of tech and gameplay mods.
- Purpur: a fork of Paper with extra configuration options. For admins who want maximum control.
- Bedrock Dedicated Server: the official Bedrock Edition server from Mojang. A separate installation with different configuration files.
For beginners we recommend Paper: it combines performance with plugin support and is the easiest to configure. Read more about server types in our comparison of server engines.
Step 2: prepare your environment
Java Edition
- Install Java: download it from adoptium.net (Temurin JDK), in the version your Minecraft version requires. Check the installation with the
java -versioncommand in a terminal. - Create a folder for the server: for example
C:\MinecraftServer(Windows) or~/minecraft-server(Linux/Mac). Keep it in a separate location. - Download server.jar: from the official site (vanilla) or from papermc.io (Paper). Put the file in the folder you created.
Bedrock Edition
- Download Bedrock Dedicated Server from minecraft.net.
- Extract the ZIP archive into a folder of your choice.
- On Windows, run
bedrock_server.exe. On Linux:LD_LIBRARY_PATH=. ./bedrock_server.
Step 3: first launch and the EULA
Start a Java server with this command:
java -Xmx4G -Xms4G -jar server.jar nogui The -Xmx4G and -Xms4G parameters give the server 4 GB of RAM. Adjust that to what you have available:
- 2 GB: the minimum, enough for 2-5 vanilla players
- 4 GB: recommended for 5-15 players or a server with plugins
- 6-8 GB: a modded server or 20+ players
- 12+ GB: a large community server with many plugins
On the first launch the server generates an eula.txt file and stops. Open the file and change eula=false to eula=true. This accepts the Mojang license; without it the server will not start. Then start the server again.
Step 4: configure server.properties
After the first full start, the server generates a server.properties file. The most important settings:
- server-port=25565: the default port. Change it only if you have a reason to.
- difficulty=easy/normal/hard: the difficulty level.
- max-players=20: the maximum number of players.
- online-mode=true: verifies players' accounts. Never turn it off without a reason: turning it off lets players with pirated copies in, which creates security problems.
- white-list=false: set it to true if you want to restrict access to invited players.
- motd=: the message shown in the server list. Supports color codes.
- view-distance=10: the view range in chunks. Lower it to 6-8 if you have performance problems.
- spawn-protection=16: the radius of the protected area around spawn (in blocks). Set it to 0 if you use protection plugins.
You will find the full list of server.properties settings in our detailed configuration guide.
Step 5: port forwarding
For players from the internet to join your server, you have to open a port on your router:
- Find your local IP address: type
ipconfig(Windows) orifconfig(Linux/Mac) in a terminal. Look for an address like 192.168.x.x. - Log in to your router's admin panel, usually at 192.168.0.1 or 192.168.1.1 in a browser.
- Find the Port Forwarding section (it may be called "Virtual Server" or "NAT").
- Add a rule: port 25565 (TCP), forwarded to your local IP address.
- Save the settings and restart the router if required.
Check your public IP address at whatismyip.com; that is the address you give to players. If your internet provider changes your IP dynamically, consider a DDNS service (for example No-IP or DuckDNS) to get a stable address.
Step 6: invite players
Players join the server by entering your public IP address (and the port, if you changed the default) in the multiplayer menu. For players on the same local network, the local address (192.168.x.x) is enough.
If you set white-list=true, add players with this command:
/whitelist add PlayerName Alternative: server hosting
If you do not want to keep the server on your own computer (power use, the computer has to be on 24/7, a weak internet connection), consider hosting:
- Apex Hosting: international, with servers in Europe
- PebbleHost: budget hosting with good performance
Hosting removes the need for port forwarding and gives you a fixed IP address, DDoS protection and 24/7 availability. You will find the full comparison in the Minecraft hosting guide.
Next steps
- Installing plugins: add EssentialsX, WorldGuard, LuckPerms and other key plugins
- Server protection: secure your server against griefers and exploits
- Performance optimization: reduce lag and improve TPS
- Backups: set up automatic world backups
- Realms vs server: compare with Mojang's official service
Creating a Minecraft server can seem complicated at first, but after your first successful setup the whole process becomes intuitive. Start with Paper and a few basic plugins, invite your friends, and grow the server gradually as your needs grow.