How to make a modded Minecraft server (2026)

Updated 26 Sep 2026 · 4 min read

The short answer

Pick a loader (Fabric, Quilt, NeoForge or Forge), run the same loader, version and mods on the server and on every player's game, and give a big pack about 8 GB of memory. With Playkeeper, a modpack installs in one click and friends get the same mods from one link.

1Pick a loader

Mods are built for one loader. Pick the one your pack or mods use, then the Minecraft version they ask for.

LoaderPick it forPacks you may know
Fabric Light and quick to update. Most performance mods.Cobblemon, Better MC
Quilt Runs most Fabric mods too.Most Fabric packs
NeoForge Big tech and magic packs.All the Mods 10, Create packs
Forge The original loader, with the longest list of mods.Packs that haven't moved to NeoForge

Playkeeper runs Minecraft 1.21 and newer, so older packs, like RLCraft on 1.12.2, need another way.

2The manual way, in brief

On a Linux VPS, by hand. It works; it just takes a while, and every update means doing parts of it again.

  1. Install Java

    Java 21 for Minecraft 1.21, Java 25 for 26.1 and newer.

  2. Run the loader's server installer

    It fetches Minecraft's server and the loader.

  3. Accept the EULA

    Set eula=true in eula.txt.

  4. Add the mods

    The pack's server files, or your own mods, go in the mods folder.

  5. Give it memory and open the port

    About 8 GB for a big pack, and TCP 25565 in your firewall.

  6. Start it

    Every player needs the same loader, version and mods.

# NeoForge, for a pack on Minecraft 1.21
sudo apt install openjdk-21-jre-headless
java -jar neoforge-<version>-installer.jar --installServer
echo "eula=true" > eula.txt
echo "-Xmx8G" >> user_jvm_args.txt
sudo ufw allow 25565/tcp
./run.sh nogui

For a whole user_jvm_args.txt, with Aikar's flags and a heap that leaves Java room, use the JVM arguments generator.

3The one-click way

Playkeeper runs those steps for you, on a VPS you rent. Install it with one command:

curl -fsSL https://playkeeper.io/install | sudo sh
  1. Start a server from a modpack

    New server › A modpack, from Modrinth or CurseForge. Each shows the memory it needs.

New server, starting from a modpack: the most downloaded packs, each with its loader, Minecraft version, mods and the memory it needs.
  1. See what's inside first

    The loader, the version, the mods and the memory it needs, before anything installs.

A modpack's details: Minecraft version, loader, mods, memory, when it was updated and how big the download is.
  1. Or add mods one at a time

    Start a Fabric, Quilt, NeoForge or Forge server, then browse mods. What a mod needs comes with it. Already running one? See how to add mods to a Minecraft server.

The Mods tab: mods added by hand, with what friends need of each, and the modpack's own mods.

4Give friends the same mods

Everyone needs the same loader, version and mods. Playkeeper makes one link: friends download a file, import it in the Modrinth App or Prism Launcher, and join.

Share with friends: the link to send and what friends do with it.
What you send: one link.
The page friends open: the server's versions, the pack file to download and their launcher's steps.
What friends see: steps for their launcher.

5How much memory modpacks need

A few mods run on a 6 to 8 GB VPS. A big pack like All the Mods 10 wants 12 GB for a few friends, and 24 GB for more.

A few modsA big modpack
1–4 friends6 GB · 2 cores12 GB · 4 cores
5–10 friends8 GB · 4 cores24 GB · 4 cores
11–20 friends12 GB · 4 cores24 GB · 6 cores

Memory for the whole VPS, from the sizing guide.Work out your size

6Common errors

Most modded crashes come from three mistakes. The log names the mod.

The versions don't match

requires version 1.21.1 of 'Minecraft', but only the wrong version is present: 1.21.4

Use the file built for your Minecraft version and loader.

A mod is missing a dependency

Mod 'Create Deco' requires any version of 'Create', which is missing!

Add the mod it names, in the version it asks for.

A client-only mod on the server

Attempted to load class net/minecraft/client/Minecraft for invalid dist DEDICATED_SERVER

Minimaps, shaders and menus belong in players' games. Take them off the server.

A crashed server's Overview: what happened, the last lines of the log, and how to fix it.
Playkeeper reads the log and offers the fix.

Questions

Do my friends need the mods too?

Yes, the same versions. Plugins stay on the server; mods don't.

Which Java version do I need?

The one your Minecraft version was made for: Java 21 for 1.21, Java 25 for 26.1 and newer. Playkeeper picks it for each server.

Can I use Forge mods?

Yes. Forge servers run Forge mods from Modrinth, and Forge modpacks from Modrinth and CurseForge.

Do I need a CurseForge key?

No. Playkeeper has one built in. You can add your own free key under Settings › Add-on sources.

Your modded server is one command away.

Free and open source. Pick a pack, then send friends the link.

curl -fsSL https://playkeeper.io/install | sudo sh
Try the live demo