Set Up a Minecraft Server: Quick Start & Settings 2026
Learn how to set up a Minecraft server in five simple steps. In just 15 minutes, you can invite your friends to join!
Learn how to set up a Minecraft server in five simple steps. In just 15 minutes, you can invite your friends to join!
Getting an already installed Minecraft server ready to run takes five steps: check the server files, accept the EULA, start the server, configure server.properties, and set up port forwarding. If you follow this order, you will usually have your server running within 15 minutes and can invite your friends.
Quick check: start your server in 5 steps
server.jar in its own folder? Is Java installed and up to date?eula.txt and change eula=false to eula=true. The server will not start without this step. The Mojang EULA is the binding basis.screen or run it directly in the terminal.online-mode, server-port (default: 25565) and white-list.Quick-start commands:
Windows/Linux (minimal example):
java -Xms2G -Xmx4G -jar server.jar nogui
Linux with screen for background operation:
screen -S minecraft java -Xms2G -Xmx4G -jar server.jar nogui
Security note:
online-mode=falsedisables Mojang authentication. This makes it possible to spoof player names, and the whitelist no longer protects reliably. Setonline-mode=trueunless you have a compelling reason not to.
A securely configured Minecraft server needs online-mode=true, an active whitelist, daily backups, and stable continuous operation via systemd or a control panel.
| Topic | Details |
|---|---|
| Security first | Set online-mode=true and white-list=true right away; this protects against spoofed identities. |
| Choosing server software | Paper is recommended for plugin servers; Java 25 for Minecraft 26.x, Java 21 for older versions. |
| Network and port | Forward TCP port 25565 in your router; assign the server a static local IP. |
| Automating backups | Back up the world folder daily via cron or the panel; test restores regularly. |
| Nexthosting as an alternative | Hosted Minecraft server with DDoS protection, automatic backups and a German location. |
For most community servers, Paper is the best choice: better performance than Vanilla, full Bukkit/Spigot plugin compatibility, and active development. Vanilla remains a good option if you want a pure Mojang experience without plugins or need to rule out compatibility problems. Purpur builds on Paper and offers additional gameplay tweaks that go beyond the Paper API. Fabric and Forge are the right platforms once you want to use client-side mods.
Java versions in 2026: Minecraft 26.x requires Java 25. For older versions (1.20.x to 1.21.x), Java 21 LTS is enough. You can find the official Java installation files at Java. Important: server software, plugins and mods must all target the same Minecraft version, otherwise you will get errors at startup.
| Software | When it makes sense | Advantages | Disadvantages |
|---|---|---|---|
| Vanilla | Pure Mojang experience, testing | Official, no dependencies | No plugins, lower performance |
| Paper | Community servers with plugins | High performance, large plugin selection | Minor deviations from Vanilla possible |
| Purpur | Gameplay tweaks beyond Paper | Many configurable extras | More configuration effort |
| Fabric | Mods (lightweight) | Fast updates, mod-friendly | No Bukkit plugin support |
| Forge | Large modpacks | Largest mod ecosystem | Slow updates, higher RAM requirements |
The most important parameter at startup is the RAM allocation. -Xms sets the initial memory, -Xmx the maximum. For a small server with 4–8 players, 2–4 GB is enough:
java -Xms2G -Xmx4G -jar paper.jar nogui
nogui prevents the graphical window and saves resources. On a VPS or dedicated server, the server runs more stably this way.
A simple .bat file in the server folder makes startup reproducible:
@echo off
java -Xms2G -Xmx4G -jar paper.jar nogui
pause
Windows Firewall asks for an exception on the first start. Confirm it for private and public networks, otherwise Windows blocks incoming connections on port 25565.
For quick tests, screen is enough. For a 24/7 server, a systemd unit is the cleaner solution:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms2G -Xmx4G -jar paper.jar nogui
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Save the file as /etc/systemd/system/minecraft.service, then run:
systemctl daemon-reload
systemctl enable minecraft
systemctl start minecraft
Pro tip: Never run the server as root. Create a dedicated user (e.g. minecraft) and give it access only to the server folder. You can find logs under logs/latest.log; startup errors, plugin problems and dropped connections are listed there in plain text.
systemctl status minecraft immediately shows whether the service is running or has crashed.The server.properties file is the central configuration file. Changes only take effect after a server restart. Never edit the file while the server is running, since the server may overwrite it when shutting down.
Most important settings with recommended starting values:
online-mode=true — Required for public servers; verifies players against Mojang accounts.white-list=true — Useful for private groups; only listed players are allowed to join.server-port=25565 — Default port; only change it if you run multiple servers on the same machine.server-ip= — Leave empty so the server listens on all network interfaces.max-players=20 — Adjust based on available RAM and upload bandwidth.gamemode=survival — Options: survival, creative, adventure, spectator.difficulty=normal — Options: peaceful, easy, normal, hard.view-distance=8 — On shared VPS or small servers, reduce to 6–8; saves CPU and RAM.simulation-distance=6 — Affects how far entities and redstone stay active; keep it low when resources are limited.spawn-protection=16 — Protects blocks around the spawn from non-OPs; set to 0 if not needed.pvp=true — Enable or disable PvP depending on your server concept.enable-command-block=false — Only enable if you deliberately use command blocks; a security risk on public servers.enable-rcon=false — Only enable RCON if you need a remote console; then set a strong password.rcon.password= — Choose a long, random password and never leave it empty.op-permission-level=4 — Level 4 grants full OP access; use level 2 or 3 for moderators.motd= — Message shown in the server list of the launcher; keep it short and clear.The Minecraftinfo site explains all options in more detail in a clear overview.
Remember:
online-mode=trueandwhite-list=truetogether are the most effective baseline protection. If you setonline-mode=false, you open the door to spoofed player names, even if a whitelist is active.
The default port for Minecraft Java Edition is TCP 25565. For players outside your network to connect, this port must be forwarded from the router to the server's local IP.
Setting up port forwarding:
192.168.1.1 or 192.168.0.1 in your browser).192.168.1.100).Important: The server's local IP must be static. If it changes after a restart, the port forwarding rule points to nothing. Either assign the IP statically in the operating system or reserve it by MAC address in the router's DHCP settings. Beginners often fail here because the dynamic IP changes after a restart.
Firewall rules:
Windows Firewall (PowerShell as administrator):
New-NetFirewallRule -DisplayName "Minecraft Server" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow
Linux with ufw:
ufw allow 25565/tcp
ufw reload
Linux with iptables:
iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
Local play vs. internet:
192.168.1.100:25565).CGNAT note: Some internet providers do not assign their own public IPv4 address but share one via CGNAT. In this case, port forwarding does not work. The solution is a VPS or a hosted game server, which comes with its own public IP.
online-mode=true and never disable it without a compelling reason.white-list=true) and only add players you know.prevent-proxy-connections=true to make VPN abuse harder.If you run your server at home, you are defenseless against DDoS attacks. Your own IP becomes visible as soon as someone joins the server. Hosted solutions with integrated DDoS protection, such as those Nexthosting offers for Minecraft servers, filter out attacks before they reach the server.
The systemd unit from the previous section automatically restarts the server after a crash (Restart=on-failure). You can also set up scheduled restarts via cron, e.g. daily at 4:00 AM, when hardly any players are online:
0 4 * * * systemctl restart minecraft
Pro tip: Announce scheduled restarts in the game. Paper and Purpur support broadcast commands that you can run via script before the restart: say Server restarts in 5 minutes.
/op PlayerName — Grants a player OP permissions./deop PlayerName — Revokes OP permissions./whitelist add PlayerName — Adds a player to the whitelist./whitelist remove PlayerName — Removes a player./whitelist list — Shows all listed players./ban PlayerName — Bans a player permanently./pardon PlayerName — Lifts a ban./kick PlayerName — Kicks a player from the session.All three files are located in the server folder. ops.json contains OP players with their UUID and permission level; whitelist.json lists allowed players. Changes to these files are applied directly after /whitelist reload or /op, without a server restart. The usercache.json stores the most recently seen player names and UUIDs.
If /op has no effect, first check whether the player name is entered correctly in ops.json and whether the UUID is correct. Incorrect UUIDs often occur when online-mode=false was active and was later switched to true.
RCON allows you to run server commands remotely. Enable it in server.properties:
enable-rcon=true
rcon.port=25575
rcon.password=YourStrongPassword
Only use RCON on the local network or over a VPN. If you leave the RCON port publicly reachable, you risk brute-force attacks on the password.
The world directory (by default world, world_nether, world_the_end) is the heart of the server. If you lose it, you lose everything. Also back up server.properties, ops.json, whitelist.json and the plugins folder.
Recommended retention: 7 days of daily backups, 4 weeks of weekly backups, 3 months of monthly backups. This way you always have a restore point, even if a problem is only noticed days later.
0 3 * * * tar -czf /backups/minecraft-$(date +\%Y\%m\%d).tar.gz /opt/minecraft/world* /opt/minecraft/server.properties
find /backups -name "minecraft-*.tar.gz" -mtime +7 -delete
On Windows, Task Scheduler handles this with a PowerShell script that uses Compress-Archive.
systemctl stop minecraft (Linux) or the console command stop.Important: Test your backups regularly. A backup that cannot be restored is worthless. Run a test restore at least once a month, ideally on a second server or in a separate directory.
Plugins run on the server side and require Paper- or Bukkit-compatible server software. Players do not need to change anything on the client. Mods (Fabric, Forge) change the game more deeply and usually require all players to have the same mods installed.
Installation steps for plugins (Paper):
plugins folder.Installation steps for mods (Fabric/Forge):
mods folder.view-distance and simulation-distance values that are too high with mods: Mods increase the server load considerably; reduce the values to 6–8.For detailed guides on modpacks and plugin management, you will find further guides on Nexthosting.
After ordering a game server from a host like Nexthosting, a few settings in the control panel should be checked right away:
-Xms and -Xmx set correctly? Many panels let you enter them directly.You will find internal links to the relevant help pages and product pages directly in the Nexthosting panel. For more in-depth configuration steps, the panel points to suitable guides.
When setting up a new server, it is tempting to install plugins right away and start building the world. From an operator's perspective, that is the wrong order.
The first thing I check is online-mode=true combined with an active whitelist. Not because attacks are inevitable, but because an open server without authentication can be found by bots within minutes. The protection costs nothing and takes two minutes to set up.
The second is the RAM configuration. Too little memory leads to lag spikes and crashes that are hard to debug. Too much reserved RAM on a small VPS can starve other processes. The rule of thumb: set the initial value (-Xms) to half of the maximum (-Xmx) and watch how usage develops under load.
The third is backups. Not tomorrow, not after the first game night. Right away. An automated cron job or the panel's backup feature takes five minutes to set up and has saved more than one server operator from complete data loss.
If you get these three points right from the start, you have a stable foundation. Everything else, plugins, gameplay tweaks, custom maps, can be built up afterward at your own pace. For operators who want to avoid the effort of networking, DDoS protection and backups, a hosted server from Nexthosting is a pragmatic alternative.
If you run your server at home, you bear the full effort yourself: port forwarding, firewall, electricity, upload bandwidth, and round-the-clock availability. That works well for small groups of friends, but quickly hits its limits once more players join or the server needs to be reachable around the clock.
A hosted Minecraft server from Nexthosting comes with DDoS protection, automatic backups and an intuitive control panel, without you having to worry about network configuration or hardware. The German location ensures low latency for players in Central Europe. If you grow, you can adjust resources in the panel without moving.
Self-hosting remains a good choice if you want full control over the hardware, already run a powerful home server, or are building an isolated test network. For everything else, especially for communities with regular play sessions, a managed server is the more stable solution.
Take a look at the available plans directly and set up your server in just a few minutes.
You need a current Java installation (Java 21 or Java 25, depending on the Minecraft version), the server.jar of your chosen server software (Vanilla, Paper or Purpur), and TCP port 25565 opened in your router and firewall.
For players on the same home network, the local IP is enough. For players connecting over the internet, give your public IP address, which you can find by searching for “my IP” in a search engine, for example. A fixed domain with an SRV record is more convenient than a changing IP.
In the Minecraft launcher, click “Add Server” under “Multiplayer,” enter the IP address (and, if needed, the port after a colon), and connect.
Self-hosting on an existing PC is free, apart from electricity and bandwidth. A managed game server from a host like Nexthosting is available for a monthly fee; you can find the exact prices on the Nexthosting product page.
The most common causes are: the firewall blocks port 25565, the port forwarding rule in the router is missing or points to the wrong IP, online-mode=true with an offline account, or the server has not finished starting yet. Check logs/latest.log for the exact error messages.