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
| Label | Client | Dedicated server | What to do |
|---|---|---|---|
| Client required | Install | Usually omit | Every player who needs the feature installs it. |
| Server required | Usually omit | Install | The server provides the behaviour or rules. |
| Both required | Install | Install | Use compatible releases on the server and every joining client. |
| Optional | May install | May install | The project supports the side but does not require it. |
| Unsupported | Do not install | Do not install | The release is not designed for that environment. |
| Unknown | Check first | Check first | There 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
- 01
Choose the exact Minecraft version and loader used by the server.
- 02
Resolve required dependencies for the selected release.
- 03
Install server-required and both-side projects on a test server.
- 04
Build a clean client with every client-required and both-side project.
- 05
Start the server and inspect its log before allowing players to join.
- 06
Join with the clean client and test content, commands and reconnects.
- 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.