ForgeSync is a lightweight web tool built with Flask that helps Minecraft modpack creators determine the most compatible Minecraft version for a list of mods from CurseForge.
Simply input a list of mod IDs, and the tool fetches their supported versions via the CurseForge API, analyzes the data, and recommends the version with the highest compatibility.
- 🧩 Determine the best Minecraft version for a list of mods
- 📦 Check which mods are incompatible with the suggested version
- 🔄 Caches mod data locally to reduce API calls
- 🌐 Simple web interface with Bootstrap styling
- ⚡ API endpoint for programmatic access
- Backend: Python, Flask
- Frontend: HTML, CSS, Bootstrap 5, JavaScript
- API: CurseForge API
- Utilities: Requests, caching with
OrderedDict,.envparsing
- Paste CurseForge mod IDs into the input box (one per line).
- Click Submit.
- View:
- All supported versions for each mod
- Recommended Minecraft version
- List of mods that don't support the recommended version
git clone https://github.com/ac-jurd/ForgeSync.git
cd ForgeSyncpython -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtCreate a .env file in the root directory with the following contents:
CF_API_KEY=<your_curseforge_api_key>python main.pyThen open your browser to http://localhost:5000.
Note: The built-in Flask server is intended for development and testing purposes only.
For deploying this app in a production environment, it is recommended to use a production-ready WSGI server such as Gunicorn or uWSGI, typically behind a reverse proxy like Nginx. This ensures better performance, security, and stability.
Request Body: JSON array of CurseForge mod IDs
Example:
[238222, 268560, 314904]Response:
{
"mods": {
"238222": {
"name": "JEI",
"versions": ["1.18.2", "1.19.2", "1.20.1"]
},
...
},
"recommended_version": "1.18.2",
"compatible_mod_count": 3,
"incompatible_mods": ["Mod X", "Mod Y"]
}.
├── main.py # Main Flask application
├── api.py # Handles CurseForge API interaction
├── util.py # Utilities: env parsing, version analysis
├── templates/
│ └── index.html # Frontend page template
├── static/
│ ├── main.js # Frontend JS logic
│ ├── style.css # CSS
│ └── favicon.ico # Favicon
├── .env # Contains your CurseForge API key
└── requirements.txt # Python dependencies-
This tool respects CurseForge API rate limits with polite delays.
-
Caching helps reduce repeated API calls within a 10-minute window.
-
The frontend includes guidance on how to find mod IDs.