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
Prefer not to run the server on your own PC? Godlike.Host offers hosted Minecraft Java servers with free DDoS protection and up to three free backups a day.
To make a vanilla Minecraft 1.17 server, install Java 16 or newer, place the matching Minecraft server JAR in its own folder, run it once to generate the configuration files, accept the EULA, configure server.properties, and launch it again. Players on the same computer can connect through localhost; players elsewhere need your firewall and router configured for the server port, normally TCP 25565.
What this guide supports
This procedure is for Minecraft: Java Edition, not Bedrock Edition. Minecraft’s official server setup is Java Edition-only. Use the exact server JAR that matches the clients: a 1.17 client should join a 1.17 server, while a 1.17.1 group needs the separate 1.17.1 server JAR. Minecraft 1.17.1 was released as a follow-up update with fixes, so do not mix the two versions.
Recommended Free Tools
You will need an always-on computer or virtual machine, permission to install software, a Java runtime, the server JAR, and (for players outside your home) access to your router and host firewall. There is no single official RAM-per-player or bandwidth number for vanilla 1.17; actual requirements vary with view distance, simulation distance, player count, mods, and how much of the world is being generated.
Install Java 16 or newer
Mojang’s 1.17 release notes require Java 16 or above for custom Java installations and third-party launchers. Install a Java 16-or-newer runtime or JDK appropriate for the host operating system, then verify it from a terminal or command prompt:
#1 Best Overall
java -version
The output should show version 16 or a later release. If the command is not found, Java is missing or is not on your system PATH. If the output shows an older release, install a newer runtime and make sure the command prompt is using that installation. A “class version” error also normally means that the runtime is too old for the server JAR.
Prepare the server folder and JAR
- Create a dedicated folder, for example
Minecraft Server. Avoid storing the server in a temporary downloads folder. - Download the official Minecraft server JAR for the exact release your group will play. Keep the original filename, or note the new name if you rename it.
- Place the JAR directly inside the server folder. Keep this folder separate from your regular single-player saves.
- Plan a backup location before the first world is generated. The world folders become valuable data as soon as anyone starts playing.
The command below uses a placeholder filename. Replace <server-jar-name>.jar with the exact filename in your folder.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Run the server once to create its files
Open a terminal or command prompt in the server folder. On Windows, you can hold Shift while right-clicking the folder and choose the option to open a terminal there; on macOS or Linux, use cd to change into the folder. Start the server without a graphical interface:
java -jar <server-jar-name>.jar nogui
Omit nogui if you specifically want the graphical server window. The first run creates files such as eula.txt, server.properties, and the world directory, then stops because the EULA has not yet been accepted. That stop is expected.
Accept the EULA
- Open the generated
eula.txtin a plain-text editor. - Read the Minecraft EULA.
- Change
eula=falsetoeula=trueonly if you agree to the terms. - Save the file without changing its name or extension.
The server will not complete startup while the file remains eula=false.
Configure server.properties
Open server.properties in a text editor while the server is stopped. Each setting uses the form name=value. The most useful options for a small private server are:
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errors| Setting | Typical value | What it controls |
|---|---|---|
gamemode |
survival, creative, adventure, or spectator |
The default game mode assigned to players. |
difficulty |
peaceful, easy, normal, or hard |
Hostile-mob behavior and survival difficulty. |
pvp |
true or false |
Whether players can damage one another. |
max-players |
Your intended player limit | The maximum number of simultaneous players the server advertises and accepts. |
motd |
A short message | The message shown in the multiplayer server list. |
level-seed |
Blank or a chosen seed | The seed used when generating a new world. It does not retroactively change an existing world. |
spawn-protection |
A radius in blocks | Protection around the world spawn from ordinary player interaction. Operators are exempt. |
allow-nether |
true or false |
Whether Nether travel is enabled. |
server-port |
25565 by default |
The TCP port on which the server listens. Use the value actually shown in your file for firewall and router rules. |
server-ip |
Blank | The interface to bind to. Leave it blank unless you have a specific reason to bind the server to one local interface. |
Save the file, then restart the server for changes to take effect. Editing properties while the server is running can be overwritten when it shuts down.
Launch the configured server
Run the same command again from the server folder:
java -jar <server-jar-name>.jar nogui
Leave the console window open while people are playing. Wait until the log reports that the server is ready before attempting to connect. To shut down safely, type stop in the server console and press Enter; do not simply terminate the process, because an abrupt shutdown can lose recent world changes.
Rank #3
- The classic UNO card game builds fun on game night with a Minecraft theme.
- UNO Minecraft features a deck and storage tin decorated with graphics from the popular video game.
- Players match colors and numbers to the card on top of the discard pile as in the classic game.
- The Creeper card unique to this deck forces other players to draw 3 cards.
- Makes a great gift for kid, teen, adult and family game nights with 2 to 10 players ages 7 years and older, especially Minecraft and video game fans.
If you want a repeatable Windows launcher, create a text file named start.bat in the server folder:
@echo off
java -jar <server-jar-name>.jar nogui
pause
Double-clicking it starts the same command and keeps the window visible if Java exits with an error. On macOS or Linux, a shell script containing the command can serve the same purpose; make it executable before running it.
Connect to the server
From the host computer
Start Minecraft: Java Edition in the exact server version, choose Multiplayer, select Add Server or Direct Connection, and enter localhost. This tests the server without involving the router.
From another computer on the same home network
Find the host computer’s private IPv4 address, commonly in ranges such as 192.168.x.x or 10.x.x.x. Enter that address in the client’s server-address field. If you changed server-port, append it with a colon, for example 192.168.1.25:25570. A local connection confirms that the Java process and basic firewall rules are working, but it does not prove that internet access is configured.
Rank #4
- Now Minecraft lovers can play a special version of UNO!
- Same as Basic UNO but features Minecraft characters and includes special Creeper rule card. Draw this card and the other players have to draw three more cards from the pile!
- The goal is to get rid of all the cards in your hand.
- First player or team to 500 wins.
- When you're down to one card, don't forget to yell "UNO"!
From outside the home network
Remote players need your public address and the server port. Give that information only to people you trust; exposing a home public IP has security implications. They enter the address alone when using port 25565, or address:port when you use another port.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC 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 & 11Allow the Java process through the host firewall
When the operating system prompts about Java, allow the server on the network profile you actually use. If no prompt appears, create an inbound firewall rule for the server’s TCP port (normally 25565) or allow the Java runtime being used to launch the JAR. Keep the rule limited to the needed port and network scope rather than disabling the firewall entirely.
Port-forward the server through your router
Port forwarding sends traffic arriving at your router’s public address to the computer running the server. Router labels differ, but the process is generally:
- Give the host computer a stable private IPv4 address. A DHCP reservation in the router is preferable; otherwise configure a suitable static address that does not conflict with the router’s DHCP pool.
- Sign in to the router’s administration page and open Port Forwarding, NAT, or a similarly named section.
- Create a rule for the server’s TCP port. Use external port
25565and internal port25565unless you selected another value inserver.properties. - Set the destination or device to the host computer’s fixed private IP address.
- Save or apply the rule, then make sure the server is running before testing from an external network.
Test with a friend using a different internet connection or with a device on cellular data; testing your own public address from inside the same LAN may fail because some routers do not support NAT loopback. If local connections work but remote connections do not, recheck the host firewall, the forwarding target, the selected port, and whether the host’s private IP changed.
Best Value
When port forwarding cannot work
Some internet providers place customers behind carrier-grade NAT, so the router does not receive a directly reachable public IPv4 address. In that case, a normal forwarding rule cannot expose the server. Contact the provider about a public address or use a managed hosting option instead of publishing a private workaround. Do not post your home public IP broadly.
Troubleshoot the common failures
| Symptom | Likely cause | Action |
|---|---|---|
java is not recognized or “Java not found” appears. |
Java is not installed or is not on PATH. | Install Java 16 or newer and run java -version from a new terminal. |
| Unsupported class-version or similar Java error. | The runtime is older than the server requires. | Use Java 16 or newer for a custom 1.17 setup. |
| The server stops immediately and mentions the EULA. | eula.txt still contains eula=false. |
Read the EULA and change the value to true only if you accept it. |
| The client says it cannot join or has an incompatible version. | The client and server releases do not match exactly. | Run 1.17 with the 1.17 JAR, or 1.17.1 with the 1.17.1 JAR. |
localhost fails on the host. |
The server is not ready, the wrong JAR was launched, or the local firewall blocks it. | Wait for the ready message, verify the launch command and port, and inspect the firewall rule. |
| LAN players cannot connect. | Wrong private IP, firewall block, or a changed host address. | Use the host’s current private IPv4 address, allow the Java process, and reserve the address. |
| LAN works but internet players cannot connect. | Port forwarding, firewall, public-address, or carrier-grade-NAT problem. | Check the forwarding destination and TCP port, test from another network, and ask the ISP whether inbound IPv4 is available. |
Backups, updates, and safe operation
Back up the world
Stop the server with the stop command, then copy the generated world folder (and any additional world folders) to a separate disk or storage location. Back up before changing versions or installing server-side modifications. A backup made while files are actively changing may be inconsistent, so stopping first is the safer method.
Keep the release consistent
Do not replace a 1.17 JAR with a 1.17.1 JAR while players are still using 1.17, or vice versa. Before an update, stop the server, make a backup, install the matching JAR, and have every player switch to the same client release. A world opened by a newer release may not be safely reversible.
Limit access
Use the server whitelist for a private group, grant operator privileges only to people who need them, and keep the public address private. Run the server under a normal operating-system account where practical, keep Java and the host operating system updated, and avoid downloading unknown server JARs or plugins.
Self-hosting compared with managed options
Self-hosting gives you direct control over the JAR, world files, configuration, backups, and compatible modifications, but you are responsible for Java, updates, firewall rules, port forwarding, uptime, and security. An official managed option such as Minecraft Realms avoids Java installation and router configuration and is designed for automatic backups, but offers less control over server files and the versions or modifications available. Managed Java hosting supplies a reachable public endpoint and may simplify backups and administration; verify that the provider currently supports the 1.17 release before committing.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Quick Recap
| Consideration | Self-hosted computer | Managed service |
|---|---|---|
| Control of files and configuration | Full control of the local JAR, world, and properties. | Depends on the service’s panel and policies. |
| Setup effort | Install Java, configure the server, firewall, and router. | Usually account setup and in-panel configuration. |
| Remote accessibility | You must provide a reachable address and maintain forwarding. | Provider normally supplies the public endpoint. |
| Backups and uptime | You schedule backups and keep the host online. | May include automated backups and data-center uptime; confirm the exact terms. |
| Privacy and security responsibility | You control access but must secure the machine and public IP. | The provider handles infrastructure while you still secure accounts and permissions. |
| Version availability | You can keep the exact JAR you need, subject to Java compatibility. | Support for an older release such as 1.17 varies by provider and must be checked. |
| Cost | Uses your existing computer and internet connection, with their electricity and maintenance costs. | Requires a service subscription whose price and limits vary. |
Final pre-connection checklist
- Every player is using the same exact Java Edition release.
- Java reports version 16 or newer.
- The server JAR is in its dedicated folder.
eula=trueis saved after reading the EULA.server.propertieshas the desired game rules and the correct port.- The console reports that the server is ready.
- The host can connect through
localhost. - LAN players use the host’s current private IPv4 address.
- Remote players use the public address only after the firewall and router rule target the host’s fixed private IP.
- A recent stopped-server backup exists before major changes.
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.

