1Check that your server can run mods
Mods need a mod loader on the server. Plugin servers like Paper can't load them, and Vanilla runs neither.
| Server type | Runs | To add mods |
|---|---|---|
| Plugins | Move the world to a mod loader, or use a plugin instead | |
| Plugins | Move the world to a mod loader, or use a plugin instead | |
| Mods | Go ahead | |
| Mods | Go ahead | |
| Mods | Go ahead | |
| Mods | Go ahead | |
| Data packs | Move the world to a mod loader |
Moving keeps the world: back it up, then start a Fabric, Quilt, NeoForge or Forge server from it. In Playkeeper, New server › A world does that, and shows what comes over before anything changes. The modded server guide helps you pick a loader.
2Find mods that fit your server
Download mods from Modrinth or CurseForge, and check three things on each mod's page:
The loader and Minecraft version
Pick the file for your server's loader and version, like NeoForge 1.21.1. A mod for another loader doesn't load.
What it needs
Most mods list others they depend on, like Fabric API or Architectury. Each goes in too.
Where it runs
Modrinth marks each mod for the client, the server or both.
| The mod | On the server | Players |
|---|---|---|
| Adds blocks, items or mobs, like Create | Yes | The same version |
| Speeds up the server, like Lithium | Yes | No need |
| Graphics or menus, like Sodium or a minimap | No | If they want it |
3Add the files by hand
On any server you reach over SSH or a host's file manager:
Stop the server and back it up
Mods change the world, and a backup is the way back.
Put the .jar files in mods
The mods folder sits next to server.properties. The loader makes it the first time it runs.
Start it and read the log
The loader lists each mod it loads. If it stops, the last lines name the mod.
# In the server's folder, with the server stopped cp -r world world-backup cd mods curl -LO https://cdn.modrinth.com/data/<project>/versions/<version>/<file>.jar cd .. ./run.sh nogui # Fabric: java -jar fabric-server-launch.jar nogui
# Copy downloaded mods to the server over SSH
scp ~/Downloads/*.jar you@your-server:/path/to/server/mods/
4The one-click way
Playkeeper runs your server on a VPS you rent, and adds mods for you. Install it with one command:
curl -fsSL https://playkeeper.io/install | sudo sh
Search the Mods tab
It lists Modrinth's mods for your server's loader and version only. What a mod needs installs with it, and each file is checked against Modrinth's checksum.
See what friends need
Each mod says Friends need it, Optional for friends or Server only.

Or upload one that isn't in a library
On the Files tab, drag its .jar into mods and restart the server. Its settings are in config, where the editor opens TOML, JSON and YAML.

Mods you upload show on the Mods tab too, and Playkeeper can take over the ones Modrinth recognises, so they get updates.
5Give friends the same mods
Players need every mod that adds content, in the same version. The easy way is a pack file they import in the Modrinth App or Prism Launcher.
In Playkeeper, Share with friends on the Mods tab makes that file and a page with each launcher's steps. Server-only mods stay hidden. Playing with friends covers the rest.

6Adding mods to a world you already have
- New ores and structures appear only in land nobody has visited yet, so explore further out to find them.
- Removing a mod removes its blocks and items from the world. Back up before you do.
- Updating Minecraft? Wait until every mod has a version for the new one.
7When the server won't start
- It stops at start-up. The log's last lines name the mod: one for another version or loader, a missing dependency, or a client-only mod. Common modded errors shows each message and its fix.
- Friends are sent back to the menu. Their mods don't match the server's. Send them the pack file again.
- It runs out of memory. Mods add up: the sizing guide suggests memory for a few mods or a big pack.
On a Playkeeper server, the Overview explains a crash from the log, with the fix one click away.
Questions
Can I add mods to a Paper or Spigot server?
No: Paper and Spigot load plugins. Mods need Fabric, Quilt, NeoForge or Forge, so start a server on one of those from your world.
Do players need the mods too?
Mods that add blocks, items or mobs: yes, the same versions. Server-only mods, like Lithium: no. Client-only mods, like shaders: only players.
Can I add mods to a Realm?
No. Java Realms run vanilla worlds, with no mods or plugins.
Where do I download mods safely?
From Modrinth or CurseForge, not re-upload sites. Playkeeper checks each download against the checksum its library publishes.
How do I remove a mod?
Stop the server, back it up and delete the mod's file from mods; its blocks and items leave the world. In Playkeeper, remove it from the Mods tab, with or without its settings.
Can I add a mod that isn't on Modrinth?
Yes: upload its .jar to mods on the Files tab. It shows on the Mods tab with the rest.