Mods change Minecraft itself — new dimensions, machines, Pokémon. That power comes with the strictest compatibility rules in the game: a loader on the server, the same loader on every client, and versions that agree everywhere.
Step 1: Install a mod loader on the server
The vanilla server loads nothing. You need Forge/NeoForge (the big legacy ecosystem) or Fabric (lighter, faster updates). Self-hosting, run the loader's installer with its server option and launch the jar it produces; on Campfire, pick Forge, Fabric or NeoForge in the create form and the right loader build is already running.
Step 2: Pick mods for that loader and version
Download from Modrinth or CurseForge, and check three things on every mod page: the loader (a Fabric mod won't load on Forge), the exact Minecraft version, and the side— server, client, or both. Content mods are "both"; shaders and minimaps are client-only and will crash a server that tries to load them.
Step 3: Fill the mods folder — plus dependencies
Jars go directly into the server's mods/folder. The trap is dependencies: many mods need a library mod (Fabric API, Architectury, Cloth Config) that doesn't come bundled. The mod page lists them; miss one and the server names it in the crash log on the next start.
mods/ ├── fabric-api-0.100.x.jar ← the dependency everyone forgets ├── sodium-server.jar └── create-fabric.jar
Step 4: Mirror it on every client
Every player installs the same loader and the same content mods in their launcher. Version drift between one client and the server is the classic "why can't I join" — which is why friend groups gravitate to modpacks: one named, versioned mod list that everyone installs identically with one click.
The pack route is genuinely easier: on Campfire you can one-click an entire Modrinth or CurseForge pack server-side, and players install the same pack in their launcher. Same mods, same versions, by construction.
Step 5: Restart, watch the log, add RAM
Restart and read the startup log once — it lists every mod it loaded and complains precisely about what's missing. And check your allocation: mods raise the RAM floor fast (see the RAM guide — 6–8 GB is the modded comfort zone).