Iris Installed on Server

Iris was installed on a server and it crashed. Iris is a client-side shader loader (the Fabric counterpart to OptiFine's shaders) and has no server-side role.

What does this error mean?
Iris loads shaderpacks by hooking client rendering. On a server it tries to load client rendering classes for the DEDICATED_SERVER dist and fails. Iris, like Sodium, is meant purely for the client.
Attempted to load class net/minecraft/client/... for invalid dist DEDICATED_SERVER
Most Common Causes
  • The Iris jar placed in the server mods folder.
  • Copying client rendering mods to the server.
  • Assuming a shader loader runs server-side.
  • A pack that included Iris on the server set.
  • Mirroring the client mods folder.
How To Diagnose
  1. Confirm the crash names Iris / a client render class.
  2. Check the server mods folder for Iris (and Sodium).
  3. Recall that shader loaders are client-only.
  4. Look for other client rendering mods present.
Recommended Fixes
  • Remove Iris from the server
    Delete Iris (and Sodium) from the server, install them only on clients.
  • Keep shaders client-side
    Shaderpacks and their loaders run on each player's client, never on the server.
  • Use server-side performance mods
    For server TPS, use Lithium and friends, not client rendering mods.
  • Audit the server mods
    Remove other client-only rendering mods from the folder.
Frequently Asked Questions

No, it is client-side shader rendering only. The server gains nothing from it.

Iris pairs with Sodium on Fabric for shaders + performance, OptiFine is a standalone client mod.

Yes, with Iris on their client. It just must not be on the server.