Minecraft · Advanced
Running Fabric, Forge, NeoForge and modpacks on a Minecraft server
Mods vs. plugins and choosing a loader
Mods change the game itself (new blocks, items, dimensions) and players must have them installed in their client too. Plugins (Paper/Spigot) run only on the server — they are covered in How to install plugins.
| Mod loader | When to use it |
|---|---|
| Fabric | Lightweight mods, quickly available for new game versions. Most mods also need Fabric API. |
| Forge | Classic large modpacks, mostly for older versions (1.12.2, 1.16.5, 1.18.2, 1.20.1). |
| NeoForge | Forge's successor for newer versions (1.20.2 and up); many new modpacks are released for it. |
1Back up the current server
Changing the mod loader or version is done by reinstalling, which runs the installation script and may overwrite files. Before you start, stop the server and in the Backups tab click Create Backup. If you want to keep the world, download the backup to your computer as well. Details are in Backups and version changes.
2Set the mod loader and version in the panel
You set the mod loader and game version in the panel rather than by uploading a server core by hand — the installation script downloads the right files and libraries itself.
- Open the Startup tab. The Variables section lists the template (egg) variables — typically the Minecraft version and the mod loader version. The exact names depend on the template.
- Enter the game version and mod loader version the modpack requires (e.g. Minecraft 1.20.1 and Forge 47.x). Variable changes are saved automatically.
- In the same tab pick the right Java in the Docker Image field: Java 8 for 1.16.5 and older, Java 17 for 1.18 to 1.20.4, Java 21 for 1.20.5 and newer.
- In the Settings tab click Reinstall Server and confirm. You will see the installation progress in the console.
3Upload the server pack
A server version of a modpack is usually downloaded as a separate Server Pack (on CurseForge under Files for a given version, on Modrinth in the description or project versions). If the author has not published one, build it from the client installation: copy the mods, config and possibly defaultconfigs, kubejs folders and remove client-only mods.
What to upload
The panel already installed the server core in step 2, so upload only the modpack content, not its own launch files:
/
├── mods/ ← upload (all .jar mods)
├── config/ ← upload
├── defaultconfigs/ ← upload if present
├── kubejs/ ← upload if present
├── libraries/ ← keep from the panel install
├── run.sh / start.sh / *.bat ← not needed
└── server.propertiesHow to upload
- SFTP (recommended for hundreds of files): details are in Settings → SFTP Details, the password is your panel password. Connect with FileZilla or WinSCP and drag the folders into the server root.
- Archive via the panel: zip the folders, upload the archive in the Files tab with Upload and choose Unarchive from the file's menu. Delete the archive afterwards so it does not take up space.
4How much memory (RAM) a modpack needs
There is no exact number — it depends on the specific mods, world size and player count. The values below are a rough starting point for a smaller community (a handful to a few dozen players at once) and a normally sized world:
| Server | Rough guide |
|---|---|
| Vanilla or Paper with a few plugins | 4 GB |
| Light modpack (a few dozen mods) | 6–8 GB |
| Large modpack (roughly 150 mods or more) | 12 GB and up |
Many modpacks state recommended memory in their description — treat it as a minimum. The panel sets Java memory according to your plan; do not raise it by hand (e.g. with -Xmx in user_jvm_args.txt) above the allocated amount, otherwise the process may be killed for running out of memory. If memory is not enough, upgrade the plan in the client area.
5First start
- Start the server with the Start button. The first start of a modded server takes longer — mods load and the world generates.
- If the panel asks you to accept the EULA, accept it (or set
eula=trueineula.txt). - Wait for the line:
[Server thread/INFO]: Done (42.123s)! For help, type "help"If the server crashes, look for the cause at the end of the console or in logs/latest.log, and for crashes also in the crash-reports folder.
Connecting players: the client must match
Players need the same game version, the same mod loader and the same modpack version as the server. The easiest way is to install the modpack through a launcher that supports modpacks — e.g. the CurseForge App, Modrinth App or Prism Launcher — and pick the same modpack version the server runs.
Common errors
| Symptom | Cause | Fix |
|---|---|---|
| Player gets "Mismatched mod list" or "Incompatible mods" | Different mod or modpack versions on client and server. | Align the versions. |
invalid dist DEDICATED_SERVER | A client-only mod is on the server. | Remove the mod named in the message from the mods folder. |
OutOfMemoryError | The modpack needs more memory. | Upgrade the plan or remove heavy mods. |
Unsupported class file major version | Wrong Java version. | Change the Docker Image in the Startup tab. |
| A mod requires another mod | A dependency is missing (e.g. Fabric API, Architectury). | Install it in the matching version for the same loader. |
Looking for Minecraft server hosting?
Paper, Fabric, Forge and modpacks in the Pterodactyl panel on our own hardware in Frankfurt am Main. If you get stuck, contact support.