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 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.

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

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:

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

  1. Create a dedicated folder, for example Minecraft Server. Avoid storing the server in a temporary downloads folder.
  2. 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.
  3. Place the JAR directly inside the server folder. Keep this folder separate from your regular single-player saves.
  4. 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.

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

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

  1. Open the generated eula.txt in a plain-text editor.
  2. Read the Minecraft EULA.
  3. Change eula=false to eula=true only if you agree to the terms.
  4. 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:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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
Mattel Games UNO Minecraft Card Game with Storage Tin,Ages 7+ | Video Game Themed Deck with Special Rule for Kids, Teens, Parties & Family Game Night, 2-10 Players (Amazon Exclusive)
  • 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.

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

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
Mattel Games UNO Minecraft Card Game for Kids, Adults, Families & Parties, Deck & Special Rule Inspired by the Video Game, 2 to 10 Players
  • 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.

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

Allow 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:

  1. 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.
  2. Sign in to the router’s administration page and open Port Forwarding, NAT, or a similarly named section.
  3. Create a rule for the server’s TCP port. Use external port 25565 and internal port 25565 unless you selected another value in server.properties.
  4. Set the destination or device to the host computer’s fixed private IP address.
  5. 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.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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=true is saved after reading the EULA.
  • server.properties has 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.