Is this free?
Yes. The server software is free. Everyone joining needs Minecraft: Java Edition, and the hosting PC must stay on while you play.
This guide sets up the official vanilla Java Edition 26.3 server on Windows. Bedrock clients can’t join it. For this release, you’ll need Java 25, and new servers have the whitelist enabled by default.
Install Java 25
The 26.3 version metadata specifies Java 25. An older Java installation from a 1.21 server won’t run it.
- Open the Eclipse Temurin downloads .
- Select 25, Windows, x64, and JDK, then download the MSI installer.
- Run it and keep the PATH option enabled, as covered in Adoptium’s installer instructions .
- Open a new terminal and check:
| |
The version should begin with 25. If it shows an older version, run where.exe java to find which installation Windows is using.
Download the Minecraft 26.3 server
Create a folder such as C:\GameServers\Minecraft26.3. Download Mojang’s server JAR below and save it there as server.jar.
This link is pinned to 26.3, the release listed in Mojang’s announcement .
In File Explorer, enable View → Show → File name extensions before creating the batch file below. Its name must be start.bat, without .txt on the end.
Create start.bat
Save this beside server.jar:
| |
-Xms1G starts the Java heap at 1 GiB; -Xmx4G lets it grow to 4 GiB. The server also uses memory outside that heap. Leave room for Windows and Minecraft if you’re playing on the same PC.
Adjust -Xmx4G to change the limit. Removing nogui enables the server’s graphical window. Keep pause so startup errors stay visible.
First launch and EULA
Run start.bat. The first launch creates files and stops with an EULA message.
Read the Minecraft EULA
. If you agree, open eula.txt, change eula=false to eula=true, and save it. Run start.bat again to generate the world.
Keep the server console open. Enter commands there without a leading /.
Add players to the whitelist
Minecraft 26.3 enables white-list by default
. Add yourself and your friends before trying to connect:
| |
Replace YourName and FriendName with the players’ Java Edition usernames. For an upgraded server, run whitelist on if you want to restrict access to this list.
To give yourself admin permissions, enter op YourName. Only grant operator access to people you trust with commands that change the world and manage players.
Join on the hosting PC
Launch Minecraft: Java Edition 26.3, open Multiplayer → Direct Connection, and enter:
| |
Check that you can join before configuring access for other computers.
Server settings
Enter stop in the server console and wait for it to finish saving. Open server.properties in a text editor. Edit the existing entries rather than replacing the whole file.
| Setting | What to use |
|---|---|
motd | The description shown in the multiplayer list, such as TroubleChute's Server. |
max-players | Your player limit, for example 8. This doesn’t reserve RAM for eight players. |
white-list | Keep true for a server restricted to invited players. |
online-mode | Keep true so Minecraft verifies player accounts. |
server-ip | Leave empty: server-ip=. |
server-port | Leave at 25565 unless you need another port. |
Save, then run start.bat again. If you change the port, use the new value in the firewall, router, and connection address.
Windows Firewall and LAN connections
Java Edition uses TCP port 25565 for player connections. Open PowerShell as Administrator and run:
| |
Windows allows outbound connections by default. If you use another firewall, allow inbound TCP 25565 there too.
Run ipconfig in a terminal. Under your active Ethernet or Wi-Fi adapter, find the IPv4 Address, for example 192.168.1.10.
Players on the same network can use Multiplayer → Direct Connection with that address. Use 192.168.1.10:25566, for example, if you changed the port to 25566.
Port forwarding for internet connections
Reserve the server PC’s local IP in your router’s DHCP settings, then add a port-forwarding rule:
| Router setting | Value |
|---|---|
| External port | 25565 |
| Internal port | 25565 |
| Protocol | TCP |
| Destination | Your server PC’s local IPv4 address |
Find your public IPv4 address by searching what is my IP with any VPN disconnected. Friends outside your network enter that address in Direct Connection. At home, use the local address.
If you have two routers, forward through both. If your ISP uses CGNAT, ask it about a public IPv4 address; forwarding on your router alone won’t allow incoming connections through the ISP’s NAT.
Test with a friend outside your network while the server is running. They must also be on the whitelist and use Java Edition 26.3.
Saving, backups, and updating an older server
Use stop in the console to save and shut down. Wait until the server exits before copying files or updating its JAR.
For a backup, copy the entire server folder to a separate location. This includes the world, server.properties, whitelist.json, and ops.json. The default world folder is world; level-name controls its name.
To update an existing vanilla server:
- Stop it and back up the full folder.
- Work on a separate copy. Replace its server JAR with the 26.3 download above, keeping the filename used by
start.bat. - Install Java 25 and start the copied server. Allow time for world conversion.
- Join with a 26.3 client and check your builds, inventory, and dimensions before inviting everyone back.
Minecraft 26.1 changed the world storage layout , so keep the complete world folder when upgrading from 1.21 or earlier. To return to an older version, restore the backup with its matching server version; don’t open the converted world in the old server.
Troubleshooting
- Java not found or
UnsupportedClassVersionError: checkjava -versionandwhere.exe java. If Windows selects an older installation, replacejavainstart.batwith the quoted full path to Java 25’sbin\java.exe. - Unable to access jarfile: check that
server.jarandstart.batare in the same folder and the JAR has the expected filename. - Not whitelisted: run
whitelist add YourNamein the server console. - Connection timed out: test
localhostfirst, then the LAN address, then the public address from outside your network. Check TCP25565at each step. - Failed to bind to port: stop any other server using that port and leave
server-ip=empty. - More error details: read
logs\latest.login the server folder.