Resolve timeouts on a modded Minecraft server
Your players get sent back to the menu with "Timed out" or "Read timed out" before they can join your modded Minecraft server? This guide shows how to fix it with longer timeouts on Forge, NeoForge and Fabric, on the server and on the client. It also shows where to increase the timeout of your Minecraft server in OuiPanel, the OuiHeberg game panel.
Understanding timeouts
The disconnection problem
Connection drops caused by timeouts are one of the most common issues on Minecraft servers that run large modpacks. The classic scenario: you launch the game, try to join the server, then after a long wait the game sends you back to the main menu with a timeout error.
The cause is usually the time needed to load many mods and sync with the server. A few settings or the right mod are generally enough to get a stable connection back.
How timeouts work
Minecraft gives critical operations about half a minute: mod initialization, connection to the server, transfer of sync data. That is plenty for a vanilla install. It quickly becomes too short once mods come into play.
Root causes of the problem
Triggering factors
Timeouts happen more often in these situations.
| Situation | Impact |
|---|---|
| Large modpack (over 100 mods) | Very high |
| Unstable or slow network connection | High |
| Machine with limited resources (RAM, CPU) | High |
| Mods that need heavy processing | Moderate |
| Overloaded or poorly configured server | Moderate |
Quick diagnosis
The error message tells you where the problem comes from.
| Message | Likely cause |
|---|---|
Timed out or Read timed out | Timeout exceeded |
Connection lost | Unstable network or timeout |
| Crash with a full error trace (stacktrace) | Mod conflict or incompatibility |
Missing mod | Mod missing on the client or server, incomplete install |
Solutions by modloader
The fix depends on the mod loader. Forge and NeoForge accept JVM arguments or a dedicated mod. Fabric uses a mod of its own.
JVM arguments for Forge and NeoForge
This is the recommended method. It raises the timeout from about half a minute to two minutes, by adding these arguments to the launch command.
-Dfml.readTimeout=120 -Dfml.loginTimeout=120
These settings give Forge and NeoForge more time during loading and authentication. Drops become far less frequent with large modpacks. The value is expressed in seconds.
The arguments must sit between java and -jar for the JVM to read them.
# Correct structure
java -Dfml.readTimeout=120 -Dfml.loginTimeout=120 -Xms4G -Xmx8G -jar server.jar nogui
# Incorrect position (will not work)
java -Xms4G -Xmx8G -jar server.jar -Dfml.readTimeout=120 nogui
Longer timeouts do not hurt performance. They only set the maximum wait before an operation counts as failed, with no effect on CPU load, memory or bandwidth.
The
-Dfml.readTimeoutand-Dfml.loginTimeoutarguments are only recognized by Forge and NeoForge. A vanilla install ignores them. In vanilla, timeouts are rare and usually come from the network.
TimeoutFixes mod for Forge and NeoForge
To skip any technical change, install the TimeoutFixes mod. It works with Forge and NeoForge and sets the timeouts on its own. It must be installed on both the server and the client.
TimeOutOut mod for Fabric
Fabric has its own solution, with no JVM argument to change. The TimeOutOut mod increases connection timeouts to prevent drops while mods initialize. It is built for Fabric, its timeouts are fully adjustable, and it must be installed on both client and server in multiplayer.
A timeout mod installed on one side only can cause unpredictable behavior. On your OuiHeberg server, add it from the Mods Manager or drop its .jar file into the mods folder. The guide How to install mods on your Minecraft server (Forge/Fabric) covers both methods.
Server configuration
In OuiPanel
Log in to OuiPanel at dash.ouipanel.com and open your server.
Open Configuration › Server Settings.
In the Server Launch card, click Edit startup command.
In the "Edit startup command" window, add
-Dfml.readTimeout=120 -Dfml.loginTimeout=120right afterjava, before-jar.Click Save.
In the Console, click Restart, then check the startup log.
For example, a command like this one:
java -Xms4G -Xmx8G -jar server.jar nogui
becomes:
java -Dfml.readTimeout=120 -Dfml.loginTimeout=120 -Xms4G -Xmx8G -jar server.jar nogui

A badly edited startup command can stop the server from starting. Copy the original command before you change it, so you can put it back.
On the free Minecraft plan, the startup command cannot be edited. The panel then shows "Startup command editable on a premium plan".
On your own machine
If you run your own server, create a dedicated startup script.
Linux (start.sh):
#!/bin/bash
java -Dfml.readTimeout=120 \
-Dfml.loginTimeout=120 \
-Xms4G \
-Xmx8G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-jar server.jar nogui
Windows (start.bat):
@echo off
java -Dfml.readTimeout=120 -Dfml.loginTimeout=120 -Xms4G -Xmx8G -jar server.jar nogui
pause
In every case, save the configuration, fully restart the server, then check the logs to confirm the settings are applied.
Client configuration
Players can also extend the timeout on their side, in their launcher.
Official Minecraft Launcher
Open the Minecraft Launcher and go to the Installations tab.
Select your modpack's profile.
Click More options to show the advanced settings.
In the JVM Arguments field, add to the existing settings as shown below.
Click Save, then launch the game with this profile.
-Xms4G -Xmx8G -Dfml.readTimeout=120 -Dfml.loginTimeout=120
CurseForge
Open the app's Settings.
Select the Minecraft section.
In the Additional Java Arguments field, add
-Dfml.readTimeout=120 -Dfml.loginTimeout=120.
Prism Launcher and MultiMC
Right-click the instance.
Choose Edit (or Edit Instance).
Open the Settings tab, then Java.
Enter the arguments in the matching field.
ATLauncher
Open Settings.
Open the Java/Minecraft tab.
Add the arguments in Extra JVM Arguments.
GDLauncher
Click the settings icon (gear).
Select Java.
Fill in the Additional Arguments field.
Diagnostic and advanced troubleshooting
Check that the settings are applied
Look at the server startup logs. In OuiPanel, open logs/latest.log from the File Manager, or follow the Console. On your own machine, this command finds the relevant lines.
# Search in the logs
grep -i "timeout" logs/latest.log
Good signs: no more "Timed out" messages when players connect, and connections that take longer but succeed.
Raise the values step by step
Start at 120, which is two minutes and suits most setups. If disconnections continue, go up in steps of 60, one more minute each time.
| Level | Value | Use case |
|---|---|---|
| Standard | 120 (2 minutes) | Typical modpacks (50 to 100 mods) |
| Extended | 180 (3 minutes) | Large modpacks (100 to 200 mods) |
| Maximum | 240 (4 minutes) | Huge modpacks (over 200 mods) |
| Extreme | 300 (5 minutes) | Very slow setups |
Example with the extended timeout:
-Dfml.readTimeout=180 -Dfml.loginTimeout=180
Beyond 300, or five minutes, the problem lies with the modpack or the hardware rather than the wait time. Optimize the modpack instead of extending further.
Read the error messages
| Message | Meaning | Fix |
|---|---|---|
io.netty.handler.timeout.ReadTimeoutException | Read timeout exceeded | Increase readTimeout |
Login timed out | Authentication too slow | Increase loginTimeout |
Connection reset | Connection interrupted | Check network stability |
Internal Exception | Internal error | Read the full stacktrace |
If the problem persists
Check the logs to confirm the settings are applied.
Test your network connection (ping, stability).
Remove mods temporarily to find the one causing trouble.
Increase the allocated resources, RAM in particular.
Update all your mods to their latest version.
Additional optimizations
Performance mods
Longer timeouts are sometimes only a workaround. To tackle the problem at its source, install optimization mods.
| Mod | Effect | Loaders |
|---|---|---|
| ModernFix | Optimizes memory management and speeds up resource loading. Cuts startup time noticeably. | Forge, NeoForge, Fabric |
| FerriteCore | Greatly reduces RAM usage on large installs, saving up to 50% of RAM. | Forge, NeoForge, Fabric |
| LazyDFU | Defers DataFixerUpper initialization for a faster startup. | Forge, Fabric |
Network stabilization
The Connectivity mod optimizes the network protocol. It improves connection handling and reduces drops caused by instability. It works with Forge and NeoForge.
Connectivity cannot run alongside TimeoutFixes. Pick one or the other based on your main issue.
Server network settings
In server.properties:
# Increase if necessary
max-tick-time=120000
network-compression-threshold=256
In spigot.yml, if your server has one:
settings:
timeout-time: 120
restart-on-crash: true
In OuiPanel, server.properties can be edited in Configuration › Properties Editor, or by opening the file in the File Manager.
The
player-idle-timeoutsetting inserver.propertieshas nothing to do with these errors. It kicks idle players after the given number of minutes, andplayer-idle-timeout=0turns the kick off.
Useful resources
Documentation
Diagnostic tools
Communities
Need help?
Open a ticket from Tickets › Open a Ticket, or from the Contact support tile at the bottom of your server's page in the client area. You can also ask your question on the OuiHeberg Discord.
Discover our Minecraft hosting plans starting from $2.28/month with automatic mod installation.
Minecraft server hosting →