Free tools Windows power users keep installed
One-click scans. No signup required.
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
Godlike.Host offers hosted Minecraft Java servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
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.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Minecraft | Java & Bedrock Deluxe Collection | Windows Digital Code | $39.99 | Buy on Amazon |
| 2 |
|
Minecraft | Java & Bedrock Ultimate Collection | Windows Digital Code | $49.99 | Buy on Amazon |
| 3 |
|
Minecraft | Standard Edition | XBOX Digital Code | $19.99 | Buy on Amazon |
| 4 |
|
Minecraft | $6.99 | Buy on Amazon |
| 5 |
|
Minecraft - Bedrock Edition PS4 | $42.98 | Buy on Amazon |
- 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
- 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:
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →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.
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
- 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:
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.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →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
- 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.
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.
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
- 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.
Recommended Free Tools
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.
- Tell players to leave and issue the server’s
stopcommand. - Wait until Java exits and the console returns to the shell prompt.
- Copy the world and configuration files to a dated backup location.
- Keep more than one backup generation so a damaged or unwanted change can be rolled back.
- 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.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
- 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.
Localhost works, but friends cannot connect
Work outward from the host:
- Confirm the server is running and that
server-porthas the expected value. - Test from another device on the same LAN using the host’s private address.
- Allow Java or the configured TCP port through the host firewall.
- Check that the router forwards the same port to the host’s current private address.
- 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.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsSelf-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 -versionworks and the runtime is compatible with that JAR.- The JAR is in its own writable folder.
- The first launch generated
eula.txtandserver.properties. eula.txtcontainseula=true.- The configured
server-portis documented for the firewall and router. server-ipis blank unless a deliberate interface binding is required.localhostworks 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
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.

