// free tool
Client-side or server-side? Mod checker and list
Some mods only run in the game client, like shader loaders, rendering mods and menu screens. A dedicated server can't run client code, so one of these left in the server's mods folder can stop the server on startup. Paste your mod list to see which ones to take off the server, or look a mod up in the table below.
Check your mod list
Your list is read in your browser and isn't sent to us. With the Modrinth box ticked, the names of mods that aren't in our table go to Modrinth's public API (api.modrinth.com) to be looked up.
Getting the list
- From a server panel: open the
modsfolder in the file manager, select the file list and copy it. Sizes and dates in the copied text are ignored; only names ending in.jarcount. - On Windows: open the instance's
modsfolder, select every file, and use Copy as path (Shift + right-click). Full paths work. - On macOS or Linux: run
ls modsin the instance or server folder. - Just names: mod names typed one per line, like
Distant Horizons, work too.
How the checker decides
For each file, the checker drops the version, Minecraft version and loader from the name, so sodium-fabric-0.8.13+mc1.21.1.jar becomes sodium. It looks the mod up in our table first. Mods that aren't in the table are looked up on Modrinth by name, and a search result only counts if its name matches exactly. Each mod then gets one of these labels:
- Client-only: remove it from the server. Modrinth says it runs only in the game client, or only in singleplayer.
- Both sides: keep it. The server and every player need it.
- Server-side: keep it. Players don't need it, though some server-side mods add extras for players who install them too.
- Optional on the server: it works on the server but isn't required there, so keeping it is fine.
- Varies by version: Modrinth labels some versions of the mod client-only and others not. Check the label on the version you have.
- Not found: no match in our table or on Modrinth, or Modrinth has no side label for it. Mods that are only on CurseForge end up here. Check the mod's own page.
Labels are set by each mod's author, and they can be wrong. Where a mod's own documentation says something different, our table follows the documentation and says why. Simple Voice Chat is one: Modrinth lists it as working on either side, but its install guide says to always install it on both.
What Modrinth's side labels mean
Until August 2025, every Modrinth mod had two settings, Client-side and Server-side, each set to Required, Optional or Unsupported. Sodium, for example, is client required and server unsupported: it goes on players' PCs and not on the server.
- Required: the mod has to be installed on that side.
- Optional: it can be installed on that side, but doesn't have to be.
- Unsupported: it isn't meant for that side.
The weak spot was "unsupported". Modrinth itself pointed out that people read it differently: does "unsupported" on the server side mean the mod crashes a server? Some combinations made no sense, like unsupported on both sides, and some real setups, like a mod that only works on a dedicated server, had no way to be labeled. So Modrinth replaced the two settings with one environment label that names the setup outright, and asked every author to check theirs:
| Modrinth's label | Meaning | On your server |
|---|---|---|
| Client-side only | Everything happens in the client. Should work when joining a vanilla server. | Remove |
| Singleplayer only | Doesn't work in multiplayer at all. | Remove |
| Server-side only, works in singleplayer | Everything happens on the server. Players without it can join. | Keep |
| Server-side only, dedicated server only | Only runs on a dedicated server, not in singleplayer. | Keep |
| Client and server, required on both | Must be installed on the server and on every player's client. | Keep, players need it too |
| Client and server, optional on client | Must be on the server. Players can install it for extra features. | Keep |
| Client and server, optional on server | Must be on the client. On the server it adds extras. | Optional |
| Client or server, works best on both | Works on either side alone, but best with both. | Optional |
| Client or server, works the same on either | Either side alone gives the full feature. | Optional |
Modrinth's API still returns the old client_side and server_side fields next to the new environment field. The checker uses the environment label when there is one and falls back to the old fields. A project can list more than one environment when its versions differ: Create's versions before 6.0 say "optional on client", and 6.0 onward say "required on both". Modpack files (.mrpack) still use required, optional and unsupported for each file, to decide which files go into the client install and which into the server install.
Common mods: client, server or both
50 mods people often ask about, checked against Modrinth on 5 October 2026. Every row has its own link, like #distant-horizons. "Modrinth" shows the label the mod's author picked; the first line is what that means for a server.
| Mod | On a server | Notes |
|---|---|---|
| 3D Skin Layers | Client-onlyModrinth: Client-side only | Renders the outer layer of player skins in 3D. Its page says it doesn't need to be installed on servers. |
| AppleSkin | Optional on the serverModrinth: Client or server, works best on both | Food and saturation on the HUD. It has to be on the server too for accurate saturation and exhaustion values. |
| Architectury API | Both sidesModrinth: Client and server, required on both | Library for mods that ship on several loaders. Keep it wherever a mod that needs it is installed. |
| BlueMap | Server-sideModrinth: Server-side only, dedicated server only; Server-side only, works in singleplayer | 3D map of your world in a web browser. Set accept-download: true in config/bluemap/core.conf before it will render (read what that agrees to first).Port: TCP 8100 by default for the web map: port in config/bluemap/webserver.conf. It needs a second open port, so ask your host for one. |
| C2ME (Concurrent Chunk Management Engine) | Server-sideModrinth: Client and server, optional on client | Improves chunk performance on Fabric. |
| Carpet | Server-sideModrinth: Client and server, optional on client | Fabric server tools, such as live TPS and mob caps with /log. Players can install it too, but don't have to. |
| Chunky | Optional on the serverModrinth: Client or server, works best on both | Pre-generates chunks. From the server console: chunky radius 1000, then chunky start. In game, you need to be an operator. |
| Cloth Config API | Optional on the serverModrinth: Client or server, works best on both | Config screen library. Keep it if any mod on the server lists it as a dependency. |
| Cobblemon | Both sidesModrinth: Client and server, required on both | Pokémon to catch, battle and trade. Current versions require Fabric API on Fabric and Kotlin for Forge on NeoForge. Pack guides: Cobblemon (Fabric), Cobblemon (NeoForge). |
| Continuity | Client-onlyModrinth: Client-side only | Connected textures from resource packs. |
| Create | Both sidesModrinth: Client and server, optional on client; Client and server, required on both | Machines, contraptions and new blocks. On Modrinth, versions before 6.0 are labeled "optional on client" and 6.0 onward "required on both". Pack guides: Create: Above and Beyond, Create: Arcane Engineering. |
| Distant Horizons | Optional on the serverModrinth: Client or server, works best on both | Renders far terrain as LODs. Works client-only. With it on the server too, the server sends LODs to players who have it and have distant generation turned on. |
| Dynamic FPS | Client-onlyModrinth: Client-side only | Lowers resource use while the game is in the background, idle or on battery. |
| Embeddium | Client-onlyModrinth: Client-side only | Client performance mod for NeoForge and Forge. |
| EMI | Optional on the serverModrinth: Client and server, optional on server | Item and recipe viewer. Needed on the client; the server copy is optional. |
| Entity Culling | Client-onlyModrinth: Client-side only | Skips rendering entities and block entities you can't see. Its page says it does not need to be on the server. |
| Entity Model Features (EMF) | Client-onlyModrinth: Client-side only | Custom entity models from resource packs, in the OptiFine format. |
| Entity Texture Features (ETF) | Client-onlyModrinth: Client-side only | Emissive, random and custom entity textures from resource packs. |
| Essential | Client-onlyModrinth: Client-side only | Friends, chat and free world hosting from inside the game. |
| Fabric API | Optional on the serverModrinth: Client or server, works best on both | Library that many Fabric mods depend on. If a mod on the server needs it, the server won't start without it. |
| Farmer's Delight | Both sidesModrinth: Client and server, required on both | New crops, cooking and food. |
| FerriteCore | Optional on the serverModrinth: Client or server, works the same on either | Cuts memory use. Its page recommends installing it on both sides, because some of its bigger savings are on the server. |
| GeckoLib | Optional on the serverModrinth: Client and server, optional on server | Animation library for entities, blocks, items and armor. The server copy is marked optional, but a server mod that depends on it won't load without it. |
| ImmediatelyFast | Client-onlyModrinth: Client-side only | Speeds up immediate-mode rendering. |
| Iris Shaders | Client-onlyModrinth: Client-side only | Shader pack loader that works with existing OptiFine shader packs. |
| Jade | Optional on the serverModrinth: Client or server, works best on both | Shows what you're looking at. Works client-only, but some details, like container contents, brewing stand fuel and bees in a hive, need Jade on the server. |
| JourneyMap | Optional on the serverModrinth: Client or server, works best on both | Real-time map. The server copy only controls JourneyMap features; the mapping itself happens on the client. |
| Just Enough Items (JEI) | Optional on the serverModrinth: Client or server, works best on both | Item and recipe viewer. On 1.21.1 and older it works client-only with a few features off. From 1.21.2 the server holds the recipes, so install JEI on the server to send them to players. |
| Lithium | Optional on the serverModrinth: Client or server, works best on both | Game logic optimizations. Its page says it works on the client or the server and doesn't need to be on both. |
| LuckPerms | Server-sideModrinth: Server-side only, works in singleplayer | Permissions for servers: admins create groups and assign permissions to control what players can use. |
| Mod Menu | Client-onlyModrinth: Client-side only | Adds a screen listing your installed mods. Modrinth uses it as its example of a client-side only mod. |
| ModernFix | Optional on the serverModrinth: Client or server, works best on both | Performance, memory and bug fixes. |
| Mouse Tweaks | Client-onlyModrinth: Client-side only | Extra mouse-button controls for moving items in inventories. Its page says there is no server-side component. |
| No Chat Reports | Optional on the serverModrinth: Client or server, works best on both | Strips chat message signatures. Works on the client, the server or both, and does something different in each case; its page explains each setup. |
| Noisium | Server-sideModrinth: Server-side only, works in singleplayer | Faster world generation. Its FAQ says only the server needs it, and that it also works in singleplayer. |
| Oculus | Client-onlyModrinth: Client-side only | Unofficial fork of Iris for Forge and NeoForge, for shader packs. |
| Physics Mod | Client-onlyModrinth: Client-side only | Ragdolls, crumbling blocks and item physics. |
| ReplayMod | Client-onlyModrinth: Client-side only | Records your gameplay so you can replay it and share it. |
| Roughly Enough Items (REI) | Optional on the serverModrinth: Client or server, works best on both | Item and recipe viewer, an alternative to JEI. Its page says that to serve both JEI and REI players from one server, install JEI there together with REI Server Component. |
| ServerCore | Server-sideModrinth: Server-side only, works in singleplayer | Server optimizations. |
| Simple Voice Chat | Both sidesModrinth: Client or server, works best on both | Proximity voice chat. Players need it installed too, or they can join but can't use voice chat. Port: UDP 24454 by default: port in config/voicechat/voicechat-server.properties. Voice uses its own port, separate from the game port, so your host has to open it. Don't set it to -1 (the game's port): the mod's docs warn that can crash the server.Why we say both sides: The mod's own install guide says to always install it on both the client and the server. Source. |
| Sinytra Connector | Optional on the serverModrinth: Client or server, works the same on either | Runs Fabric mods on NeoForge 1.21.1 and 26.1.2 and on Forge 1.20.1. It requires Forgified Fabric API, and its 26.1.2 builds also require Launchpad. If your server loads Fabric mods through it, the server needs it too. |
| Sodium | Client-onlyModrinth: Client-side only | Rendering engine replacement that raises frame rates and cuts stutter. |
| Sodium Extra | Client-onlyModrinth: Client-side only | Sodium add-on with extra video options. |
| Sophisticated Backpacks | Both sidesModrinth: Client and server, required on both | Upgradable backpacks. It requires Sophisticated Core, which also goes on both sides. |
| spark | Optional on the serverModrinth: Client or server, works the same on either | Performance profiler for clients, servers and proxies. On a server, run /spark profiler start, then /spark profiler stop to see the results. |
| Terralith | Server-sideModrinth: Server-side only, works in singleplayer | Almost 100 new biomes built from vanilla blocks. Marked server-side only, so players without it can still join. From version 2.6.0 the mod needs Lithostitched, which goes on the server too. |
| Waystones | Both sidesModrinth: Client and server, required on both | Waystone blocks you teleport between. It requires the Balm library, and its 26.3 versions also require Shogi, so keep those on the server too. |
| Xaero's Minimap | Optional on the serverModrinth: Client and server, optional on server | Minimap with waypoints. On the server it adds server-side settings and more reliable detection of separate worlds. |
| Xaero's World Map | Optional on the serverModrinth: Client and server, optional on server | Full-screen world map. Its page calls it mostly client-sided; on the server it adds features like world identification. |
Missing a mod? Paste its file name into the checker above, which asks Modrinth about anything not in this table. The table data is also available as JSON.
"Invalid dist DEDICATED_SERVER": a client-only mod on the server
When a client-only mod ends up on a Forge server, or a NeoForge server up to 1.21.5, startup usually stops with an error like this:
java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid dist DEDICATED_SERVER
Newer NeoForge versions dropped that check, so the same mistake there usually shows up as a NoClassDefFoundError naming a net/minecraft/client class. On Fabric, look for Cannot load class … in environment type SERVER. When Fabric Loader starts a dedicated server, it leaves out any mod whose fabric.mod.json sets "environment": "client", so on Fabric the culprit is usually a mod tagged for both sides that still calls client code.
The client-only mod crash guide shows how to find the mod from the log and take it off safely. Or paste the whole log into the crash log analyzer.
Sinytra Connector: Fabric mods on NeoForge
Sinytra Connector loads Fabric mods on NeoForge (its 1.21.1 and 26.1.2 releases) and on Forge 1.20.1. It requires Forgified Fabric API, and its 26.1.2 builds also require Launchpad. For a server:
- If the server's
modsfolder holds Fabric mods, the server needs Connector and its required libraries as well. - Connector's own label, "client or server, works the same on either", describes Connector by itself. It says nothing about the Fabric mods it loads.
- Each Fabric mod keeps its own side. A client-only Fabric mod is still client-only when Connector loads it, so check it here like any other mod.
- Connector's site, connector.sinytra.org, has a search for whether a given Fabric mod runs on it.
Checking a mod yourself
- Modrinth: the project page shows the environment label the author picked.
- Fabric mods: a
.jaris a zip file. Open it and readfabric.mod.json:"environment": "client"means the game client only,"server"means the dedicated server only, and"*"(the default) means both. - The mod's own page or wiki: it often says outright whether the server needs it, like the notes in the table above.
- A rule of thumb: a mod that adds blocks, items, mobs or dimensions almost always has to be on the server.
Related guides
Modded hosting is relaunching.
DSN hosts Forge, NeoForge and Fabric servers with a file manager and SFTP for moving mods in and out, and support from the owner by email or Discord. We're moving DSN Servers to new hardware, and ordering is closed until then. Join the launch list and we'll email you when servers open.