How to Host a Multiplayer Server with Modrinth
How to Host a Multiplayer Server with Modrinth
You can host a multiplayer server with Modrinth in two ways: buy an integrated server from Modrinth Hosting, or run a Modrinth modpack on your own Linux server. The first route is easier; the second gives you root access, control over Java and Docker, and the ability to run monitoring, a proxy, or other services beside Minecraft.
This guide builds the self-managed version with Docker because it is repeatable, easy to back up, and technically transparent. It also explains the official hosted route and how players join from the Modrinth App. Modrinth currently focuses on Minecraft: Java Edition, so this is not a Bedrock-only hosting guide.
Quick answer: provision a Linux server with at least 4 GB RAM, install Docker, deploy
itzg/minecraft-serverwithTYPE=MODRINTH, pointMODRINTH_MODPACKat a project slug or version URL, open TCP port 25565, and have every player install the matching pack in the Modrinth App.
What Modrinth Doesโand Does Not Do
Modrinth is a content platform, launcher, API, and hosting service. A Modrinth project page stores metadata and versioned files; the Modrinth App installs and launches client instances; Modrinth Hosting runs paid servers. Merely downloading the launcher does not turn your computer into a public server.
A .mrpack file is more than a ZIP of arbitrary JAR files. Its modrinth.index.json declares the Minecraft and loader versions, file hashes, download locations, and whether each dependency is required, optional, or unsupported on the client and server. It can also contain overrides and server-overrides. That environment metadata is why a compatible installer can exclude client-only mods and build a dedicated server reproducibly. See Modrinth's official explanation of the Modrinth modpack format.
Choose Between Modrinth Hosting and a VPS
Official Modrinth Hosting is the shortest path to a persistent world. Its current feature page lists an integrated content browser, console, file manager, SFTP, 15 off-site backups, custom modrinth.gg addresses, extra port reservations, and support for Fabric, Quilt, Forge, NeoForge, Paper, and Purpur where the selected Minecraft version permits them. It is a good default for a group that does not want to administer Linux.
A VPS is the better engineering choice when you need SSH and root access, a custom backup destination, a Velocity proxy, a web map, multiple server processes, or infrastructure-as-code. It also lets you stop the machine when a short-lived test is finished.
For that self-managed route, LightNode is a practical option because it offers KVM instances, NVMe storage, root access, multiple regions, and hourly billing. That combination is useful for testing a pack before committing to a long-running server. A 2 GB instance may start a small vanilla server, but for a real modpack choose at least 4 GB RAM; use 8 GB for a heavier pack or a larger group. Select the region closest to the players, not simply the cheapest region.
Whichever host you choose, prioritize strong single-thread CPU performance. Minecraft's main tick loop is often CPU-bound; adding RAM will not repair a server that consistently exceeds 50 ms per tick.
Capacity Planning Before Installation
Do not size a server from player count alone. World generation, automation mods, entity counts, view distance, and chunk loaders can matter more than the number of connected players.
| Workload | Sensible starting point | Notes |
|---|---|---|
| Vanilla or light Fabric, 2โ5 players | 2โ4 vCPU, 4 GB RAM | Keep view distance conservative |
| Medium pack, 5โ10 players | 4 vCPU, 6โ8 GB RAM | Prefer a modern high-clock CPU |
| Heavy pack or 10+ active players | 4โ8 vCPU, 8โ16 GB RAM | Profile before increasing memory |
Leave roughly 1โ2 GB for Linux, Docker, filesystem cache, and monitoring. Do not assign all system memory to the JVM. A 6 GB machine, for example, should usually start with a 4โ5 GB Minecraft heap rather than 6G.
Step 1: Prepare Ubuntu and Docker
The commands below assume Ubuntu 24.04 or a similar current release. Connect over SSH with a sudo-capable account, update the machine, and install Docker from the distribution packages:
sudo apt update
sudo apt upgrade -y
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker
sudo install -d -m 0750 /opt/modrinth-server
sudo chown "$USER":"$USER" /opt/modrinth-server
cd /opt/modrinth-serverConfirm that Docker is available:
docker version
docker compose versionFor a public server, also create a non-root administrative account, use SSH keys, disable password authentication after verifying key access, and apply security updates regularly. Minecraft should be public; SSH should not be open to the whole internet unless necessary.
Step 2: Pin the Modpack and Create the Server
Find the pack on Modrinth and copy either its slug, project ID, project URL, orโbest for predictable production deploymentsโthe exact version-page URL. The maintained itzg/minecraft-server image officially supports these forms through MODRINTH_MODPACK.
Create compose.yaml in /opt/modrinth-server:
services:
minecraft:
image: itzg/minecraft-server:latest
container_name: modrinth-minecraft
restart: unless-stopped
ports:
- "25565:25565/tcp"
environment:
EULA: "TRUE"
TYPE: "MODRINTH"
MODRINTH_MODPACK: "https://modrinth.com/modpack/your-pack/version/your-version"
MEMORY: "6G"
USE_AIKAR_FLAGS: "true"
ONLINE_MODE: "TRUE"
ENABLE_WHITELIST: "TRUE"
WHITELIST: "PlayerOne,PlayerTwo"
OPS: "YourMinecraftName"
VIEW_DISTANCE: "8"
SIMULATION_DISTANCE: "6"
MAX_PLAYERS: "10"
MOTD: "Private Modrinth Server"
volumes:
- ./data:/data
stop_grace_period: 2mReplace the example pack URL, memory allocation, usernames, and limits. Pinning the pack's version page prevents an unattended restart from silently changing the mod set. For stricter change control, pin the container image tag too rather than leaving latest in production.
The ONLINE_MODE setting should remain true for an internet-facing server. Turning it off removes Mojang/Microsoft account authentication and enables username spoofing unless a correctly configured authenticated proxy sits in front of the server.
Start the service and follow its first boot:
docker compose up -d
docker compose logs -f minecraftThe installer resolves the pack, downloads server-compatible files, installs the required loader, accepts the EULA because it was explicitly set, and generates the world. Wait until the log reports that startup is complete. The first launch can take several minutes because it downloads dependencies and creates spawn chunks.
Step 3: Open Only the Required Network Port
Minecraft Java Edition normally listens on TCP 25565. If UFW is active, allow the game port while keeping SSH restricted:
sudo ufw allow 25565/tcp
sudo ufw status verboseYou may also need to allow TCP 25565 in the provider's cloud firewall. Do not expose Docker management sockets, RCON, or a web panel publicly. If you enable RCON for automation, bind it privately, use a long random password, and reach it through a VPN or SSH tunnel.
A domain is optional. Create an A record such as mc.example.com pointing to the server's IPv4 address. If you use a non-default port, add an _minecraft._tcp SRV record or tell players to enter host:port. DNS proxying designed for HTTP websites generally cannot proxy raw Minecraft traffic.
Step 4: How to Play Multiplayer on Modrinth
Every player must use the same Minecraft version, loader, modpack version, and required configuration. In the Modrinth App, open Browse, select the pack, install it, and launch that instance. Do not open an unrelated vanilla profile.
Inside Minecraft, choose Multiplayer โ Add Server, enter a friendly name and the server address, then connect. This is the practical answer to How to add a server to Modrinth: the saved server entry belongs to Minecraft's Multiplayer screen inside the Modrinth-launched instance. You do not need to upload the private server itself as a public Modrinth project.
If you created the pack, export it from the instance's Mods tab as an .mrpack and share that exact file privately, or publish it as a Modrinth modpack after checking redistribution permissions. Public publishing and adding a multiplayer address to a client are different workflows.
Keep the Server Stable and Recoverable
The world, configuration, and installed files live in /opt/modrinth-server/data, so the container can be replaced without deleting game data. Persistence is not a backup, however. Before updating a modpack, stop the server cleanly and copy the data to storage outside the VPS.
cd /opt/modrinth-server
docker compose stop minecraft
sudo tar -C data -czf "/var/backups/modrinth-$(date +%F-%H%M).tar.gz" .
docker compose start minecraftSend backups to another machine or object-storage account and test restoration. A backup stored only on the same virtual disk will disappear with that disk. Keep several generations because world corruption may be noticed days after it begins.
For an update, read the pack's changelog, take a backup, change the pinned version URL, and restart. Never assume that a new pack version is compatible with an existing world. Test major Minecraft, loader, or world-generation changes on a copy first.
Monitor these signals instead of relying on perceived lag alone:
docker stats modrinth-minecraftfor container memory and CPU;docker compose logs --tail=200 minecraftfor exceptions and watchdog events;/forge tps,/spark tps, or a compatible profiler for tick health;- disk usage and backup completion;
- network latency from the players' actual regions.
Sustained MSPT below 50 normally keeps the server at 20 TPS. If memory is exhausted, reduce the heap pressure or upgrade RAM. If memory is comfortable but MSPT is high, profile expensive dimensions, entities, chunks, mods, or datapacks before buying more RAM.
โCan't Connect to Modrinth Serverโ: A Layer-by-Layer Check
When someone reports Cant connect to Modrinth server, preserve the exact error instead of reinstalling everything. Different messages point to different layers.
First confirm that the process is healthy:
docker compose ps
docker compose logs --tail=100 minecraft
sudo ss -lntp | grep 25565If nothing listens on 25565, inspect the crash log. Loader-version mismatches, client-only mods on the server, an unsupported Java version, or an out-of-memory kill are common causes. Do not keep restarting a crash loop without reading the first exception.
If the server listens locally but remote players time out, check both UFW and the provider firewall, verify the public IP, and confirm that DNS resolves to that IP. Test the direct IP:port to separate DNS from transport problems. Modrinth's own connection troubleshooting guidance likewise recommends trying the direct IP and port when its hosted URL is suspect.
If the server appears in the list but rejects a player, interpret the message:
| Error | Likely cause | Corrective action |
|---|---|---|
| Connection timed out | Firewall, wrong IP/port, server offline | Check listener and both firewall layers |
| Unknown host | DNS typo or propagation | Use the direct IP temporarily |
| Incompatible version | Client and server Minecraft versions differ | Launch the exact pack version |
| Incomplete set of tags / mod mismatch | Loader, mods, or configs differ | Reinstall the same .mrpack version |
| Not whitelisted | Username absent from whitelist | Add it from console, then retry |
| Authentication servers unavailable | External session-service problem | Keep online mode enabled and retry later |
Also check whether a client-only optimization or rendering mod was incorrectly marked server-compatible. The .mrpack environment metadata normally prevents that, but project metadata can be wrong. The Docker installer supports explicit exclusion rules for exceptional cases; document any override so the next administrator can reproduce it.
Modrinth Server Hosting Free: What Is Actually Free?
The Modrinth App, project downloads, and the software used in this guide are free, but an always-on public server consumes CPU, memory, storage, and bandwidth. Modrinth server hosting free offers should therefore be read carefully: at the time of this review, Modrinth advertised a limited five-day, 3 GB US trial without a credit card, while its normal hosting was paid. Availability can change.
Self-hosting on a spare computer avoids a monthly hosting invoice but still uses electricity and upload bandwidth, exposes your home IP, and may require router port forwarding. Carrier-grade NAT can make inbound hosting impossible without a tunnel. A VPS avoids those home-network constraints but is not free.
Modrinth Server Hosting Reviews: A Technical Verdict
Good Modrinth server hosting reviews should separate convenience from raw specifications. Modrinth Hosting's strongest advantage is integration: installing compatible content, managing properties, viewing the console, accessing files over SFTP, and restoring hosted backups are in one workflow. The official service also advertises 24/7 operation and regions in North America, Europe, Southeast Asia, and Australia.
Its trade-off is the same as any managed game panel: you get less operating-system control than on a VPS. Choose it when the group wants to play, not manage Linux. Choose a VPS such as LightNode when root access, hourly testing, custom networking, or co-hosted services matter enough to justify patching, security, backups, and incident response yourself.
FAQ
Can I host a server through Modrinth?
Yes. Modrinth Hosting provides managed Minecraft Java Edition servers integrated with Modrinth content. Alternatively, use mrpack-install, the itzg/minecraft-server Docker image, or another compatible installer to run a Modrinth pack on your own server. Modrinth lists these self-hosted methods in its official modpack documentation.
Can you use Modrinth to play multiplayer?
Yes. Install the matching pack in the Modrinth App, launch it, and add the host in Minecraft's Multiplayer menu. All players need compatible Minecraft, loader, mod, and configuration versions. The Modrinth launcher starts the client; the persistent multiplayer world runs on Modrinth Hosting, a VPS, or another reachable server.
How much does it cost to host a Modrinth server?
When checked on August 7, 2026, Modrinth's hosting page advertised custom configurations from $5 per month. It also displayed quarterly-billed Small, Medium, and Large plans equivalent to $10, $15, and $20 per month, although stock and regional availability can change. VPS pricing is separate and varies with memory, CPU, region, storage, bandwidth, and how many hours the instance runs. Verify the live checkout price before purchasing.
How good is Modrinth server hosting?
It is a strong choice for players who want low-friction modpack installation and an integrated panel with console access, file management, SFTP, backups, custom addresses, and popular loaders. It is not automatically the best choice for every workload: administrators who need root access, custom daemons, a proxy network, or provider-independent backups may prefer a VPS.
Are Modrinth servers 24/7?
Yes. Modrinth describes its official product as 24/7 Minecraft hosting. A VPS installation can also remain online continuously when restart: unless-stopped is configured, the instance stays powered on, and billing remains active. Neither model eliminates maintenance windows, crashes, or network incidents, so monitor availability and keep off-site backups.
Can Bedrock players join a Modrinth Minecraft server?
Modrinth currently focuses on Minecraft Java Edition. A Java server can sometimes accept Bedrock clients through compatible Geyser and Floodgate configurations, but that is a translation layer rather than native Bedrock hosting. Confirm that the selected loader, plugins, authentication mode, and extra UDP port are supported before promising cross-play.
Should I use Fabric, Forge, NeoForge, Paper, or Purpur?
Use the platform required by the pack. Fabric, Forge, NeoForge, and Quilt load mods and are not interchangeable. Paper and Purpur load Bukkit-compatible plugins and are appropriate for many plugin-based servers, but they cannot run an arbitrary Forge or Fabric modpack. Never change loaders on an existing world without a tested migration plan.
Related Guides
Best game server VPS ยท Pixelmon VPS hosting ยท Free VPS for businesses ยท United States VPS
Technical details and prices were checked on August 7, 2026. Modrinth features, plan availability, mod-loader compatibility, and provider pricing can change; confirm them before deployment.