java.lang.NoClassDefFoundError: org/lwjgl/Version
COAL-017 · Client-only mod installed on a server
A client-only mod like Sodium, Iris, or a shader mod is in your server's mods folder. Why servers cannot run them, and the full list of ones to move to your client.
What it looks like in the logjava.lang.NoClassDefFoundError: org/lwjgl/Version at net.caffeinemc.mods.sodium.client.SodiumClientMod.onInitializeClient(SodiumClientMod.java:52)
What it means
LWJGL is the library Minecraft uses to talk to your graphics card. A dedicated server renders nothing, so it does not ship LWJGL at all. When a mod that only makes sense on a client - a rendering or optimisation mod, a shader loader, a HUD mod - is placed in the server's mods folder, it immediately reaches for LWJGL and the server dies on startup.
This is not a broken mod or a broken server. It is a mod in the wrong place.
How to fix it
Remove the client-only mod from the server's mods folder. It still works fine - install it in your own Minecraft client instead, where it belongs. The stack trace under the error names the mod; in the example above, Sodium.
Client-only mods that most commonly end up on a server by mistake:
- Rendering and performance: Sodium, Rubidium, Embeddium, Iris, Oculus, OptiFine
- Shaders: every shader pack, and the loaders that run them
- Visual and HUD: minimap mods, zoom mods, tooltip and inventory HUD mods, animation and particle mods
- Resource pack helpers: anything whose description is about how the game looks
Not sure about a specific mod? Its Modrinth or CurseForge page states the environment - look for "client" versus "server" on the listing. Mods marked client-side only never need to be installed on the server, even when every player uses them.

