// guide

How to make a server for a modpack with no server pack

No server pack doesn’t mean no server. A modpack is a mod loader, a list of mods and a folder of configs. You can build the server side yourself: install the same loader, fetch the same mods, copy the pack’s configs and data, and leave out what only belongs on players’ PCs. Below is the method, then a full worked example with Cobbleverse, where the pack’s own labels turn out to be no help at all.

Updated  ·  Modrinth .mrpack and CurseForge zips  ·  Fabric, Forge, NeoForge

First, make sure there really isn’t one

A missing server pack on one site doesn’t mean there isn’t one anywhere. Prominence II is a good example: its Modrinth version has only the .mrpack, but on CurseForge the v4.1.2 release has “Serverpack for v4.1.2” (over 1 GB, uploaded October 1, 2026) under Additional Files. Check, in this order:

  1. CurseForge, Files tab. Click the exact release you want and look under Additional Files, then scan the main file list for anything named “server”.
  2. Modrinth, Versions tab. A version can carry more than one file; a server zip would sit next to the .mrpack.
  3. The pack’s own links: its wiki, GitHub or Discord, which are listed on the pack page. Some authors post server files or setup notes only there.

Whatever you find has to match the pack version your players run. Be wary of unofficial server packs from strangers: you’d be running their jars on your machine, and they’re often a version behind.

Inside a Modrinth .mrpack

A .mrpack is a zip file. It doesn’t contain most mods; it lists them. The parts that matter for a server:

Each entry in files looks like this one, taken from Cobbleverse 1.7.42 (hashes shortened):

{
  "path": "mods/CobbleFurnies-fabric-1.2.jar",
  "hashes": { "sha1": "a71f2090…", "sha512": "9cb5a3f1…" },
  "env": { "server": "required", "client": "required" },
  "downloads": [ "https://cdn.modrinth.com/data/AXY1OO9m/versions/54k31lEX/CobbleFurnies-fabric-1.2.jar" ],
  "fileSize": 2337235
}

The env field is the pack author’s note on whether each side needs the file: required, optional or unsupported. A server should skip anything marked "server": "unsupported". The catch: it’s only as good as the author’s care. Of the 99 Modrinth packs we’ve read for our modpack guides, 56 don’t mark a single mod as unsupported on the server.

Tools that read it for you

Inside a CurseForge pack zip

A CurseForge pack download is a zip with a manifest.json and an overrides folder. The manifest names the Minecraft version and loader, and lists mods by number only. From All the Mods 10 8.2:

"minecraft" : {
  "version" : "1.21.1",
  "modLoaders" : [ { "id" : "neoforge-21.1.251", "primary" : true } ],
  "recommendedRam" : 8196
},
"files" : [ {
  "required" : true,
  "projectID" : 527361,
  "fileID" : 8784713,
  "isLocked" : false
}, …

There are no file names, no download links and no client or server labels, so the manifest alone can’t tell you which mods are client-only. The practical route: install the pack in the CurseForge app (or another launcher that imports CurseForge packs, like Prism Launcher), then build the server from that instance folder:

  1. Install the loader version from modLoaders into an empty server folder (--installServer for Forge and NeoForge).
  2. Copy mods/, config/ and any of defaultconfigs/, kubejs/, scripts/ and datapacks/ the instance has. Everything in the zip’s overrides folder belongs on the server too, unless it’s clearly for players (resource packs, shader packs, options.txt, servers.dat).
  3. Take the client-only mods out of the server’s mods/, as below.

Spotting client-only mods

Client-only mods change how the game looks, sounds or feels for one player: rendering and shaders, minimaps, HUDs, menus, zoom, sounds, tooltips. On a server they do nothing at best, and at worst crash it at startup with “invalid dist DEDICATED_SERVER”. Three sources of truth, none perfect:

To look up a whole mod list at once, paste it into our client-or-server-side checker, then still do the dependency check above before you delete anything.

Forge and NeoForge are less forgiving. Forge has a similar switch, clientSideOnly=true in a mod’s mods.toml (on 1.20.1 since Forge 47.3.25), but a mod only benefits if its author set it. NeoForge has no mod-wide switch; its docs ask client-only mods to do nothing on a server by themselves, and some don’t. On those loaders, take client-only mods out unless you know they’re safe.

Worked example: Cobbleverse 1.7.42

Cobbleverse is a Cobblemon adventure pack with no server pack anywhere. We took its current version apart on October 5, 2026. (For other Cobblemon packs, see Cobblemon server hosting.)

LoaderFabric Loader 0.18.4, Minecraft 1.21.1 (from dependencies), so Java 21
DownloadsModrinth: one file, COBBLEVERSE 1.7.42.mrpack (about 240 MB). CurseForge: “COBBLEVERSE 1.7.42 [CF]”, with no additional files
Index168 files: 135 mod jars plus one disabled file, 30 resource packs, 1 data pack and 1 shader pack
envEvery one of the 168 is marked required on both client and server
Overridesconfig/ (223 files), datapacks/ (9 zips), mods/ (1 jar), resourcepacks/, shaderpacks/, servers.dat, licenses. The resource packs include a soundtrack of about 180 MB

Because env marks everything required, mrpack-install would put all of it on the server, resource packs and shaders included. Those do nothing on a server, and the labels tell you nothing about which mods belong there. So we checked each mod.

What the mod labels say

We looked up all 135 mod jars on Modrinth and read each one’s fabric.mod.json:

Client-only, and Fabric skips them (33)

Advancement Plaques, BadOptimizations, Better Beds, Better F1 Reborn, Better Recipe Book, Better Third Person, BetterF3, Catch Indicator, Cobblemon Catch Rate Display, Continuity, Controlling, Custom Splash Screen, Entity Model Features, Entity Texture Features, Euphoria Patches, ImmediatelyFast, Iris Shaders, LumyREI, Mod Menu, More Culling, Mouse Tweaks, Music Delay Remover, Music Notification, Paginated Advancements, Particle Core, Particle Rain, Reese’s Sodium Options, Resource Pack Overrides, Searchables, Sodium, Sounds Be Gone!, ToolTipFix, Zoomify

They declare "environment": "client", so Fabric never loads them on a server. Safe to delete, harmless to keep.

Client-only, but they load (7)

Default Options, Entity Culling, Highlight, MoreCobblemonTweaks, No Chat Restrictions, Not Enough Animations, Particular Reforged

Labeled client-only on Modrinth, but they don’t declare it, so Fabric loads them. No other mod in the pack needs them. Take them out.

Client-only, but required (2)

Athena, Fusion

Keep these. CobbleFurnies lists Athena as a required dependency, and Rechiseled requires Fusion (and Legendary Monuments requires CobbleFurnies). Remove either and the server stops with a missing dependency error.

Everything else (93)

Cobblemon and its add-ons, Fabric API, libraries, world generation, storage, performance mods

Labeled for both sides, optional or server-only (one, Melody, has no label). Keep them all, including the 14 that Modrinth labels server-only.

The Athena and Fusion group is the lesson. Going only by Modrinth’s labels, you’d remove Athena and Fusion and break the server. Going only by the pack’s env, you’d remove nothing.

The data packs matter

Cobbleverse ships much of its own content as data packs (COBBLEVERSE-DP-v31.zip, COBBLEVERSE-Loot-DP-v11.zip, COBBLEVERSE-RCT-DP-v20.zip and more). A mod called Global Packs loads them from a datapacks/ folder in the game folder, not from the world. The pack’s config/global_packs.toml marks datapacks/ as required and datapacks/extra/ as optional. Global Packs applies them when a world is created, so the folder has to be on the server before the first start. Miss it, and the world is generated without them.

The steps

This build comes from the pack’s files and each mod’s own metadata, not from a play test, so do the test boot in the next section before anyone joins.

  1. Set up the loader.

    In an empty folder, put the Fabric server launcher for Minecraft 1.21.1 and loader 0.18.4 (from fabricmc.net/use/server, named fabric-server-mc.1.21.1-loader.0.18.4-launcher.1.1.2.jar), and install Java 21.

  2. Get the mods.

    Either run mrpack-install into that folder, or unzip the .mrpack elsewhere and download each mods/ entry from modrinth.index.json yourself. Also download the one data pack entry (datapacks/PokeCenterPCs-DP.zip) into the server’s datapacks/. Skip the resourcepacks/ and shaderpacks/ entries.

  3. Copy the overrides.

    From the .mrpack’s overrides/, copy config/, datapacks/ (including extra/) and mods/ into the server folder. The one jar in overrides/mods/ (cobblemon-battle-positions-1.1.3.jar) isn’t in the index, so the download step won’t fetch it. Leave out resourcepacks/, shaderpacks/, servers.dat and the licenses; or if mrpack-install copied them, delete them now.

  4. Remove the client-only mods.

    Move the 7 from the “they load” group into a mods-disabled/ folder outside mods/. Optionally move the 33 skipped ones too. Leave Athena and Fusion where they are.

  5. Start it.

    java -Xmx8G -jar fabric-server-mc.1.21.1-loader.0.18.4-launcher.1.1.2.jar nogui, accept the EULA in eula.txt, and start it again. 8 GB is our pick for this pack; the Cobbleverse page explains why.

Test boot and read latest.log

A home-built server needs one careful first start before anyone joins:

Stuck on an error you don’t recognise? Paste the log into the free crash log analyzer.

Keeping it up to date

A server you built by hand needs the same care at every pack update: new mods to add, removed ones to take out, and the client-only check again. How to update a modpack server without losing your world walks through it. Starting from scratch instead? How to make a modded Minecraft server covers Java, RAM, the EULA and letting friends in.

Let the panel do the fetching.

On DSN, the panel installs CurseForge and Modrinth packs in one click, and the file manager and SFTP are there for jobs like moving client-only mods out. Stuck on a pack? Email hello@dsnservers.com or ask on Discord. We're moving DSN Servers to new hardware, and ordering is closed until then. Join the launch list and we'll email you when servers open.

Join the launch list