Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To make a Minecraft 1.20 Java server, download the official server JAR for the exact 1.20.x build you want, install a compatible Java Runtime Environment, run the JAR once to generate its files, accept the EULA in eula.txt, configure server.properties, and start it again. Use localhost or the host computer’s private address for local play. For friends outside your home, forward the server port—25565 by default—to the host computer and give the address only to people you trust.

What you need before you start

This guide is for a self-hosted Minecraft Java Edition server running a 1.20 release. Java server software is free to download from Minecraft, but it is not a one-click application: the computer hosting it needs a compatible Java Runtime Environment (JRE), a writable folder, and a network path for every player who will connect.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • A computer that can remain powered on while people play.
  • The official Java server JAR for the exact 1.20.x build you intend to run.
  • A compatible JRE and a terminal or command prompt.
  • Administrator access to create the server folder and allow Java through the host firewall.
  • Router access if players will join from outside your home network.
  • A backup location for the world and configuration files.

The official download information says that Java Edition requires a compatible JRE to launch the server JAR. It does not define one Java major version that applies to every 1.20 JAR, so check the requirement for the exact build you downloaded rather than assuming that any installed Java version will work.

Choose the exact Minecraft 1.20 server build

“Minecraft 1.20” covers a series of 1.20.x releases. Your server and every client that joins must use the same Java Edition version and build. Select the intended server JAR from Minecraft’s official server-download page. The 1.20 release is the Trails & Tales update; its release information includes the server JAR and server-properties references.

#1 Best Overall
Minecraft | Java & Bedrock Deluxe Collection | Windows Digital Code
  • DELUXE COLLECTION — Includes Minecraft: Java & Bedrock Edition, three Bedrock add-ons, three exclusive Character Creator items, and 700 Minecoins.
  • CREATE YOUR WORLD — Build whatever you imagine in an infinite world that’s unique in every playthrough.
  • EXPLORE AND CRAFT — Discover biomes, resources, and mobs, then craft your way through a sandbox world filled with surprises.
  • SURVIVE THE ADVENTURE — Face mysterious foes, travel across exciting landscapes, and venture into perilous dimensions.
  • PLAY TOGETHER — Play cross-platform with friends in Bedrock Edition on console, mobile, and PC, or join community servers in Java Edition on PC, Mac, and Linux. Online console multiplayer requires a platform-specific subscription (sold separately).

Save the original filename. Commands later in this guide use minecraft_server.1.20.x.jar as an example, but you must replace that text with the filename you actually downloaded. Do not rename the file unless you also update every command that refers to it.

Why the exact build matters

  • A client on a different 1.20.x build can receive a version-mismatch message or fail to join.
  • Java compatibility can differ between server builds, so troubleshoot the JAR you selected, not a generic “Minecraft 1.20” label.
  • World files and server settings should be backed up before changing to another build.

Install and verify Java

Install a JRE that the selected server JAR supports. A full Java Development Kit is not required merely to run the server, although some administrators already have one installed. Follow the Java vendor’s installation process for your operating system, then open a terminal (macOS or Linux) or Command Prompt/PowerShell (Windows) and run:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
java -version

The command should print a Java version instead of an error. The number shown is evidence that the shell can find Java; it does not by itself prove that the selected 1.20 JAR is compatible. If the JAR’s documentation requires another major version, install that compatible runtime and make sure the java command resolves to it.

If the command is not found

On Windows, install the JRE and ensure its executable directory is on the system PATH, then open a new Command Prompt and run java -version again. On macOS or Linux, reopen the terminal after installation and check the PATH. If multiple Java installations exist, remove the ambiguity by selecting the compatible installation as the default before starting the server.

Create a dedicated server folder

Create a folder used only for this server, such as Minecraft Server. Put the downloaded JAR in it. Keeping the JAR, world, logs, EULA file, and properties file together makes it easier to back up the world, replace the server build, and identify which files belong to this instance.

Avoid placing the server in a temporary download directory. The account running Java must have permission to create and modify files in the folder. If you plan to run more than one server, use a separate folder for each one so that their worlds, ports, and configuration files cannot be mixed accidentally.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run the server once to generate its files

Open a terminal in the new folder. On Windows, you can use the folder’s address bar to type cmd or open PowerShell there. On macOS or Linux, use cd to change to the folder. Launch the JAR with:

java -jar minecraft_server.1.20.x.jar nogui

Replace the example filename with the exact name of your JAR. The first launch normally creates files and then stops or reports that it cannot load properties or eula.txt. This is expected: those files do not exist until the server has initialized its folder.

Rank #2
Minecraft | Java & Bedrock Ultimate Collection | Windows Digital Code
  • ULTIMATE COLLECTION — Includes Minecraft: Java & Bedrock Edition, five Bedrock add-ons, five exclusive Character Creator items, and 1000 Minecoins.
  • CREATE YOUR WORLD — Build whatever you imagine in an infinite world that’s unique in every playthrough.
  • EXPLORE AND CRAFT — Discover biomes, resources, and mobs, then craft your way through a sandbox world filled with surprises.
  • SURVIVE THE ADVENTURE — Face mysterious foes, travel across exciting landscapes, and venture into perilous dimensions.
  • PLAY TOGETHER — Play cross-platform with friends in Bedrock Edition on console, mobile, and PC, or join community servers in Java Edition on PC, Mac, and Linux. Online console multiplayer requires a platform-specific subscription (sold separately).

If the process does not return to the prompt, stop it with the server console’s normal stop command or with the appropriate interrupt for your terminal. Do not force-close the window while the world is being saved unless the process is unresponsive, because an abrupt termination can leave files in an unsafe state.

Accept the Minecraft EULA

After the first launch, open the generated eula.txt in a plain-text editor. Change the line:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
eula=false

to:

eula=true

Save the file and close the editor. Running the server means agreeing to the applicable Minecraft End User License Agreement; review the agreement and the associated privacy notice linked from the official download information.

Changing the value in a launch command, a screenshot, or a different file will not satisfy the server. It reads eula.txt in the same folder as the JAR, so verify that the filename is exactly eula.txt and that your editor did not append an extra extension such as .txt.txt.

Configure server.properties

Open server.properties with a plain-text editor. Keep one setting per line in the existing key=value format. The following settings are the ones most new private servers need to understand.

Setting Purpose Practical choice
server-port TCP port used by players to reach the server. 25565 is the default Java port. If you change it, use the same value in the firewall rule, router forwarding rule, and players’ connection address.
gamemode Default game mode. Use survival, creative, adventure, or spectator as supported by the selected build.
difficulty World difficulty. Choose peaceful, easy, normal, or hard for your group.
pvp Whether players can damage one another. Set it according to whether your group wants player-versus-player combat.
max-players Connection cap. Set a limit appropriate for the host’s available CPU, memory, storage, and world workload. No universal player count is guaranteed by the official documentation.
level-seed Optional world-generation seed. Enter a seed if you want a reproducible world; leave it empty for a randomly generated seed.
motd Message shown in the multiplayer server list. Use a short description that helps players identify this server.
spawn-protection Protected radius around the world spawn. Set deliberately for your group. A value that is too large can prevent ordinary players from building near spawn.
allow-nether Controls access to the Nether. Leave enabled if your group expects normal progression; disable it only when that restriction is intentional.
server-ip Optional network-interface binding. Leave blank unless you have a specific reason to bind the server to one local interface. A mistaken value can prevent connections.

Save the file before starting the server. The port in server.properties is authoritative for the server; changing a router rule alone does not change the port on which Java listens.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start the configured server

Run the same command again after accepting the EULA and saving your settings. A common starting command is:

java -Xms2G -Xmx2G -jar minecraft_server.1.20.x.jar nogui

-Xms2G and -Xmx2G are examples of initial and maximum Java heap values, not an official universal requirement. The appropriate values depend on the operating system, player count, view distance, world activity, and any mods or plugins. Leave enough memory for the operating system and other applications. If the host begins swapping or becomes unstable, reduce the server’s workload and reassess memory rather than treating the example as a guarantee.

Rank #3
Minecraft | Standard Edition | XBOX Digital Code
  • CREATE YOUR WORLD — Build whatever you imagine in an infinite world that is unique in every playthrough.
  • EXPLORE AND CRAFT — Discover biomes, resources, and mobs, then craft your way through a sandbox world full of surprises.
  • SURVIVAL ADVENTURES — Face mysterious foes, travel across varied landscapes, and venture into perilous dimensions.
  • PLAY TOGETHER — Play solo or join friends in local split-screen and cross-platform play across console, mobile, and PC. Online multiplayer supports up to 8 players.
  • COMMUNITY PLAY — Connect with players on community servers, or subscribe to Realms Plus (sold separately) to play with up to 10 friends on a private server.

The console should remain open while the server is running. It will show startup messages, world loading, player connections, and warnings. Use the server console’s stop command before shutting down the computer so the world can be saved cleanly.

Running without a graphical window

The nogui argument starts the server without its optional graphical interface, which is useful on a machine managed through a terminal or remote desktop. It does not make the server headless in the sense of removing the console: commands and status messages remain available in the terminal.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Connect from the host and your home network

Host computer

On the same computer that runs Java, open Minecraft Java Edition, choose Multiplayer, add a server, and enter localhost. This bypasses the router and tests whether the server process is listening locally.

Another device on the same LAN

Find the host computer’s private LAN address, such as the address assigned by your home router. On the other device, add the server using that private address and the configured port. If you kept the default port, the address can be entered as the private address; if you changed it, append :port, for example 192.168.1.20:25566.

The host firewall must allow Java or the configured TCP port. A successful localhost connection proves that the server is running, but it does not prove that another device can reach it. Test the LAN connection before changing router settings; this separates a server or firewall problem from an internet-routing problem.

Let friends connect over the internet

Remote players need a path from the internet to the computer hosting Java. The process has four parts: a stable private address for the host, a firewall rule, a router port-forwarding rule, and the correct public address for players.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

1. Identify the host’s private address

Use the host computer’s network settings to identify its current private LAN address. Reserve that address in the router’s DHCP settings when possible, or otherwise ensure the forwarding rule is updated if the address changes. Forwarding to the wrong private address is one of the most common reasons a server works on the host but not for friends.

2. Allow the server through the host firewall

Create an inbound rule for Java or for the TCP port listed in server-port. Apply the rule to the network profile used by the host. If your operating system asks whether to allow Java through the firewall when the server starts, approve it only when you understand which network profiles are being enabled.

Rank #4
Minecraft
  • Skins! We have biome settlers, city folk, town folk, and more!
  • The Nether and all its inhabitants. Fight Ghasts and make friends with Pigmen
  • Cross platform play for up to five players between Pocket Edition and Windows 10
  • Revamped touch controls, controller support, and a controller mapping screen
  • Enhanced Weather effects! Accumulating snow and more

3. Forward the port in the router

Open the router’s port-forwarding or virtual-server settings. Forward the configured server port from the router to the host computer’s private LAN address. For a default installation, that means forwarding TCP port 25565. Router labels and screens differ by manufacturer, so use the documentation for your own router for the exact interface steps.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The external port and internal port can be different on some routers, but using the same number is simpler. If you choose a different external port, tell players to include that external port in the address; the server itself still listens on the internal value configured in server.properties.

4. Give trusted players the public address

Remote players enter your home public IPv4 address, followed by the port when it is not the default. With the default port, the address is written as your-public-address:25565. Do not post a home public IP in a public forum, stream description, or social-media post. The official setup guidance identifies public disclosure as a security risk and recommends sharing it only with trusted people.

Your public address can change when the ISP reconnects your router. If a friend connected previously and suddenly cannot, confirm the current public address before changing the server configuration. A changed public address does not require a new world; it requires updating the address given to players.

Security and privacy precautions

  • Share the public address only with people you trust.
  • Forward only the port required for the Minecraft server; do not expose router administration or unrelated services.
  • Use a strong, unique password for the router and keep its firmware maintained according to the manufacturer’s guidance.
  • Keep the server JAR and Java runtime updated when you choose to move to a newer compatible build, but back up first.
  • Run the server under a normal operating-system account when practical instead of granting unnecessary administrative privileges.
  • Back up the world while the server is stopped or after using an appropriate save procedure, and keep at least one copy outside the server folder.
  • Do not assume that a private whitelist replaces network security. A whitelist controls who can join the game; it does not make an exposed service invisible on the internet.

Back up and update the server safely

The world folder is the irreplaceable part of a small private server, but the configuration files are also worth preserving. A useful backup includes the world directories, server.properties, eula.txt, and any permission or operational files created by the server.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Tell players to leave and issue the server’s stop command.
  2. Wait until Java exits and the console returns to the shell prompt.
  3. Copy the world and configuration files to a dated backup location.
  4. Keep more than one backup generation so a damaged or unwanted change can be rolled back.
  5. When testing a new JAR, copy the backup into a separate test folder rather than experimenting on the only live world.

When moving between 1.20.x builds, preserve the old JAR until the new build has loaded the copied world successfully. If the server reports a world-format or version issue, stop it and restore the backup rather than repeatedly opening the only copy with an uncertain build.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot the problems new servers show most often

“java” is not recognized

The JRE is missing or its executable is not on the PATH used by your terminal. Install a JRE compatible with the selected JAR, reopen the terminal, and run java -version. If more than one Java installation exists, select the compatible one as the default.

The server stops and says the EULA has not been accepted

Stop the process, open the eula.txt generated beside the JAR, and change exactly eula=false to eula=true. Save it as plain text and restart from the same folder. Editing a similarly named file elsewhere will have no effect.

Best Value
Minecraft - Bedrock Edition PS4
  • Play and share with friends on console, mobile and Windows 10
  • discover community creations in the new in-game store
  • access new mini games and game modes through servers

The first launch reports that properties or EULA files cannot be loaded

That message is normally part of first-run initialization. Confirm that the JAR is in a writable dedicated folder, let the initial process finish, and inspect the files it generated there. If no files appear, check folder permissions and whether the command is running in the folder you intended.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Localhost works, but friends cannot connect

Work outward from the host:

  1. Confirm the server is running and that server-port has the expected value.
  2. Test from another device on the same LAN using the host’s private address.
  3. Allow Java or the configured TCP port through the host firewall.
  4. Check that the router forwards the same port to the host’s current private address.
  5. Give friends the current public IPv4 address and the correct external port.

If LAN access fails, the router is not the first thing to change: check the host firewall, private address, and server binding. If LAN access works but internet access fails, inspect the forwarding rule and public address.

The server starts, but the client cannot join

Verify that the client is Minecraft Java Edition and that every player is using the same 1.20.x build as the server JAR. A server running one build while a client launches another can produce a version mismatch even when both labels begin with “1.20.” Also check the address and port for typing errors.

The server becomes slow

There is no official universal RAM-per-player number or maximum-player benchmark to rely on. Observe CPU and memory usage, then reduce the workload that is actually causing the problem: lower view distance, reduce max-players, and consider the number of active entities and the world’s activity. Review Java heap settings without starving the operating system. Mods and plugins, if you add them, create additional compatibility and resource variables.

The server cannot be reached from outside despite correct forwarding

Recheck the configured port, firewall rule, host private address, and public address. Some home networks do not provide a directly reachable public address or use additional upstream routing; when the router’s internet-facing address is not the address visible to the wider internet, ordinary forwarding may not be sufficient. Contact the ISP or router administrator before exposing additional services, and do not publish the address while diagnosing the issue.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Self-hosting versus managed hosting

Running the JAR at home gives you direct control over the Java version, files, world backups, and network policy, but you are responsible for the computer, power, router, firewall, updates, and availability. Managed Minecraft hosting removes most router configuration and generally supplies a web control panel, but it introduces a recurring fee and provider-specific limits.

Decision factor Self-hosted at home Managed hosting
Setup effort Install Java, configure files, and operate the network. Usually faster initial setup through a provider panel, subject to that provider’s instructions.
Router and firewall access Required for remote players. Normally not required because the service is internet-facing already.
Recurring cost No server-software fee; you provide the computer, electricity, and connection. A recurring hosting charge; exact prices and terms vary by provider and plan.
Backups You must create and test your own copies. Backup tools may be included, limited, or sold as an option; verify the policy before relying on them.
Capacity Bound by your hardware, connection, and configuration. Bound by the selected plan’s CPU, memory, storage, and player limits.
Geographic latency Usually favors people near your home connection. Depends on the provider’s data-center location and routing.
Java-version control You select and maintain the compatible runtime yourself. Verify that the service supports the exact 1.20 build and Java requirement you need.
Mods and plugins You control installation but also compatibility and maintenance. Support depends on the provider’s software options and plan restrictions.
Privacy and security You protect your public address, router, host, and backups. You still manage account security and game permissions, while the provider operates the infrastructure.

Choose self-hosting when learning the setup and controlling files are more important than convenience. Choose a managed service when router access, home uptime, or maintenance responsibility is the obstacle, after verifying support for your exact 1.20 JAR and required features.

A reliable first-session checklist

  • The downloaded JAR matches the intended Minecraft 1.20.x Java Edition build.
  • java -version works and the runtime is compatible with that JAR.
  • The JAR is in its own writable folder.
  • The first launch generated eula.txt and server.properties.
  • eula.txt contains eula=true.
  • The configured server-port is documented for the firewall and router.
  • server-ip is blank unless a deliberate interface binding is required.
  • localhost works on the host.
  • The host’s private address works from another device on the LAN.
  • The firewall and router forward only the required port.
  • Remote players received the current public address privately.
  • A tested backup exists before the world becomes important.

What a successful setup looks like

A working 1.20 server has a compatible Java runtime launching the selected official JAR, an accepted EULA beside that JAR, and a saved server.properties file defining the gameplay settings and listening port. The host can join with localhost; nearby devices use the host’s private address; remote players use the current public address and a router rule that forwards the configured port to the host. Keeping those three connection paths separate makes failures easier to diagnose and keeps your home address limited to trusted players.

Quick Recap

Bestseller No. 4
Minecraft
Minecraft
Skins! We have biome settlers, city folk, town folk, and more!; The Nether and all its inhabitants. Fight Ghasts and make friends with Pigmen
$6.99
Bestseller No. 5
Minecraft - Bedrock Edition PS4
Minecraft - Bedrock Edition PS4
Play and share with friends on console, mobile and Windows 10; discover community creations in the new in-game store
$42.98

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.