Skip to content
Bytearium

No ads or affiliate links active

Homelab & storage

Modded Minecraft server: Fabric or NeoForge

A modded Minecraft server starts with the pack: matching loader, Java version and server files, then one pack version for everyone. Fabric and NeoForge.

A modpack promises twenty minutes of joy and, if you download the wrong file, three hours of staring at a crash log. Most of that detour is avoidable.

The short answer

How do you run a modded Minecraft server for friends? Start from the pack, not from the loader. Read which Minecraft version, mod loader and Java version the pack names, download the pack's server files instead of the client pack, install the matching loader with its own server installer, accept the EULA, and have every friend install the identical pack version [5][12][13]. Fabric or NeoForge is rarely your choice, because the pack was built for one of them. This guide shows both routes. We have not run a pack for this article; every command comes from the Fabric, NeoForge, CurseForge and Modrinth documentation named below, and where sources disagree we say so.

How it works

  1. Read the pack page before you download anything. Note four things: the Minecraft version, the mod loader (Fabric, NeoForge, Forge or Quilt), the loader version, and the memory and Java advice the pack's author gives. In a Modrinth pack (.mrpack, a ZIP file) the file modrinth.index.json lists the Minecraft version and the loader under dependencies [13]. The loader is the pack's decision, not yours. NeoForge's own guide recommends Forge rather than NeoForge on Minecraft 1.20.1 and NeoForge on 1.20.2 and newer [6]. NeoForge numbers follow the game: the major number is the Minecraft minor version, so 21.1.x belongs to 1.21.1, and since Minecraft 26.1 the version has four parts such as 26.1.0.5-beta [7]. The newest Minecraft is also not where most packs live. The Minecraft Wiki lists 26.3 as the current Java Edition version at the time we retrieved it [11], while NeoForged's 2025 review called 1.21.1 still its most popular version [9]. One NeoForge maintainer guessed in March 2026 that 26.1 would replace 1.21.1 as the next stable modding version, and labelled it a personal opinion [8]. Plan for the version your pack states.
  2. Install the Java version for that Minecraft version. The server needs the Java that the game version requires. The Minecraft Wiki names Java 16 for 1.17, 17 for 1.18, and 21 from 1.20.5 [11]. PaperMC's table lists Java 21 up to 1.21.11 and Java 25 from 26.1 [16]. Mojang's release notes confirm it: 26.1 is the first version that requires Java 25 [10]. Fabric's developer documentation also names JDK 25 for 26.1 [4]. The table below the list sets the versions side by side.
  3. Download the server pack, not the client pack. A client pack is what your launcher installs, and it can contain client-only mods that a server has no use for [5]. CurseForge describes a server pack as a specially prepared version of the pack for multiplayer servers. Authors typically include mods, config and, if the pack uses it, kubejs, plus optional start scripts and a server.properties; they upload it as an additional file to the matching pack file, and "The pack and server should match pack versions" [12]. So open the Files tab, choose the exact pack version your friends will play, and look for the additional server file. Modrinth works differently. A .mrpack marks each file with client and server values (required, optional or unsupported), and a server-overrides folder applies server-specific files on top of overrides, which the format description says eliminates the need for separate server packs [13]. A tool still has to apply it. Modrinth's help center names Modrinth Servers, the third-party tool mrpack-install and the itzg/minecraft-server Docker image as server-side options [14]. We do not cover them step by step here.
  4. Install the loader with its server installer. Use an empty folder. The commands for both loaders are below the list.
  5. Add the pack's files and remove what a server cannot use. With NeoForge, the documentation says that a modpack needs a launcher to be installed. Install the server first, then install the server pack or, if none exists, a separate instance of the normal pack in a launcher, move its contents into the server's game folder, and optionally remove client-side mods [5]. Take care not to overwrite an existing world folder. Recognizing client-side mods is the hard part. NeoForge admits that it is not always clear and often takes trial and error [5]. Use the labels when they exist. Modrinth's environment metadata separates mods that are client-only, server-only, required on both sides and several in-between cases, with Mod Menu as an example of a client-only mod [15]. In a .mrpack, a file with server: unsupported stays off the server [13]. Whatever you add, check three things on the mod page: it is built for your Minecraft version, for your loader, and for Java Edition [3]. Download mods only from sources you trust: NeoForge recommends CurseForge and Modrinth [5], and Fabric asks you to use trustworthy sources [3]. We link no mod files.
  6. Set memory, start, and open the port. Use the pack author's memory figure, not a number from a random guide. NeoForge keeps JVM arguments in user_jvm_args.txt [5]; with Fabric you set -Xmx in the start command [1]. The Minecraft port is 25565 by default, and NeoForge reminds you to open it in your system and network firewall; for a server that runs around the clock, schedule periodic restarts [5].
  7. Get your friends in and keep the versions in lockstep. Every player needs the same pack version as the server [12]. When the pack updates, update the server and all players together. Back up your world before you update NeoForge or any mod [5].

Java by Minecraft version

Minecraft versionJava
1.1716 [11]
1.18 to 1.20.417 [11][6]
1.20.5 to 1.21.1121 [11][16]
26.1 and newer25 [10][16]

Sources disagree about the newest row. NeoForge's user guide still ends its table at "1.20.5-latest: Java 21" [6], and the Fabric wiki page we retrieved recommends Java 21 for 1.20.5 and higher [1]. Neither page mentions the 26.1 change. Our reading: follow Mojang for the game version, then check your install with java -version.

Install commands for Fabric and NeoForge

For Fabric, the Fabric wiki describes two routes. The simple one downloads a server launcher jar from the Fabric server page with your versions baked in. The manual one uses the installer [1][2]:

java -jar fabric-installer-<installer-version>.jar server -mcversion <minecraft-version> -loader <loader-version> -downloadMinecraft
java -Xmx<pack-author-value> -jar fabric-server-launch.jar nogui

The installer options -mcversion, -loader and -downloadMinecraft are documented by Fabric, and the installer creates fabric-server-launch.jar [1]. Most Fabric mods also need Fabric API in the mods folder [2][3].

For NeoForge, the NeoForged documentation gives these steps. Download the installer from NeoForge's Maven, run it with --installServer, set memory in user_jvm_args.txt if you want to, and start with ./run.sh on Linux [5]:

wget https://maven.neoforged.net/releases/net/neoforged/neoforge/<version>/neoforge-<version>-installer.jar
java -jar neoforge-<version>-installer.jar --installServer
./run.sh

The first start ends by itself. Open eula.txt, change eula=false to eula=true, which means you agree to the Minecraft EULA, and run ./run.sh again [5].

A worked example

This is a plan, not a report. Assume six friends want a NeoForge pack for Minecraft 1.21.1 from CurseForge. First read the pack page for the version, the NeoForge version and the author's memory advice. Because the pack is for 1.21.1, you need Java 21 [11][16]. Then open the Files tab, pick the exact pack version, and download its additional server file [12]. Install NeoForge with --installServer into an empty folder, unpack the server pack into it, set memory in user_jvm_args.txt, start once, accept the EULA and start again [5]. Open port 25565 and send your friends the pack name and the pack version number. If the log stops at a mod that only draws something on screen, check whether it is client-only before you delete it [15].

Checklist

  • Read the pack page and note Minecraft version, loader, loader version and the author's memory advice.
  • Check java -version against the Java your Minecraft version requires.
  • Download the server files for the exact pack version, or confirm that the .mrpack carries server settings.
  • Install the loader in an empty folder with its own installer.
  • Compare every mod you add against Minecraft version, loader and Java Edition.
  • Accept the EULA yourself, in eula.txt.
  • Open the Minecraft port and give your friends the exact pack version.
  • Back up the world before every update of the loader, the pack or a mod.

Primary sources

These sources are the basis of this page. That does not mean every claim was checked individually; whether a review record exists is shown above under “Status”. The interpretation and checklist are our own work.

There is no documented review record for this version yet. The text relies on the sources listed.

How this page was made: Bytearium creates these pages with the help of AI and is responsible for publishing them. AI can be wrong, so we show our sources and review status openly.

  1. Fabric WikiInstalling Fabric
  2. FabricDownload Minecraft Server Launcher
  3. Fabric DocumentationInstalling Mods
  4. Fabric DocumentationSetting Up Your Development Environment
  5. NeoForgedInstalling a NeoForge Server
  6. NeoForgedNeoForge User Guide
  7. NeoForgedVersioning
  8. NeoForgedNeoForge for Minecraft 26.1
  9. NeoForged2025: Big Changes are Coming
  10. Mojang StudiosMinecraft Java Edition 26.1
  11. Minecraft WikiServer/Requirements
  12. CurseForgeServer Packs Tutorial
  13. Modrinth Help CenterModrinth Modpack Format (.mrpack)
  14. Modrinth Help CenterModpacks on Modrinth
  15. ModrinthCreators: Verify Your Environment Metadata
  16. PaperMCGetting started

This page has no ads and no affiliate links.