Client, server or both?

Client-side vs server-side Minecraft mods: where should each mod be installed?

Put a mod only where that file says it belongs. Client, dedicated server, both, optional and unknown mean different things; a blank field never means “works everywhere.”

The useful answer first

Put a mod only where that file says it belongs. Client, dedicated server, both, optional and unknown mean different things; a blank field never means “works everywhere.”

The install decision

What each environment label means
LabelClientDedicated serverWhat to do
Client requiredInstallUsually omitEvery player who needs the feature installs it.
Server requiredUsually omitInstallThe server provides the behaviour or rules.
Both requiredInstallInstallUse compatible releases on the server and every joining client.
OptionalMay installMay installThe project supports the side but does not require it.
UnsupportedDo not installDo not installThe release is not designed for that environment.
UnknownCheck firstCheck firstThere is not enough information to give you a safe answer.

Why singleplayer makes the terminology confusing

The program you launch to play is the physical client. A dedicated server is a separate physical server process. Singleplayer still runs game logic through a logical server inside the client process, which is why a mod can contain server-side logic and still appear to work in singleplayer.

That does not prove the same file can load on a dedicated server. Client rendering classes can exist during a singleplayer test but be absent from a server process, causing a crash as soon as the server tries to load them.

Common patterns—not automatic rules

These patterns point you in the right direction, but the file still gets the final word. Check where the exact release says it belongs.

  • Interface, rendering, shaders and local information displays are often client-only.
  • Administrative commands, world rules and performance logic can be server-only.
  • Blocks, items, entities and mechanics commonly require compatible code on both sides.
  • A server can permit an optional client enhancement without requiring every player to install it.
  • The same project can change its environment requirements between releases.

A safe multiplayer installation order

  1. 01

    Choose the exact Minecraft version and loader used by the server.

  2. 02

    Resolve required dependencies for the selected release.

  3. 03

    Install server-required and both-side projects on a test server.

  4. 04

    Build a clean client with every client-required and both-side project.

  5. 05

    Start the server and inspect its log before allowing players to join.

  6. 06

    Join with the clean client and test content, commands and reconnects.

  7. 07

    Share the client list that worked, without slipping server-only files into it.

When the label and reality disagree

First make sure the project file, Minecraft version and loader really match. Then read the earliest useful error in the client or server log; the last line is often just the fallout.

If a supposedly client-only mod crashes a dedicated server, take it off the server and tell the creator which file did it. If a player cannot join without a server mod, there may be a network version check. Trust what the release actually does over a broad category label.

Straight from the source

Sources and further reading

We read the docs so you do not have to hunt for them mid-crash. For one mod, the file you picked still gets the final word.

Try it on a real mod

Pick a release and check it

Choose your game version and loader, then see whether the exact file fits your setup.

Check where a mod belongs