Field guideSeptember 2026

Minecraft Server on Fedora

Your laptop hosts. Your PC joins. Same Wi-Fi.

This guide gets a plain vanilla Java Edition server running on your Fedora laptop, then connects to it from Minecraft on your Windows PC. Vanilla means no mods, no plugins, just the game as Mojang ships it.

Starting with a default server is deliberate. Once this works, you understand the whole loop of hosting anything, and everything after is a variation on it. After this comes playit.gg, so people outside your network can join without touching the router. Last of all comes a modded server.

You need Minecraft: Java Edition on the Windows PC, your Fedora laptop and PC on the same Wi-Fi, and your laptop's password.


Contents

  1. Take stock
  2. Install Java
  3. Make a home for the server
  4. Download the server file
  5. Move it to its new home
  6. Run it once, accept the EULA
  7. Starting the server
  8. Find your laptop’s address
  9. Join from Windows
  10. When it will not connect

I

Take stock

Open a terminal: press the Super key (the Windows key), type konsole, press Enter. Konsole is Fedora KDE’s terminal app.

Run the following, exactly, in Konsole:

java -version

The terminal is exact speech. Type a command precisely, press Enter, read what comes back.

Like programming, spelling and capitalization matter; a machine can’t guess.

II

Install Java

In the Linux world, programs arrive as packages. A package is a bundle of programs and files prepared and tested for your system.

dnf gives you a way to download packages from the command line (terminal).

sudo means “run the following command as the system administrator”. It will ask for your own password, and nothing appears while you type.

Minecraft’s server is written in Java, so without Java we can't run the server. Minecraft 26.x requires Java 25. We can install Java with the following:

sudo dnf install java-25-openjdk

Type your password when asked (nothing shows while you type), confirm with y when asked. Then verify:

java -version

You should see openjdk version "25...". The 25 is the part that matters.

III

Make a home for the server

The terminal always stands somewhere. That place is called its working directory. When it opens, that somewhere is your home folder, the one with your name on it.

mkdir makes a folder, cd moves into it, pwd says where you are, ls lists what is there.

The server will generate a dozen files, so it gets a folder of its own.

Make it yourself. Run these five lines in order, one at a time, pressing Enter after each:

pwd
mkdir minecraft-server
ls
cd minecraft-server
pwd

You must be in this folder to launch the server. If something later behaves strangely, check pwd first.

Confirm it any time with:

pwd

It should end in minecraft-server. If it does not, run cd ~/minecraft-server (~ means your home folder) and try pwd again. You are done when pwd ends in minecraft-server.

IV

Download the server file

This part happens in the browser, on the Fedora laptop:

  1. In Firefox, visit minecraft.net/en-us/download/server, the official Mojang page.
  2. Download the server file. The link reads something like minecraft_server.26.3.jar (your numbers may be newer, that is fine). It lands in Downloads. Leave it there for now.

A .jar file is a Java program in a box. It holds code bundled with its needs. You do not install it; you run it with Java.

V

Move it to its new home

Pick any one of these three. They all do the same thing: move the .jar from Downloads into minecraft-server.

  1. Copy and paste. Open Dolphin (Fedora KDE’s File Explorer), open Downloads, click the minecraft_server... file, press Ctrl+C. In the left sidebar click Home, then double-click minecraft-server, press Ctrl+V.
  2. Drag between two windows. Open Dolphin twice. Show Downloads in one window and Home → minecraft-server in the other, then drag the file across.
  3. Terminal. In any tab, run (the * means “anything here,” so this matches whatever numbers your file has):
    mv ~/Downloads/minecraft_server*.jar ~/minecraft-server/

Confirm in the terminal (~ means your home folder, so this works no matter where the terminal stands):

cd ~/minecraft-server
ls

Your .jar filename should be listed. If no file ending in .jar is there, it is still in Downloads. Try one of the three options again.

VI

Run it once, accept the EULA

Run the server once so it builds its settings files and eula.txt. The world itself comes on the next run, after you accept the EULA. Example filename below — never type the word VERSION itself, use your real numbers with Tab to complete:

cd ~/minecraft-server
java -jar minecraft_server.VERSION.jar nogui

Use your filename: type java -jar mine and press Tab before pressing Enter, and let the terminal complete the name.

Check the structure landed with:

ls

eula.txt should be listed.

It prints several lines, then stops with an error like You need to agree to the EULA... That is expected. It is waiting on the EULA, Mojang’s End User License Agreement, which every host must accept once. It created a file named eula.txt. Open it in nano, a small editor that lives in the terminal, and accept it there:

nano eula.txt

Inside you will see a line reading eula=false. Move the cursor to it with the arrow keys and change false to true. By this edit you agree to Mojang’s terms at minecraft.net/eula.

Ctrl + O, then Entersave the file (Write Out)
Ctrl + Xleave nano

Back at the prompt, prove the edit took with cat, which prints a file’s contents:

cat eula.txt

If it still reads false, reopen with nano eula.txt and repeat the save. The Enter after Ctrl + O is the step most often skipped. You are done when cat shows eula=true.

VII

Starting the server

Commands take flags. A flag is an option added after the program name that changes what it does. -Xms2G and -Xmx4G set Java’s starting and maximum memory (2 and 4 gigabytes). nogui tells the server to skip its graphical window and print text instead, which is what a laptop host wants.

The command below gives Java 2 GB to start and up to 4 GB. That suits most laptops; do not hand it all your memory (on 16 GB you may allow 8 later).

Anatomy of the launch command. Java starts the runtime, -Xms2G sets starting memory, -Xmx4G sets maximum memory, -jar runs the file as a program, the jar is the server program, nogui runs text-only. java-Xms2G-Xmx4G-jarminecraft_server.VERSION.jarnoguistarting memoryrun as a programno window, text onlythe Java runtimememory ceilingyour server file
cd ~/minecraft-server
java -Xms2G -Xmx4G -jar minecraft_server.VERSION.jar nogui

Your filename: type java -Xms2G -Xmx4G -jar mine and press Tab before Enter, as in section VI, Run it once, accept the EULA. On an 8 GB laptop use -Xmx2G instead of -Xmx4G.

The first start takes a minute or two while it builds the world. (... below means numbers, like the time it took, not literal dots.) You are ready when this line appears:

Done (...)! For help, type "help"

That Done! line means you are hosting. Leave this tab open — closing it kills the server. You will do the next steps in a second tab. To stop cleanly later, click back into this server tab, type stop, press Enter. That saves the world; the window’s X button does not.

VIII

Find your laptop’s address

Each device on your Wi-Fi has its own local address. Your Windows PC needs the laptop's address to find it. It looks like 192.168.1.42 and it only works on this Wi-Fi.

Keep the server running in this tab. Open a second tab in the same window with Ctrl+Shift+T, then click between tabs to tell them apart: tab 1 is the server, tab 2 is for commands. In tab 2, run:

hostname -I

Write down the number beginning with 192.168.. If several numbers appear, pick the one starting with 192.168. and ignore the rest.

Your laptop's firewall blocks incoming connections by default, Minecraft included. That is normal. In tab 2 (never in the server tab — the server tab only understands Minecraft commands like stop), run these once. They open only Minecraft’s port, 25565 (a port is a numbered door a program listens on), and nothing else. Each line should print success:

sudo firewall-cmd --add-port=25565/tcp --permanent
sudo firewall-cmd --reload

Prove the port is open with:

sudo firewall-cmd --list-ports

Expect 25565/tcp in the answer. If it is missing, run the two lines above once more.

Then restart the server so the open port takes effect: click back into tab 1, type stop, press Enter, wait for it to close, then re-run the launch command from section VII, Starting the server and wait for Done! again.

IX

Join from Windows

On the Windows PC, on the same Wi-Fi:

  1. Open Minecraft: Java Edition. It must be Java, not Bedrock. A server of this kind speaks only Java. Match the server’s game version (the numbers in your jar filename) in the launcher: Launcher → Installations → New → pick that version.
  2. Choose Multiplayer → Add Server.
  3. For the address, enter your laptop’s number from section VIII, Find your laptop’s address with :25565 on the end. Not the example 192.168.1.42.
  4. Join.

If you spawn into a new world, the work is done. What you build there is stored on the Fedora laptop.

X

When it will not connect

Go in order; stop at the first thing that fixes it:

  1. The address. In tab 2, re-run hostname -I. Wi-Fi addresses change; confirm every digit of the IP, then add :25565 yourself (the port is not part of hostname -I output).
  2. The firewall. In tab 2, re-apply the two firewall-cmd lines from section VIII, Find your laptop’s address.
  3. The pairing. Same network name on both machines (On Fedora KDE look in the system tray bottom-right, click the Wi-Fi icon. On Windows look under Settings → Network & internet → Wi-Fi and compare the network name exactly), and the client must be Java Edition. Bedrock, mobile, and console cannot join this server.
  4. The server itself. The laptop’s first tab must show Done! and remain open.
  5. The network. Some shared Wi-Fi networks forbid devices from seeing one another. This is called client isolation. No setting on your laptop overcomes it. Copy the exact error message word for word; it tells us what to try next.

Review what this project taught. You installed a package with dnf, acting with sudo, navigating with cd, pwd, ls, running a program with flags, editing a file in nano, confirming with cat, and locating your machine on its network.

← Minecraft Server Hosting