MinecraftPublished on January 21, 20267 min read

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.

SituationImpact
Large modpack (over 100 mods)Very high
Unstable or slow network connectionHigh
Machine with limited resources (RAM, CPU)High
Mods that need heavy processingModerate
Overloaded or poorly configured serverModerate

Quick diagnosis

The error message tells you where the problem comes from.

MessageLikely cause
Timed out or Read timed outTimeout exceeded
Connection lostUnstable network or timeout
Crash with a full error trace (stacktrace)Mod conflict or incompatibility
Missing modMod 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.readTimeout and -Dfml.loginTimeout arguments 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

  1. Log in to OuiPanel at dash.ouipanel.com and open your server.

  2. Open Configuration › Server Settings.

  3. In the Server Launch card, click Edit startup command.

  4. In the "Edit startup command" window, add -Dfml.readTimeout=120 -Dfml.loginTimeout=120 right after java, before -jar.

  5. Click Save.

  6. 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

Server Settings page with the Server Launch card and the Edit startup command button

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

  1. Open the Minecraft Launcher and go to the Installations tab.

  2. Select your modpack's profile.

  3. Click More options to show the advanced settings.

  4. In the JVM Arguments field, add to the existing settings as shown below.

  5. Click Save, then launch the game with this profile.

-Xms4G -Xmx8G -Dfml.readTimeout=120 -Dfml.loginTimeout=120

CurseForge

  1. Open the app's Settings.

  2. Select the Minecraft section.

  3. In the Additional Java Arguments field, add -Dfml.readTimeout=120 -Dfml.loginTimeout=120.

Prism Launcher and MultiMC

  1. Right-click the instance.

  2. Choose Edit (or Edit Instance).

  3. Open the Settings tab, then Java.

  4. Enter the arguments in the matching field.

ATLauncher

  1. Open Settings.

  2. Open the Java/Minecraft tab.

  3. Add the arguments in Extra JVM Arguments.

GDLauncher

  1. Click the settings icon (gear).

  2. Select Java.

  3. 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.

LevelValueUse case
Standard120 (2 minutes)Typical modpacks (50 to 100 mods)
Extended180 (3 minutes)Large modpacks (100 to 200 mods)
Maximum240 (4 minutes)Huge modpacks (over 200 mods)
Extreme300 (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

MessageMeaningFix
io.netty.handler.timeout.ReadTimeoutExceptionRead timeout exceededIncrease readTimeout
Login timed outAuthentication too slowIncrease loginTimeout
Connection resetConnection interruptedCheck network stability
Internal ExceptionInternal errorRead the full stacktrace

If the problem persists

  1. Check the logs to confirm the settings are applied.

  2. Test your network connection (ping, stability).

  3. Remove mods temporarily to find the one causing trouble.

  4. Increase the allocated resources, RAM in particular.

  5. 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.

ModEffectLoaders
ModernFixOptimizes memory management and speeds up resource loading. Cuts startup time noticeably.Forge, NeoForge, Fabric
FerriteCoreGreatly reduces RAM usage on large installs, saving up to 50% of RAM.Forge, NeoForge, Fabric
LazyDFUDefers 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-timeout setting in server.properties has nothing to do with these errors. It kicks idle players after the given number of minutes, and player-idle-timeout=0 turns 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.

Was this article helpful?

3,565 views
Share this article
Minecraft
Need a Minecraft server?

Discover our Minecraft hosting plans starting from $2.28/month with automatic mod installation.

Minecraft server hosting →
Minecraft
Need a Minecraft server?

Discover our Minecraft hosting plans starting from $2.28/month with automatic mod installation.

Minecraft server hosting →

Related Articles