> For the complete documentation index, see [llms.txt](https://b-setups.gitbook.io/b.-setups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://b-setups.gitbook.io/b.-setups/information/common-issues.md).

# Common Issues

Common server errors, what they mean, and how to fix them.

Use the error message in your console to find the matching section below. The examples may look slightly different depending on your server and plugin versions.

## Before You Start

1. **Check your setup's installation guide and the** [**Server Versions**](/b.-setups/information/server-versions.md) **page.** Use the supplied server software and the Java version listed for your setup.
2. **Read the full error in `logs/latest.log`.** Start with the first related error and include any `Caused by:` lines below it. A later error may only be a result of an earlier failure.
3. **Stop the server before changing files.** Enter `stop` in the server console and wait for it to finish saving. On a hosting panel, use the normal stop button. Avoid closing the console window or using a force-stop button.
4. **Back up anything you are about to replace.** For changes to worlds, player data or several plugins, take a full server backup while the server is stopped. Include any external database used by the affected plugins.
5. **Change one thing at a time, then start the server again.** Use a full restart rather than `/reload` so you can check whether the change actually fixed the problem.

***

## 1. Minecraft Authentication Issues

**Example messages:**

```
Failed to verify username!
Invalid session (Try restarting your game and the launcher)
```

**What this means**

The player's login could not be verified. This can happen with an expired login session, an account that does not have access to Minecraft: Java Edition, an authentication service outage, or a server that cannot reach the authentication service. It does not automatically mean that the player is using a cracked client.

**What to do**

1. Close Minecraft and the launcher completely, then open the launcher and try again.
2. If the error remains, sign out of the launcher and sign back in to the Microsoft account that has access to Minecraft: Java Edition.
3. Check whether only one player is affected or everyone is affected. If everyone is affected, check the server log for authentication or connection errors. A service outage or a network problem on the server needs to be resolved before normal authentication can work.
4. If you use a proxy such as Velocity, check its authentication and player-forwarding configuration. Follow the [Velocity forwarding guide](https://docs.papermc.io/velocity/player-information-forwarding/) rather than changing settings independently on each server.

### Allowing Cracked Clients

Only use this option if you intend to run a server that accepts players without Microsoft account authentication.

With the server stopped, open `server.properties` and set:

```properties
online-mode=false
```

Save the file and start the server again.

{% hint style="warning" %}
Offline mode removes the server's normal account verification. Without a correctly configured login system, another person can join using someone else's name, including an administrator's name.

Use a compatible authentication plugin such as AuthMe and follow its installation instructions. FastLogin can add automatic login for premium players, but it requires a supported authentication plugin; it is not a replacement for one.

Changing authentication mode can also change player UUIDs, making inventories, permissions and other progress appear missing. Back up the server before switching modes.
{% endhint %}

For a proxy network, backend servers may need offline mode even when the proxy verifies premium accounts. Configure forwarding and prevent direct connections to those backends as described in the [Velocity security guide](https://docs.papermc.io/velocity/security/).

***

## 2. Java Issues - Server Crash On Start

**Example messages:**

```
Java Check Failed
Startup blocked
Java 21.0.5 was detected, but this server requires Java 25 or newer.
```

```
java.lang.UnsupportedClassVersionError
```

You may also see `A JNI error has occurred` before the more useful error underneath it.

**What this means**

The Java used to start the server is too old for the server or a plugin. Installing a newer Java version does not always make the startup script use it automatically.

Check the **Java Version** column for your setup on [Server Versions](/b.-setups/information/server-versions.md). Compare it with the Java actually selected by the launcher or hosting panel. For an older downloaded release, follow its README. The numbers in the example error above are illustrative; use the requirement for the release being started.

**On Windows**

1. Follow the [Java Version Check and Update/Install Guide](/b.-setups/information/common-issues/java-version-check-and-update-install-guide.md).
2. Open a new Command Prompt after installing Java and run:

```bat
java -version
where java
```

The first command shows the Java version selected by that terminal. The second shows where Windows finds Java. If several installations appear, an older one may be selected first.

3. Check whether `start.bat` uses `java` or an explicit path to `java.exe`. An explicit path can still point to an old installation even when `java -version` shows the correct version.
4. Start the server again and check the detected Java version.

**On a hosting provider**

Stop the server and select the Java version required by your setup. The setting is often named **Java Version**, **Docker Image** or **Startup Image**. Start the server again after changing it. If the required version is unavailable, ask your hosting provider to enable it.

If the error names a particular plugin class, that plugin may require newer Java or a different plugin release. Check its requirements before changing the setup.

***

## 3. Server Logo or Resource Pack Items Not Loading

**Symptoms**

* The logo on the scoreboard or TAB list is missing or displays as symbols.
* Custom items use ordinary Minecraft textures.
* The resource pack fails to download or apply.

**What this means**

The client may have declined the pack, the download may have failed, or the pack may not support the client's Minecraft version. A font setting can also affect custom symbols.

### Check the Client Settings

1. Open **Multiplayer**, select the saved server entry and click **Edit**.
2. Set **Server Resource Packs** to **Enabled**, or choose **Prompt** and accept the download when joining.
3. Reconnect and wait for the download and loading process to finish.
4. If custom text or the logo still looks wrong, turn **Force Unicode Font** off. Depending on your Minecraft version, this is under **Options → Language**, or **Options → Language → Font Settings**.
5. Test with a version listed as tested for your setup on the [Server Versions](/b.-setups/information/server-versions.md) page. Being able to join through a version compatibility plugin does not guarantee that every pack texture or font will work.

These Minecraft settings apply on Windows, macOS and Linux.

### Check the Pack on the Server

If several players are affected:

1. Check `resource-pack` in `server.properties`, or the pack URL in the plugin that sends the pack.
2. Open the URL in a browser. It must download the actual ZIP file without requiring a login. A preview page, expired link or access-denied page will not work.
3. If `resource-pack-sha1` is set, make sure it matches the current ZIP file. Replacing the ZIP while keeping the old hash can prevent the pack from loading correctly.
4. Check the client log at `.minecraft/logs/latest.log` for the download or loading error. Also check the server log if a plugin sends the pack.

If you have changed the pack, test the original pack supplied with the setup to help identify whether the change caused the problem.

### Temporarily Allow Joining Without the Pack

If the pack is required through `server.properties`, you can temporarily set:

```properties
require-resource-pack=false
```

Restart the server after saving. Players can then join without accepting the pack, but the custom textures and fonts will be missing.

**This does not fix the download.** If a plugin enforces the pack, its own setting may also need to be changed. Restore the required-pack setting after fixing the download if the setup needs it.

***

## 4. Missing TAB, Scoreboard or NPCs on a Hosting Provider

**Symptoms**

* The scoreboard is missing or the TAB list has no styling.
* Lobby NPCs are missing.
* The console reports a missing plugin such as TAB or Citizens.

**What this means**

Some setups download dependencies through `start.bat` on the first local start. Most hosting panels start the server JAR directly, so those download steps do not run there.

A missing feature can also mean that its plugin is present but failed to start.

**What to do**

1. Follow the **Download Dependencies** step in your setup's **Set Up Your Server at a Hosting Provider** guide. Use the versions listed there.
2. Stop the server and upload the required `.jar` files directly into `plugins`.
3. Start the server and check the startup log for those plugins.
4. If a plugin is already installed, read its first startup error. Check section 10 for version, dependency and configuration problems.

Keep the setup's existing plugin configuration folders. Installing a JAR does not require replacing its configured folder with default files.

***

## 5. Insufficient Resources

### Java Heap Space

**Example message:**

```
java.lang.OutOfMemoryError: Java heap space
```

**What this means**

Java has reached its heap limit, which is the memory limit set for Java objects. The limit may be too low for the workload, or a plugin or another problem may be using more memory than expected.

**On Windows**

Stop the server and open `start.bat`. If it uses `MaxRam` and `IniRam` in the **SETTINGS** section, adjust those values. For example:

```bat
set "MaxRam=8G"
set "IniRam=4G"
```

This example allows an 8 GB maximum heap and sets a 4 GB initial heap. **Only use these values if the machine has enough memory.** Keep `IniRam` at or below `MaxRam`.

Java also uses memory outside the heap. Leave room for that, Windows and any other programs. Do not give the server all of the machine's RAM.

**On a hosting provider**

Check both the memory limit of your hosting plan and the startup memory settings. `start.bat` usually does not control either of these. The Java heap must leave room for the rest of the Java process inside the hosting limit.

If memory use keeps growing until the server crashes, check recent plugin changes and collect a memory or profiler report. Repeatedly increasing the limit may only delay the crash.

### Java Cannot Reserve Enough Memory

**Example message:**

```
Could not reserve enough space for object heap
```

Java could not reserve the requested heap when starting. Check the available memory, reduce an oversized allocation, and make sure the server uses a 64-bit Java installation. This is a startup allocation failure, rather than a heap that filled up while the server was running.

### Hosting Panel Reports an Out-of-Memory Kill

If the panel reports **OOM**, the process may have exceeded the hosting or container limit. There may be no Java error because the host stopped the process before Java could write one.

Check the panel's memory graph and startup settings. Leave memory outside the heap, and ask the provider to confirm the reason for the shutdown if the panel does not explain it.

***

## 6. "Can't Keep Up!" Warning

**Example message:**

```
Can't keep up! Is the server overloaded? Running 5000ms or 100 ticks behind
```

**What this means**

The server is falling behind its tick schedule. Normal gameplay targets **20 ticks per second**, leaving about **50 milliseconds per tick**. If processing takes too long, players may see delayed actions, freezing mobs or other lag.

Possible causes include expensive plugin tasks, many active entities, chunk generation, slow storage, CPU contention or pauses caused by memory pressure. The number of plugins alone does not tell you which one is responsible.

A warning during startup can occur while worlds and plugins load. Repeated warnings during gameplay need investigation.

**What to do**

1. **Record the problem while it is happening.** Current Paper versions include spark. In game, run:

```
/spark profiler start --timeout 60
```

After the recording finishes, open the report link. The [Paper profiling guide](https://docs.papermc.io/paper/profiling/) explains how to collect a report. Keep the link if you need support.

2. **Reduce excessive chunk work.** If your current settings are higher, try these values in `server.properties`:

```properties
view-distance=8
simulation-distance=6
```

`view-distance` affects how far chunks are sent to players. `simulation-distance` affects how far normal game simulation runs around them. Restart the server after changing the values. Per-world configuration may override them.

3. **Check what causes the load.** Use the profiler to identify expensive tasks or entity processing. Avoid removing included plugins or changing minigame entity settings at random, as this can break game features.
4. **Increase RAM only when memory is the problem.** Extra heap may help with memory pressure, but it will not make a CPU-heavy task run faster. See section 5.

A command such as `/kill @e[type=item]` permanently removes matching loaded dropped-item entities in the command's current dimension. It can remove players' belongings or items used by a minigame. It is not a routine fix for an unexplained lag problem.

***

## 7. Port Already in Use

**Example messages:**

```
**** FAILED TO BIND TO PORT!
java.net.BindException: Address already in use: bind
```

**What this means**

Another process is already listening on the local address and port the server wants to use. An older Minecraft server instance may still be running.

**On Windows**

1. Check for an existing server window. If it is the server you need to close, enter `stop` in that console and wait for it to finish.
2. If you cannot find it, open Command Prompt and run:

```bat
netstat -aon | findstr :25565
```

Replace `25565` with your configured port. Look for a **LISTENING** entry whose **Local Address** ends in that port. A match in the remote-address column does not prove that a local server is using the port. The last column is the process ID, or **PID**.

3. Identify that process. For example, if its PID is `1234`:

```bat
tasklist /FI "PID eq 1234"
```

Do not stop an unfamiliar process without identifying it. Several servers can all appear as `java.exe`.

4. If the confirmed server process is unresponsive and cannot be stopped normally, a last resort is:

```bat
taskkill /F /PID 1234
```

Replace `1234` with the PID you checked. This forces the process to close without a normal save and can lose recent changes.

### Using a Different Port

If you need both servers running, stop the affected server and choose a free port in `server.properties`:

```properties
server-port=25566
```

Start it again and connect using `your-address:25566`. Update any relevant firewall, forwarding or proxy settings too.

**On hosting, use a port allocated by your provider.** Changing the file to an unallocated port will not make that port available.

If the exception says **Cannot assign requested address** instead of **Address already in use**, check `server-ip`. On a normal standalone server, leave it empty unless your provider or proxy guide requires a specific local address. Do not put your router's public IP there.

***

## 8. Firewall or Network Issues

**Example messages:**

```
Connection timed out
Connection refused
```

**What this means**

The client could not establish a connection to the address and port. A timeout can mean blocked or unreachable traffic. A refusal often means nothing is listening at that address and port. These messages alone do not identify the exact cause.

### Check the Address and Server First

1. Confirm that the server has finished starting and is still running. Look for the `Done` message and check for errors after it.
2. Check `server-port` and any startup arguments that override it.
3. If Minecraft is on the same computer as a standalone server, test `localhost:25565`, replacing the port if needed.
4. For a computer on the same home network, use the server machine's local IP and port.
5. For players outside your home network, use the public address and forwarded port. On hosting, use the address and port shown in the panel.

If localhost works but other devices cannot connect, focus on the network configuration. If localhost also fails, check the server process, listening address and port first.

### Windows Firewall

Open **Windows Defender Firewall → Allow an app or feature through Windows Defender Firewall** and check the Java executable actually used by the server.

If needed, use **Allow another app → Browse** to select that installation's `bin/java.exe`. The folder depends on where you installed Java; it is not always `C:\Program Files\Java`.

Allow the connection on the network profile the server uses. Alternatively, configure an inbound TCP rule for the server port. Do not disable the firewall as a troubleshooting step.

### Home Router Port Forwarding

Forward the server's **TCP** port to the server computer's local IP. For a default Java server, that port is `25565`. Keep the computer's local IP stable, for example with a DHCP reservation.

Test external access from a different network. Some routers cannot connect back to their own public address from inside the home network.

If your provider uses **CGNAT**, ordinary router port forwarding may not be enough. Ask the provider about a public IP, or use a tunnel such as [playit.gg](https://playit.gg/) with a Minecraft Java tunnel pointing to the correct local port.

On a hosting provider, home-router forwarding does not apply. Check the assigned port, panel firewall and server status, then contact the provider if the port is still unreachable.

***

## 9. Incorrect EULA

**Example message:**

```
You need to agree to the EULA in order to run the server.
Go to eula.txt for more info.
```

**What this means**

The server will not start until you accept the [Minecraft End User License Agreement](https://www.minecraft.net/eula).

**What to do**

* If `start.bat` asks whether you accept the EULA, read the agreement and choose **Y** only if you agree.
* On hosting, use the EULA prompt in the panel if one is provided.
* To accept it manually, stop the server and open `eula.txt` in the server's working directory. Create the file if it does not exist, then set:

```properties
eula=true
```

Save and start the server. If it still asks for acceptance, check that you edited the file in the directory the server actually starts from, and that the name is not `eula.txt.txt`.

***

## 10. Common Plugin Errors

### 10.1. Incompatible Plugin Version

**Example message:**

```
org.bukkit.plugin.InvalidPluginException: Unsupported API version 26.2
```

**What this means**

The plugin declares an API version that this server does not support. For example, a server running 26.1.2 cannot load a plugin that requires the 26.2 API.

Other compatibility failures can appear as `NoSuchMethodError`, `NoClassDefFoundError` or `UnsupportedClassVersionError`. Read the full error: these can also involve a missing library or an incorrect Java version.

**What to do**

1. Check the plugin's supported server versions and requirements on its official download page.
2. For included plugins, use the version supplied or specified by the setup's guide. A newer plugin release is not automatically compatible with the setup.
3. Stop the server, back up the plugin's data, and replace the JAR with the correct release. Keep the old JAR outside `plugins` so only one version is loaded.
4. Start the server and check its log.

Keep the setup's tested server version while troubleshooting. Updating Paper or several plugins at once can introduce additional compatibility problems. Use an updated setup release or ask for guidance before changing the server version.

### 10.2. Missing Dependencies

**Example message:**

```
UnknownDependencyException: Unknown/missing dependency plugins: [Multiverse-Core]
```

**What this means**

A plugin needs another plugin before it can start. In this example, the required dependency is Multiverse-Core.

The dependency can be absent, or it can be installed but have failed earlier during startup.

**What to do**

1. Read the dependency name in the error.
2. Check whether its JAR is in `plugins`. If it is, find its earlier startup error first.
3. If it is missing, stop the server and install the compatible release specified by the setup or plugin documentation.
4. Start the server again and check that both plugins enable successfully.

For missing TAB or Citizens after uploading a setup to hosting, also check section 4.

### 10.3. Plugin Configuration Error

**Example messages:**

```
org.bukkit.configuration.InvalidConfigurationException
while scanning a simple key
```

**What this means**

A configuration file could not be read. YAML errors often come from incorrect indentation, an unclosed quote or a tab used for indentation. The log usually names the file and gives a line or column number.

**What to do**

1. Stop the server and back up the affected file.
2. Open the exact file named in the error. Check the reported line and the lines immediately before it.
3. Use spaces for YAML indentation and follow the structure of the original file.
4. A YAML validator can find syntax errors, but valid YAML can still contain an invalid plugin setting. Remove passwords, tokens and database details before using an online checker.
5. If needed, restore that file from the ZIP for the same setup release, then reapply your changes one at a time.

Do not delete the configuration folder to generate defaults. That can remove the setup's menus, messages and other custom settings.

### 10.4. Plugin Runtime Error

**Example messages:**

```
Could not pass event PlayerJoinEvent to MyPlugin
java.lang.NullPointerException
```

**What this means**

A plugin failed while handling an action. A `NullPointerException` means its code tried to use a value that was missing. The cause may be a plugin bug, unexpected data, an incompatible version or a configuration problem. This message alone does not show which one.

**What to do**

1. Save the full error, including its stack trace and `Caused by` lines.
2. Note the action that triggers it and whether it happens to everyone or one player.
3. Check what changed before the error started.
4. Test changes on a backup or a separate copy of the server. If you added or updated a plugin, restore the previous working files there and test again.

Avoid removing included plugins at random; other parts of the setup may depend on them.

***

## 11. General Minecraft Errors

### 11.1. Corrupted World Files

**Example message:**

```
Couldn't load chunk [45, 12]
```

**What this means**

The server failed to read a chunk. Corruption is one possible cause, but the full error may instead point to a storage problem, permissions or incompatible world data. Check the lines below the message before deleting anything.

**What to do**

1. Stop the server completely.
2. Back up the entire affected world, including its dimension data. Do not copy only the `region` folder.
3. Check for disk-space, disk-access and version errors in the log.
4. Restore a known working backup if one is available.
5. If a specific chunk is confirmed damaged and there is no suitable backup, use a version of [MCA Selector](https://github.com/Querz/mcaselector) that supports your Minecraft version. Open the correct dimension and select only the affected chunk.

**Deleting a chunk permanently removes its blocks and builds.** When the server generates it again, it creates terrain using the world's generator; it does not recreate an imported lobby or minigame build.

For a minigame map that resets from a template, restore the affected template from the matching setup ZIP or a working backup. Replacing only the active game copy may leave the broken template in place. Follow the setup's map instructions before replacing folders.

**Finding the data**

On Paper 26.1+, the default Overworld's region data is normally under:

```
<main world>/dimensions/minecraft/overworld/region/
```

The main world is normally the folder named by `level-name` in `server.properties`. The Nether and End use `the_nether` and `the_end` instead of `overworld`. Other dimensions use their own namespace and key:

```
<world container>/dimensions/<namespace>/<key>/region/
```

Do not assume that a minigame's display name is its folder name. Check the loaded world's path or its plugin configuration.

On older Paper versions, a normal Overworld uses `<world>/region/`; Nether, End and additional worlds can use separate world folders.

Region files contain 32 × 32 chunks. Divide the **chunk X and Z coordinates** by 32 and round down to find the region coordinates. Chunk `45, 12` belongs to `r.1.0.mca`. These are chunk coordinates, not block coordinates. Do not delete the whole region file to repair one chunk.

### 11.2. "Internal Server Error" on Player Join

**Example message:**

```
Player lost connection: Internal Server Error
```

**What this means**

The message shown to the player is a general disconnect reason. The server log at the time of the join is needed to identify the cause. It may involve a plugin, packet handling or player data.

**What to do**

1. Reproduce the problem once and check `logs/latest.log` at that exact time.
2. Read the full error and identify any plugin named in it.
3. Check whether all players are affected or only one. If you recently changed a plugin, investigate that change first.
4. Only consider resetting a player's data if the log points to that data or you have ruled out the other causes.

**If a player-data reset is necessary**

Stop the server and back up the full world first. Find the correct player's UUID using the server's actual authentication configuration, then move the relevant `<uuid>.dat` file to a safe folder outside the active player-data directory.

For the main world, the usual locations are:

* **Minecraft 26.1+:** `<main world>/players/data/<uuid>.dat`
* **Older versions:** `<main world>/playerdata/<uuid>.dat`

Start the server and test the join. A new data file can reset the player's inventory, ender chest, position, XP and other saved state. Plugins may store additional data separately.

If the same error remains, stop the server and restore the original file. Do not keep resetting unrelated player or plugin data.

***

## 12. Incorrect Minecraft Client Version

**Example messages:**

```
Outdated client!
Outdated server!
Incompatible client!
```

**What this means**

The player's game version is not accepted by the server or its version compatibility plugins.

**What to do**

1. Check **Supported Versions** and **Tested Versions** for your setup on the [Server Versions](/b.-setups/information/server-versions.md) page.
2. Launch Minecraft with one of the tested versions and try again.
3. If a supported version is being rejected, check whether the included version compatibility plugins started successfully.
4. Keep the supplied server version while troubleshooting. You do not need to replace the server JAR just because the launcher selected a newer game version.

A supported version may still display resource-pack features differently. If joining works but textures or fonts are wrong, see section 3.

***

## 13. Missing or Invalid Server JAR

### "Unable to Access Jarfile"

**Example message:**

```
Error: Unable to access jarfile paper.jar
```

Java cannot open the file at the path given in the startup command.

1. Check that the server JAR has been downloaded or uploaded completely.
2. Check that the startup command or hosting panel names the exact file, including its extension.
3. Check that the server starts in the correct folder. A JAR inside an extra nested folder will not match a filename in the server root.
4. On Windows, enable file extensions in File Explorer so you can spot a name such as `paper.jar.jar`.
5. If the path contains spaces, make sure it is quoted correctly in the startup script. On hosting, follow the panel's expected filename format.
6. If the file is present at the correct path, check its read permissions.

### "Invalid or Corrupt Jarfile"

**Example message:**

```
Error: Invalid or corrupt jarfile paper.jar
```

The file could not be read as a valid executable JAR. It may be incomplete, damaged, or a web page saved under a `.jar` filename.

Stop the server and replace it with the correct file from the setup's installation instructions or matching release. Do not fix this by downloading an unrelated or newer server version.

If it happens again, check the download or upload result and available disk space.

***

## Still Need Help?

If these steps do not solve the problem, [contact support on BuiltByBit](https://builtbybit.com/conversations/add?to=BingBrowser).

Please include:

* The setup name and release you are using.
* Whether you run it on your own computer or a hosting provider.
* The server version, Java version and your Minecraft client version.
* What happens, when it started and how to reproduce it.
* Any plugins, settings or files you changed before the problem appeared.
* The relevant log, including the full error and `Caused by` lines. For startup problems, include the log from the beginning of that start. For lag, include a spark report recorded while the problem is happening.

Remove passwords, tokens and other private details before sharing logs or configuration files. Send the support request as a private BuiltByBit conversation so the issue and its details can be checked in one place.
