How to Install a Modpack on a Minecraft Server from CurseForge
Want to host a CurseForge modpack? Here's the reliable way to install its server files on a Linux VPS and keep clients in sync.

CurseForge hosts thousands of modpacks, and most popular ones ship a ready-made server pack. Using it is far more reliable than hand-assembling mods. This guide installs a CurseForge modpack server on a Linux VPS.
Find the server files
On the pack's CurseForge page, open the Files tab and look for a download labelled "Server" or "Server Pack" (sometimes under "Additional Files"). This zip bundles the correct Forge/Fabric build and every mod, already arranged. Prefer it over the client zip — it saves a lot of pain.
If a pack has no server files, you'd install the loader and copy mods manually — see how to add mods — but the server pack is always the smoother path.
Match Java to the pack
Each pack targets one Minecraft version, which dictates Java. Check the pack page:
- 1.20.x packs: Java 17 (or 21 for 1.20.5+).
- 1.16–1.19 packs: Java 17 (some 1.16 packs use Java 8).
- 1.12.2 packs (e.g. RLCraft): Java 8.
sudo apt update
sudo apt install -y openjdk-17-jdk unzip screen
Upload and unzip
Transfer the server zip to your VPS and extract it:
mkdir -p ~/modpack && cd ~/modpack
# upload ServerPack.zip here, then:
unzip ServerPack.zip

Run the start script
Most server packs include a startserver.sh (or start.sh) and sometimes an installer that downloads Forge on first run. Accept the EULA and launch:
echo "eula=true" > eula.txt
chmod +x startserver.sh
./startserver.sh
Set memory in user_jvm_args.txt or the script (-Xmx8G -Xms8G for big packs). Pair it with Aikar's flags — large packs benefit a lot. For sizing, the RAM guide has real numbers; kitchen-sink packs like All the Mods want 8 GB+.
Keep the server running
Open the port and, ideally, run it under systemd (see the Forge guide for a unit file):
sudo ufw allow 25565/tcp
Match the client
Players install the same pack at the same version through the CurseForge app or Prism Launcher. The server and client version must be identical, or connections fail — this is the norm for all modded servers, as the mods guide explains. When a pack releases an update, follow the version-update process and back up first.
Set up the matching client
Players connect with the same pack at the same version, installed through a launcher. Two good options:
- CurseForge App: browse to the pack, click Install, then Play. Simplest for most people.
- Prism Launcher: a free, open-source launcher that can import a CurseForge pack zip and manage multiple instances cleanly. Popular with people who run several packs.
Both let you set the instance's allocated RAM in settings — give the client enough (4 GB+) for a heavy pack, separate from the server's allocation. The client version must match the server exactly, or the connection is refused.
Updating a modpack
When the pack author releases a new version, update the whole pack, not individual mods — the author has tested that combination. The process mirrors any server update:
- Back up the world and configs.
- Download the new server pack version.
- Replace the mods and loader (keep your
worldand edited configs). - Start, watch the log, and test-join before players return.
- Have everyone update their client to the matching version.
Never mix mod versions from different pack releases — that's the fastest route to a corrupt world.
Troubleshooting
If the server won't start, the cause is almost always one of:
- Wrong Java for the pack's Minecraft version — check the pack page and
java -version. - Too little RAM — big packs need 8 GB+; see the RAM guide.
- Incomplete upload/unzip — re-transfer the server zip and extract again.
- A single broken mod — read
logs/latest.log; it names the offender. This is the same debugging as hand-adding mods.
CurseForge vs Modrinth packs
Both platforms host modpacks, and the server-side process is similar, but there are practical differences. CurseForge has the largest catalogue and nearly every big pack (All the Mods, RLCraft, the Create packs), with server files provided per pack. Modrinth packs ship as a single .mrpack file that server tools and Prism Launcher can install directly, which some people find cleaner. If a pack exists on both, either works; pick whichever your players' launcher handles best. For CurseForge packs without a pre-made server zip, tools like SKCraft's Modpack Installer or mrpack-install (for Modrinth) can build the server from the manifest. Whichever route, the golden rules are unchanged: match Java to the pack's Minecraft version, give big packs plenty of RAM, and keep client and server on the identical version.
FAQ
Where do I find the server files for a modpack?
On the modpack's CurseForge Files tab, look for a "Server Pack" or "Server Files" download. It bundles the loader and all mods.
Which Java version for a CurseForge modpack?
Match it to the pack's Minecraft version — Java 17 for most 1.18–1.20 packs, Java 8 for 1.12.2 packs like RLCraft.
Do players need the modpack installed?
Yes — the identical pack and version via the CurseForge app or Prism. Vanilla clients cannot join a modded server.
Why won't my modpack server start?
Usually wrong Java, too little RAM, or a partial unzip. Check the version's Java requirement and read logs/latest.log.
Big modpacks need memory and NVMe speed to load quickly. Nxeon's game server hosting gives you the resources and root access to run any CurseForge pack.