MINECRAFTHUB.IO
Explainer

How client-side and server-side Minecraft mods differ

Minecraft mods run on the client, the server, or both, and putting one in the wrong place is why some mods work fine solo but break multiplayer. Here's how to tell which kind any mod is before you install it.

A blocky player figure with a tick next to a matching mod block, an arrow, and a server crate with an empty socket and a warning cross, illustrating client-side versus server-side Minecraft mods

Published Updated

In Minecraft, the client is the copy of the game running on your own computer, the one you look at and click through. The server is the separate copy of the world that everyone connects to when playing together, and even a singleplayer world quietly runs its own local server in the background. A mod can need to run on your client, on the server, on both, or on neither if you never leave singleplayer, and installing it in the wrong place is why some mods work perfectly alone but break the moment you join a friend's world, or the other way around.

The three kinds of mod, and what each one needs

  • Client-only: everything the mod does happens on your screen. Shaders, texture-driven visual mods, HUD and menu tweaks, and most performance mods that only touch rendering fall here. The server never knows the mod exists.
  • Server-only, or more precisely optional on both sides: the mod does its work in the server process, such as world generation, chunk management, or profiling, and a copy on the client changes nothing. Most admin and performance tools work this way.
  • Both required: the mod adds content, such as new blocks, items, or entities, that the client and server both have to understand to stay in sync. Neither side can quietly skip it.

What happens when you join a server with each kind

A client-only mod works on a vanilla server without any setup, because the server never sees it. Join any server you like; the mod keeps rendering shaders, menus, or frame-rate fixes locally regardless of what the server runs.

A mod that is optional on both sides is even more forgiving: install it on just the server for admin or performance reasons, and players without a matching client copy connect normally and notice nothing missing, because the mod's own work never touches what the client needs to render.

A mod that is required on both sides is the strict one. Loaders like Fabric and Forge check the installed mod list during the connection handshake, and a required mod missing from either side typically ends the connection with a mismatch error or a disconnect instead of quietly loading without it.

How to check whether any mod is client-side, server-side, or both

Do not guess from a mod's category or from what it sounds like it does. Every Modrinth project carries two fields, client_side and server_side, each set to required, optional, or unsupported, and that pairing is the actual answer for that project. CurseForge works differently: it tags each uploaded file as Client, Server, or both, rather than stating a single project-wide rule, so check the file you are about to download, not just the project page.

  • On Modrinth, open the mod's page and look for the environment labels near the download button, or read the client_side and server_side values directly if you are pulling from the API.
  • On CurseForge, check the tags on the specific file version you plan to download, since Client and Server support is set per file, not once for the whole project.
  • Read the mod's own description page. Labels answer the general case, but a description will flag version-specific exceptions, such as a mod that only needs a server copy starting with a particular Minecraft release.

That last check matters more than it sounds. Just Enough Items is marked optional on both sides on Modrinth, but its own page notes that since Minecraft 1.21.2 recipe data moved onto the server, so admins on newer versions should still add it there to keep recipes syncing correctly to players. Create is the reverse case: Modrinth marks it optional on the client and required on the server, because the mod's blocks and mechanics live in the world data the server manages, even though the label alone does not tell you what a client without it will see. Labels are the starting point, not the whole answer; when a mod's behavior genuinely depends on version or setup, the description is where that gets spelled out.

Client-side mods worth installing

These run entirely on your own game and work on any server, modded or vanilla, without asking anyone's permission first.

  • Sodium rebuilds Minecraft's rendering engine for higher, steadier frame rates. It is marked client required, server unsupported on Modrinth.
  • Iris adds a shader pipeline for OptiFine-style shader packs on Fabric, also client required and server unsupported.
  • Mod Menu gives Fabric mods a proper in-game settings screen instead of scattered config files, client-only the same way.
  • 3D Skin Layers renders the second skin layer (hats, sleeves, jackets) in 3D instead of flat, a purely visual, client-only change.

Server-side mods for performance and administration

These are optional on both sides on Modrinth, which is exactly why they are usually installed only on the server: players never need a matching copy to keep playing normally.

  • Lithium optimizes core game logic and tick performance without changing vanilla behavior, and works installed alone on either the client or the server.
  • Spark profiles performance on clients, servers, and proxies, so admins can find what is actually causing lag.
  • Chunky pre-generates chunks around spawn or inside a world border, a job the server does entirely on its own.

Mods that need to match on both sides

Waystones is marked client required, server required on Modrinth: it adds teleport waypoints as real blocks and items, so both the world and every connecting client need the same copy installed, or the connection fails. Treat any mod marked required on both sides the same way: install it everywhere before you invite anyone to join, and keep every copy on the same version, since a client on an older build of a both-required mod can fail the same handshake check as a missing one.

Frequently asked questions

Is Distant Horizons client side?

No, not strictly. Distant Horizons is marked optional on both the client and the server on Modrinth. Installing it on your client alone still extends your own render distance, but installing a matching copy on the server lets it generate and share distant terrain data instead of leaving every client to guess on its own.

Is JourneyMap client side?

Mostly, but check before assuming. JourneyMap is marked optional on both the client and the server on Modrinth. Most players only need the client copy for the in-game map and minimap, but a server copy unlocks its optional server-side features, so read the mod's own page if you want those before deciding whether to install it there too.

Will a client-only mod get me kicked from a server?

No. A mod marked client required and server unsupported never gets checked by the server during connection, so it has no way to trigger a mismatch. That is exactly what unsupported means for a server: the server does not expect it and does not look for it.

Do I need permission to install a server-side mod?

Only from whoever manages the server. A mod optional on both sides changes nothing for players who never install it themselves, so it is entirely the server owner's call, not something every player needs to agree to install.

What happens if a required mod is missing when I try to join?

The loader's handshake compares mod lists as you connect, and a mod marked required on the side that is missing it typically ends the attempt with a mismatch error rather than letting you in without it. Installing the same version everywhere before joining avoids this entirely.

Resources mentioned.

Related guides and articles.