Home Articles How to Create a Minecraft Server: Step-by-Step Guide for 2026

How to Create a Minecraft Server: Step-by-Step Guide for 2026

A working guide: which Java you need, which core to download, what to edit in server.properties, how to forward a port, how to optimize, and which plugins to install. With commands and numbers.

How to Create a Minecraft Server: Step-by-Step Guide for 2026

A guide that gets your server running in one evening: exact files, commands and setting values. No "download the program and click the button" - you get an explanation of what you are editing and why.

You do not need our services for this. Everything below is free and you can do it yourself. We just do it every day and know where people usually trip up.

1. Java: nothing runs without it

A Minecraft server is a Java program. The Java version has to match the game version:

Minecraft versionJava required
1.16.5 and olderJava 8-11
1.17-1.20.4Java 17
1.20.5 and newerJava 21

Use the Temurin build from Adoptium - it is free and has no licensing surprises. After installing, check it in a terminal:

java -version

If the command is not found, Java did not get added to PATH: reinstall and tick the checkbox that adds it to the environment variables.

Comparison of Minecraft server cores

2. The server core

The core is the jar file you will run. It determines performance and plugin support.

CorePluginsNotes
Vanillanothe official server, only for playing with one or two friends
Paperyesoptimized, fixes vanilla bugs, the standard for public servers
PurpuryesPaper plus hundreds of gameplay options
Fabric / Forgemodsfor modded builds; Bukkit plugins do not work

Download the jar from the official PaperMC site (or Purpur) and put it in a separate empty folder. The server creates about a dozen files next to itself, and in a shared Downloads folder that turns into a mess.

3. First launch

Create a launch file in the same folder. On Windows it is start.bat:

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

On Linux it is start.sh:

#!/bin/bash
java -Xms4G -Xmx4G -jar paper.jar nogui

-Xms and -Xmx are the minimum and maximum RAM. Set them to the same value so the garbage collector does not keep resizing the heap. Never set more than the machine physically has.

Run the file. The server will tell you to accept the license and shut down. Open the new eula.txt and change the line:

eula=false   →   eula=true

Run it again and world generation starts. The first start takes one to three minutes.

If the console shows "Can't keep up! Is the server overloaded?" right at startup, you are short on memory or CPU. Lower view-distance (more on that below) before blaming plugins.
Server console and configuration files

4. server.properties: what to change right away

This is the main settings file. These are the values worth changing first:

SettingSet toWhat it does
server-port25565server port; change it if the machine runs several servers
max-playersas neededonline player cap
view-distance8-10how many chunks a player sees. The main lever for server load
simulation-distance5-7the chunks where mobs and machines tick
online-modetruelicense check. Use false only if the server is for cracked clients
difficultynormal / hardworld difficulty
spawn-protection0 or 16radius around spawn where building is blocked
enable-command-blocktrueif you plan to use command blocks
motdyour ownthe line shown in the server list

view-distance is the most underrated setting. Dropping it from 16 to 10 cuts the amount of loaded world several times over, and players barely notice. You can keep simulation lower than render distance: far chunks stay visible, but mobs in them do not tick.

5. How to let players in

Locally the server already works at localhost. To let others join, you need outside access.

If the server runs at home

  1. Find the computer's local IP: ipconfig on Windows, ip a on Linux.
  2. In your router settings, forward port 25565 (TCP and UDP) to that address.
  3. Check that your ISP gives you a public IP: if your external address starts with 100.64-100.127 or 10.x, you are behind carrier-grade NAT and port forwarding will not work. You need a public IP, usually for an extra fee.
  4. Allow Java through the firewall.
  5. Check that the port is reachable from outside with any online port scanner.

If you do not want the hassle, tunnels like playit.gg or Radmin VPN give you an address without port forwarding. That is fine for testing but not for a public project: latency is higher and the address looks ugly.

If the server is on a host

The port is already open and the panel gives you the address. This is the only option if you want the server running around the clock.

6. Permissions, whitelist and first commands

You can give yourself operator status straight from the server console:

op YourName

Useful commands for the console and in game:

CommandWhat it does
/whitelist onlets in only players on the list
/whitelist add Nameadds a player to the list
/gamerule keepInventory trueplayers keep their items on death
/worldborder set 10000limits the world to a 10000-block square
/save-allforces a world save
stopshuts the server down cleanly - do not close the window with the X
Never close the console with the X: the world is saved on shutdown, and killing the process leaves corrupted chunks. Use stop only.
World border on a Minecraft server

7. Optimization: five actions that really help

  1. Limit the world. /worldborder set 10000 - a 5000-block radius covers the server's needs for months and saves tens of gigabytes of disk space.
  2. Pregenerate the map. The Chunky plugin runs through the world in advance, so players do not generate chunks on the fly. The heaviest operation moves out of peak hours.
  3. Lower mob limits. In bukkit.yml, under spawn-limits, setting monsters to 50 and animals to 8 instead of the defaults noticeably reduces load.
  4. Check what eats time. Paper has a built-in profiler: run /spark profiler start, and a couple of minutes later /spark profiler stop. It shows which plugin or mechanism is eating the tick.
  5. Watch TPS. Use the /tps command. 20 is normal; below 18 players already feel lag.
Server RAM and CPU

8. Backups come before plugins

The rule is simple: with no backup, one day your project ends in a single evening. The minimum:

  • An automatic world copy once a day, kept for at least a week.
  • A copy of the plugins folder and configs, separate from the world. Restoring settings is much nicer than rebuilding them from scratch.
  • One copy off the server: on your own drive or in the cloud. A backup on the same disk does not protect you from a disk failure.
  • Test a restore at least once. An untested backup is not a backup.
Server protection and backups

9. The basic plugin set

A public server does not survive without this set. All of these are free and publicly available. Drop them into the plugins folder and they load on restart.

TaskWhat people usually installWhy
Permissions and groupsLuckPermswho is a moderator, what each group can access
Basic commandsEssentialsXhomes, teleports, kits, chat
Build protectionGriefPrevention or WorldGuardclaims and regions
Change logsCoreProtectwho broke what, and a rollback with one command
EconomyVault plus an economy plugincurrency for shops and plugins
Diagnosticssparkfinding the cause of lag
Anti-cheatdepends on the situationwithout it PvP turns into a circus

Install them one at a time and check the console after each one: if startup complains, you know right away which plugin is at fault. Two plugins for one job, such as two anti-cheats or two claim plugins, will almost always conflict.

Plugins combined into one system

10. What makes a server feel alive

Technically the server is ready. Next comes the stuff that decides whether projects live or die, and it costs almost nothing:

  • A goal for the player. A reason to log in tomorrow: progression, economy, rankings.
  • Scheduled events. Even simple airdrops every couple of hours gather people in one place.
  • Moderation in the evening hours. One decent moderator keeps more players than a week of advertising.
  • Your own identity. Menu icons, text style, a recognizable cover. The default look reads as "abandoned".
  • Feedback. Ask your first ten players what is missing. They will tell you straight.
Servers are not abandoned because the owner could not set up a port. They are abandoned when, two weeks in, there is nothing to do and nobody to update the content.

Pre-launch checklist

  1. The right Java version is installed and the core is downloaded from the official site.
  2. eula=true, and the server starts with no errors in the console.
  3. view-distance and simulation-distance are set for your hardware.
  4. The port is reachable from outside, and friends have joined and tested it.
  5. Operator status is granted and the whitelist is on for the test period.
  6. The world is limited by a border and the map is pregenerated.
  7. A backup is set up and has been restored once.
  8. Plugins are installed one at a time, the console is clean, TPS is 20.
  9. You have a plan for the first week: what players will do each evening.
Server launch checklist

If you would rather not do it by hand

We are Cloud Delight, a studio that makes server builds, custom plugins, websites and branding for Minecraft servers. A ready-made server build installs on your host in an evening: plugins are already selected and linked, the economy is balanced, the interfaces are drawn. Renaming to your server's name and installation are included in the price.

Server builds · Plugins · Ready-made projects

And if you read this far and decided to build it yourself, that is great too. The guide above works end to end, and we hid nothing on purpose.

Do not want to put all of this together by hand?

We have been building server builds, plugins and websites for Minecraft servers since 2022. A ready-made solution goes onto your hosting in an evening, and we install it for free.