Back to Blog

How to Set Up a Minecraft Modpack Server: Forge, NeoForge and Fabric

How to set up a Minecraft modpack server: server packs, installing Forge, NeoForge and Fabric, the Java version, RAM settings, client mods and updates.

Nodesty Team6 min readGame servers
The words Modpack Server with Forge, NeoForge and Fabric on a dark Nodesty background

A Minecraft modpack server is a server that lets you play a modpack, which bundles hundreds of mods, together with your friends or your community. Unlike a vanilla or Paper server, it needs a mod loader (Forge, NeoForge or Fabric), the right Java version, more RAM and a mod list that matches the mods in the players' clients exactly. The easiest route is to use the modpack's ready-made server pack.

This guide covers setting up a modpack server on Linux step by step, the differences between Forge, NeoForge and Fabric, RAM and Java settings, common errors and updates. You can find the basics of a Minecraft server in our How to make a Minecraft server guide.

Forge, NeoForge and Fabric

Mod loaderStrengthsTypical modpacks
ForgeThe most established loader; widest mod support on older versionsClassic 1.12.2 and 1.16.5 packs
NeoForgeA loader derived from Forge, increasingly common on newer versionsLarge packs for 1.20.2 and later
FabricLight and fast; stands out with performance and small modsOptimized, lightweight and technical packs

The modpack decides which one you use; the modpack's page states which loader and which Minecraft version it uses. Mods for different loaders don't work with each other.

Requirements

  • Java: The Java version that matches the Minecraft version.
    Minecraft versionJava version
    1.20.5 and laterJava 21
    1.18 – 1.20.4Java 17
    1.12.2 and olderJava 8
  • RAM: Depending on the size of the modpack:
    UsePlayersRecommended RAM
    Light modpack (Fabric, 50–150 mods)5–156–8 GB
    Heavy modpack (All the Mods, 300+ mods)10–2010–16 GB
  • Processor: Modded servers need much more processing power than vanilla servers, and the main loop runs largely on a single core. High single-core speed is what matters. Older 1.12.2 packs such as RLCraft need less RAM but put a heavy load on a single core.

To install Java 21 on Ubuntu:

sudo apt update
sudo apt install openjdk-21-jre-headless
java -version

Method 1: Installing with a ready-made server pack

Most large modpacks have a separate Server Pack file on their download page. This file contains the mods that need to run on the server, the settings and the start script; client-only mods have been removed.

  1. Create a separate user and folder on the server:
    sudo useradd -m -s /bin/bash minecraft
    sudo su - minecraft
    mkdir ~/modpack && cd ~/modpack
    
  2. Download the server pack from the modpack's page (or download it to your own computer and upload it over SFTP) and extract it:
    unzip ServerPack.zip
    
  3. Make the start script inside the pack (start.sh, run.sh or similar) executable and read the pack's instructions file. Some packs install the mod loader themselves on the first run.
  4. Accept Minecraft's terms of use by writing eula=true in the eula.txt file.
  5. Set the RAM (see the section below) and start the server in a tmux session:
    tmux new -s modpack ./start.sh
    

The first startup can take a few minutes depending on the number of mods. When you see Done in the console, the server is ready.

Method 2: Installing the mod loader manually

If there's no server pack, or you're building your own mod list:

Forge or NeoForge: Download the installer (installer.jar) for the version the modpack uses from the official site and run it in server mode:

java -jar forge-installer.jar --installServer

The installer creates the required files and, on versions after 1.17, a run.sh script and a user_jvm_args.txt file. Then you copy the mods' .jar files into the mods folder. The NeoForge installer runs with the same parameter.

Fabric: Download the server launcher from the Fabric site and run it; don't forget to add Fabric API to the mods folder along with your mods:

java -Xms8G -Xmx8G -jar fabric-server-launch.jar nogui

Remove client mods. If you're copying the mods folder from your own computer to the server, remove the client-only mods (shaders, minimaps, interface and sound mods); these mods can stop the server from starting. Mod pages usually state whether a mod needs to run on the client, the server or both.

RAM and Java settings

  • Forge and NeoForge (1.17 and later): The RAM values go in the user_jvm_args.txt file:
    -Xms10G
    -Xmx10G
    
  • Other start scripts: Change the -Xms and -Xmx values on the java line inside the script.

Set -Xms and -Xmx to the same value and don't give away all of the server's RAM; leave 1–1.5 GB for the operating system. More RAM than needed can also make garbage collection pauses longer. Aikar's flags, recommended by Paper, also work on modded servers; the details are in our Minecraft server lag guide.

Port and connecting

A modpack server also uses port 25565 TCP by default:

sudo ufw allow 25565/tcp

Players connect to the server with a client that has the same version of the same modpack installed. All they need to do is install the modpack with CurseForge, Modrinth or a similar launcher and add the server's IP address. If the versions don't match, an error showing the missing or extra mods appears during connection. We explain how ports work in our What is a port? article.

Performance

Modded servers are much heavier than vanilla servers. For smooth gameplay:

  • Pre-generate the world. Pre-generating the area players will explore with the mod version of Chunky and setting a world border greatly reduces lag during exploration.
  • Use performance mods. Many modpacks already include mods that improve memory use and tick time (for example FerriteCore, ModernFix, or Lithium for Fabric). If your pack doesn't have them, you can consider adding them after making sure they're compatible with the modpack.
  • Balance the view distance. Keep the view-distance and simulation-distance values in server.properties low.
  • Measure. The mod version of spark shows which mod or which area is increasing the tick time.

Updates and backups

Modpack updates add, remove or change mods. Removing a mod can delete that mod's blocks and items from the world. Before updating:

  1. Shut the server down with the stop command.
  2. Back up the world folder and the config folders (config, defaultconfigs):
    tar -czf ~/modpack-backup-$(date +%F).tar.gz -C ~/modpack world config
    
  3. Read the modpack's release notes; major changes that require a world reset are listed there.
  4. Extract the new server pack into a separate folder and move your world folder and the settings you changed yourself into the new folder.
  5. Tell the players to update their clients to the same version too.

We cover regular backups kept independently of the server in our Server backups guide.

Nodesty for your modpack server

Nodesty Minecraft server hosting plans work with Paper, Forge and Fabric and offer 12 GB and 16 GB options for heavy modpacks. The Ryzen 9 9950X processor, boosting up to 5.7 GHz, handles the single-core-heavy load of modded servers; NVMe storage, L3–L7 DDoS protection and free daily backups kept for 7 days are included in the price. When your player count or your mod list grows, you can move up to a bigger plan from the panel.

Minecraft is a trademark of Mojang AB. Nodesty is not affiliated with or endorsed by Mojang or Microsoft.

Frequently Asked Questions

How much RAM does a modpack server need?

For a light Fabric pack with 50–150 mods, 6–8 GB is a good starting point; for heavy packs with more than 300 mods, such as All the Mods, start with 10–16 GB. Don't give all the RAM to Java; leave 1–1.5 GB for the operating system and set -Xms and -Xmx to the same value.

What is a server pack, and how is it different from a regular modpack?

A server pack is the version of a modpack that contains only the mods that need to run on the server, along with the config files and start scripts. Client-only mods such as minimaps, shaders and interface mods have been removed. If the modpack's page offers a server pack, always use it.

Which Java version should I install?

It depends on the Minecraft version. 1.20.5 and later need Java 21, 1.18 to 1.20.4 need Java 17, and older versions such as 1.12.2 need Java 8. The wrong Java version is one of the most common reasons a server fails at startup.

Why can't players connect to the server?

The most common reason is that the modpack version in the player's client doesn't match the one on the server. The server and the players must use the same modpack version. If the mod lists don't match, you get an error during connection that shows the missing or extra mods.

Can I install Paper plugins on a Forge server?

No. Forge, NeoForge and Fabric mods and Paper plugins are different systems and don't work together directly. On a modded server, you get admin and protection features from mods written for the same mod loader.

Will updating the modpack break my world?

Small updates are usually fine, but removing a mod or a major version change can delete that mod's blocks and items from the world. Before updating, always back up the world and config folders and read the modpack's release notes.

Nodesty

About the author

Nodesty Team · Infrastructure & Support

The Nodesty team runs our servers, network and DDoS protection day to day and answers customer support requests around the clock. These guides come from that work.

Related articles

Launch your server now.

Build, scale, and conquer without limits on Nodesty's premium infrastructure.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································