This tool scans through a folder full of .jar files, identifies which ones are safe for the server, and safely copies them into a Save_For_Server_Mods folder so you can drag-and-drop them right onto your server.
If you are a Minecraft server owner, you probably know the pain of downloading or creating a big modpack to put on your server, only to realize that half of the mods in the folder are "Client-Side Only" (mods that only change things on your screen, like menus or sounds). If you drop those client-side mods onto your server, your server will either instantly crash, or crash later when the client-only code tries to run on the server.
- Cross-Platform: Works on Windows, Mac, and Linux out-of-the-box (requires Java to be installed, which you already have if you play Minecraft).
- Smart Cloud Library: Automatically connects to GitHub to check massive lists of known "problematic" mods that have mislabeled themselves, falsely claiming to be server-safe.
- Offline Mode: If you don't have internet access, falls back to a local list of exclusions.
Step 1: Download
- Locate the Releases section on the right side of this GitHub page.
- Click on the latest version number (e.g.,
v1.0.1). - Scroll down to the Assets heading. (Do not click "Source code" or "Assets")
- Click
Client-Mod-Extractor.zipto download it.
Step 2: Setup
- Extract the downloaded
.zipfile. - Open your Minecraft
modsfolder where your.jarfiles are currently located. - Move the extracted files (
ClientModExtractor.java,Run-Extractor-Windows.bat, andRun-Extractor-Linux.sh) directly into thatmodsfolder.
Note: Ignore the ADVANCED_REVERSE_TOOL folder unless you specifically know what it is for.
Step 3: Run
- Double-click the launcher script for your operating system:
- Windows:
Run-Extractor-Windows.bat - Linux / Mac:
Run-Extractor-Linux.sh - Note for Windows users: If Windows displays a "Security Warning" or "Windows protected your PC" prompt, uncheck "Always ask before opening this file" and click Run, or click More info followed by Run anyway.
- Windows:
- Wait for the terminal window to process the files.
- Open the newly created
Save_For_Server_Modsfolder. - The
.jarfiles insideSave_For_Server_Modsare... wait for it... safe for servers. Move these files to your server'smodsfolder. - You can leave
ClientModExtractor.javaand the.bat/.shfiles in yourmodsfolder— Minecraft won't touch them— but you should probably delete theSave_For_Server_Modsfolder once you're done, since it's full of.jarfiles.
Because Minecraft modding has multiple ecosystems, the script uses different methodologies to identify client-only mods depending on the modloader.
The script reads the .jar files as standard ZIP archives and analyzes their metadata files:
- Locates
fabric.mod.json. - Parses the JSON structure.
- Identifies the mod as Client-Only if it contains
"environment": "client".
- Locates
META-INF/neoforge.mods.toml(for NeoForge) orMETA-INF/mods.toml(for Forge). - Dependency Striping: To prevent false positives, the script intelligently slices the TOML file and ignores everything after the first
[[dependenciesor[[mixinsblock. This ensures that if a mod depends on a client-side mod (likeflywheel), it isn't incorrectly flagged as client-only itself. - Checks the core mod properties for any of the following tags:
clientSideOnly = trueside = "CLIENT"displayTest = "IGNORE_SERVER_VERSION"
The script reaches out via standard HTTP GET requests to fetch community-maintained blocklists (such as the itzg docker-minecraft-server JSON lists) and my own custom exclusion list. It extracts the JSON arrays using regex and builds a unified Hash Set of blocked mod IDs. Any mod that matches these IDs is skipped, even if its internal metadata claims it is server-safe.