The world of your Minecraft server consists of many files: level.dat with the basic data, region files with the chunks (world sections of 16 × 16 blocks), player data and lists like ops.json. If something goes wrong while saving or a file doesn't match the server version, the server writes a message to the log. Each section below covers exactly one of these messages: what it looks like, what's behind it and what you can do. Errors where world progress can be lost come first, followed by warnings where the server usually keeps running.

You'll find the full message along with the lines before it in the Console or under Files in logs/latest.log. Before making any changes to world or configuration files, create a backup under Backups. Whatever gets overwritten on the next save can only be restored from a backup.

World data could not be saved

What the message looks like:

Could not save data to raids_end.dat
java.nio.file.NoSuchFileException: ./<World>/DIM1/data/raids_end.dat
Failed to save level ./<World>

A third form reads Failed to save player data for <Player>.

What's behind it: The server tried to write world data, such as the main world file, additional data like raids or a player's data. In doing so, a file or folder it expected was missing. NoSuchFileException means exactly that: file does not exist. Everything that happened since the last successful save can be lost. Common triggers are full storage space or a world folder that was deleted, renamed or replaced by an upload while the server was running.

How to fix it:

  1. Check whether your server's storage space is full. If the log also says No space left on device, clean up first (section "No free storage space left").
  2. Only change world folders while the server is stopped. An upload or deletion while it's running leads exactly to this message.
  3. Restart the server and enter save-all in the Console. This forces a save. If the message no longer appears, the problem is fixed.
  4. If it comes back or builds, inventories or progress are missing, restore a state from before the error under Backups.

In detail: Fix full storage: "No space left on device"

World comes from a newer Minecraft version

What the message looks like:

java.lang.RuntimeException: Server attempted to load chunk saved with newer version of minecraft! 5023 > 4903

What's behind it: Every chunk, meaning every world section of 16 × 16 blocks, stores which data version it was written with. The first number is the data version of the chunk, the second that of your server. If the first is larger, the world was last run on a newer Minecraft version than the current one. These chunks cannot be loaded. Continuing to play on the older version is not a solution, because a downgrade can corrupt the world.

How to fix it:

  1. Stop the server.
  2. Under Version, set the Minecraft version the world last ran on again, or a newer one.
  3. If you uploaded the world, use the version it was last played on in singleplayer or on the old server.
  4. If you really want to go back to the older version, restore a backup from before the version change under Backups and only then set the old version.

Good to know: The numbers are not version numbers like 1.21, but internal data versions. A higher number always stands for a newer version. More on this: Safely switching Minecraft version and mod loader

Main world file (level.dat) is corrupted

What the message looks like:

Failed to load world data from ./<World>/level.dat

What's behind it: level.dat holds the basic data of your world. If the server can't read it, it falls back to the backup copy level.dat_old. If that is corrupted too, the server shuts down and no longer starts. Usually the server was killed during saving, or an upload remained incomplete.

How to fix it:

  1. Stop the server if it's still running.
  2. Under Backups, create a backup of the current state, even if it's broken. That way you can undo any further attempt.
  3. Under Backups, restore the world from a state before the error. If you want to keep the newer progress, the single level.dat is often enough: take it from a downloaded backup and upload it to the world folder under Files.
  4. If you uploaded the world yourself, upload it again in full and wait until the upload has truly finished.
  5. Start the server and check in the Console whether the world loads.

Good to know: Stop the server properly with stop in the Console instead of killing it. That is the best protection against this message. For uploading: Upload a Minecraft world and switch safely

World is not saved: lock file session.lock in use

What the message looks like:

Couldn't save chunk; already in use by another instance of Minecraft?
Failed to check session lock for world <World>

What's behind it: Minecraft creates the file session.lock in the world folder. It indicates that a server is currently working with this world. If the server believes another process is using the world, it no longer saves chunks. Usually the file was left behind after a crash or an upload. Whatever was built since the last successful save can be lost on restart.

How to fix it:

  1. Stop the server.
  2. Under Files, open the world folder named in the message and delete the file session.lock there. If your server has several world folders, for example for the Nether and End, check those too.
  3. Restart the server.
  4. Enter save-all in the Console and check whether the message no longer appears.

Good to know: When you upload a world, you can simply leave out session.lock. The server recreates the file itself on startup.

No free storage space left

What the message looks like:

java.io.IOException: No space left on device

What's behind it: Your server's storage space is full. Every write operation then fails: the world is no longer saved, logs are cut off and new backups cannot be created. Even if the server seems to keep running, changes are silently lost.

How to fix it:

  1. Stop the server so it doesn't keep writing to the world while you clean up.
  2. Under Files, first delete what can be removed safely: old log files in logs/, crash reports you've already read in crash-reports/ and uploaded archives (.zip, .tar.gz) whose contents you've already extracted.
  3. Clean up old backups you no longer need.
  4. Do not delete individual region files of the world to free up space. That removes parts of your world.
  5. Start the server and check in the Console whether the message no longer appears.
  6. If storage is permanently tight, choose a larger package under Settings & Plan → Plan.

In detail: Fix full storage: "No space left on device"

Unsafe chunk access during world generation

What the message looks like:

Detected unsafe terrain read during worldgen: reading from chunk [<x>, <z>] while generating chunk [<x>, <z>] (distance: 2, write radius: 1), step: minecraft:features, currently generating: ResourceKey[minecraft:worldgen/placed_feature / minecraft:sculk_patch_deep_dark]

What's behind it: When generating a new chunk, the server places features such as trees, ores or sculk patches. Each feature may only read within a small radius. The message shows that one reached further out. After currently generating it says which one: minecraft: stands for vanilla, any other name usually for a worldgen datapack (a datapack that changes world generation) or a mod. The server keeps running. Lag spikes while exploring and, rarely, rough transitions at chunk borders are possible.

How to fix it:

  1. Update Paper or your Paper fork under Version to the latest build of your Minecraft version.
  2. If a datapack or mod name follows currently generating, update that datapack or the mod under Mods.
  3. If that doesn't help, disable it as a test. Create a backup under Backups first, because an existing world can react sensitively to missing worldgen content.
  4. If the message then keeps appearing in large numbers, open a ticket and include the time of the message.

Good to know: Pre-generating the world moves this work out of live gameplay: Chunky: Pre-generate a Minecraft world

Whitelist, OP or ban list is corrupted

What the message looks like:

Unable to read file ops.json, backing it up to ops.json.backup and creating new copy.
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: … at line 21 column 2 path $

What's behind it: whitelist.json, ops.json, banned-players.json and banned-ips.json are lists in JSON format, a strict text format with brackets, commas and quotation marks. Even a single missing comma makes the file unreadable, usually after manual editing. Minecraft then saves the broken file as .backup and creates an empty list. The server keeps running, but depending on the file, OP rights, whitelist entries or bans are missing.

How to fix it:

  1. Stop the server.
  2. Under Files, open the file ending in .backup, for example ops.json.backup.
  3. The message usually gives the line and column of the error. The whole list is in square brackets, each entry in curly braces, entries are separated by a comma, and there is none after the last one. A bare player name without braces is not a valid entry.
  4. Delete the newly created empty file and rename the corrected .backup file back, for example to ops.json.
  5. Start the server. Alternatively, re-add the entries via command: whitelist add <Player> or op <Player> in the Console.

Good to know: If you maintain these lists only via commands, Minecraft writes the format itself. More on this: Set up a whitelist

World settings unreadable: server uses default values

What the message looks like:

Unable to read or access the world gen settings file! Falling back to the default settings with a random world seed. ./<World>/dimensions/minecraft/overworld/data/minecraft/world_gen_settings.dat

What's behind it: The file world_gen_settings.dat records how the world is generated, such as seed and world type. If the server couldn't read it, it continues with default values and a random seed. Your custom settings then don't apply. Areas that have already been generated are loaded as saved. New areas, however, are created with the default values and may not match the rest.

How to fix it:

  1. If the world is new and you haven't configured anything special, the message is usually harmless.
  2. If you set a custom seed or world type, save these values again under Settings and restart the server.
  3. If the file belongs to an existing world with builds, stop the server before new areas are generated, and restore the file or the world from a backup under Backups.
  4. After the restart, check in the Console whether the message no longer appears.

Good to know: With seed in the Console you can see which seed is currently active. More on this: Find and set the world seed

World contains blocks from a removed mod or datapack

What the message looks like:

Recoverable errors when loading section [2, 11, 5]: (Unknown registry key in ResourceKey[minecraft:root / minecraft:block]: <mod>:<block> -> using default)

What's behind it: When loading a world section, blocks or objects appeared that the server no longer knows. Almost always a mod or a datapack was removed or swapped out. The name before the colon shows where the block comes from. Minecraft replaces these spots with air and loads the rest of the world normally. The server keeps running, but blocks are missing in the affected places.

How to fix it:

  1. If you removed the mod or datapack on purpose, the message is expected. It stops once all affected areas have been loaded once.
  2. If you're missing structures you want to keep, stop the server immediately and create a backup under Backups. On the next save, the missing blocks are gone for good.
  3. Reinstall the mod in the same version under Mods, or the datapack in the world's datapacks folder, and restart the server.
  4. If blocks are still missing afterwards, the areas have already been saved. Then only a backup from before the removal helps.

Good to know: If minecraft: precedes the colon, the block usually comes from a newer Minecraft version than your server's.

Faulty entity was removed to prevent a crash

What the message looks like:

Entity threw exception at minecraft:overworld:<x>,<y>,<z>
java.lang.NullPointerException

What's behind it: An entity is anything that moves in the world or carries its own data: mobs, villagers, NPCs, dropped items. While calculating a tick, one of the 20 calculation steps per second, one of them caused an error. Paper removed it so the server doesn't crash. The server keeps running, but the entity at that position is gone. Usually a plugin or mod modified it beforehand.

How to fix it:

  1. Under Files, open logs/latest.log and read the lines below the message. This stack trace is the list of code locations that led to the error.
  2. Paper appends the file name in square brackets to many of these lines, for example ~[<Plugin>-<Version>.jar:?]. That tells you which plugin is involved.
  3. Update this plugin under Plugins or the mod under Mods.
  4. If the message repeats at the same position, a corrupted entity was there. It has now been removed, and further steps are usually not necessary.

More on plugin errors: Plugin throws errors during operation

POI data does not match the chunk

What the message looks like:

POI data mismatch: never registered at BlockPos{x=<x>, y=<y>, z=<z>}

What's behind it: POI stands for Point of Interest. This is how Minecraft remembers special blocks such as beds, villager workstations, bee nests or Nether portals. These entries are stored separately from the blocks in the world's poi folder. At the given position, Minecraft found no matching entry. Individual messages can occur while loading or after a version change. If the same area keeps coming up, POI or chunk data is inconsistent.

How to fix it:

  1. Create a backup of the world under Backups.
  2. Update Paper under Version to the latest build of your Minecraft version.
  3. Note the coordinates and watch whether the same region is affected repeatedly.
  4. Only then check the region with a suitable world tool, always on a copy of the world. If you get stuck, open a ticket and include the time of the message.

Good to know: You can ignore individual messages that don't repeat. For tools and procedure: Minecraft chunks missing: Check damage and rescue

Unusual teleport of an entity between worlds

What the message looks like:

Illegal Entity Teleport Zombie['Zombie'/<ID>, l='ServerLevel[<World>_nether]', x=<x>, y=<y>, z=<z>, …] to ServerLevel[<World>]:(<x>, <y>, <z>)
java.lang.Throwable: null

What's behind it: Minecraft noticed that an entity, here a zombie, was teleported between worlds or chunks in an unexpected state, for example through a portal. The java.lang.Throwable lines below are not a crash. They only show which code location the teleport came from. The message alone does not prove a plugin error, and the server keeps running.

How to fix it:

  1. Update Paper under Version to the latest build of your Minecraft version.
  2. Watch whether the message comes back. You can ignore a single message.
  3. If it repeats, read the full stack trace in logs/latest.log. If a portal or teleport plugin appears there, update it under Plugins.
  4. If the update doesn't help, temporarily disable the affected feature of that plugin in its configuration and observe again.

A creature could not be saved

What the message looks like:

Entity type entity.minecraft.villager failed to serialize
net.minecraft.ReportedException: Saving entity NBT

What's behind it: When saving, the server writes every creature with its data into the world files. NBT is the storage format Minecraft uses for this. For one creature, a villager in the example, this failed because its data contains something the server cannot write. Often this is an item from a plugin or mod, for example in a trade offer. The server keeps running, but the creature may be missing after a restart.

How to fix it:

  1. In logs/latest.log, read the lines below the message. A line with Caused by names the actual reason.
  2. If it concerns traders, check plugins that change trade offers, for example shop or trader plugins, and update them under Plugins.
  3. Keep Paper under Version on the latest build of your Minecraft version.
  4. Restart the server and watch whether the message comes back.

Good to know: If an important creature has disappeared, only a backup brings it back. However, that resets the entire world to that state.

Additional world data unreadable: default values active

What the message looks like:

Failed to parse saved data for 'SavedDataType[minecraft:<Data type>]': <Reason>

What's behind it: Besides the chunks, a world stores additional data in separate files, such as game rules, times or random sequences. One of these files doesn't match the server version. Usually the world was previously saved with a different Minecraft version or a different mod selection. The server starts anyway and uses default values for this part. Custom game rules may therefore be back at their defaults.

How to fix it:

  1. Query changed game rules in the Console with gamerule <Rule>.
  2. Set differing values again with gamerule <Rule> <Value>.
  3. Never run a world on an older version than the one it was last saved with. Set the matching version again under Version.
  4. If you want the old state back completely, restore a backup from before the change under Backups.

Good to know: The data type in the message shows which area is affected. On game rules: Minecraft game rules explained

Corrupted chunk data in a region file

What the message looks like:

Chunk [<x>, <z>] header is truncated: expected <Number> but read <Number>
Ignoring absolute chunk [<x>, <z>] in regionfile …
Failed to parse light data for chunk [<x>, <z>] …

What's behind it: Minecraft stores the world in region files with the extension .mca in the region folder. Each contains up to 32 × 32 chunks. Part of such a file is incomplete or sits in the wrong place. The server tries to repair the file or reloads the affected chunk. In the process, a piece of the world may be regenerated, along with everything that was built there. The cause is usually a hard kill during saving.

How to fix it:

  1. Note the chunk coordinates from the message. Multiplied by 16, they give the block coordinates where you can look in the game.
  2. If everything is there, nothing more needs to be done.
  3. If a piece of the world is missing, stop the server and restore the affected region file from a backup. Its name is r.<x>.<z>.mca, where x and z are the chunk coordinates divided by 32, rounded down. The region then jumps back to the state of the backup.
  4. In future, stop the server properly with stop instead of killing it.

In detail: Minecraft chunks missing: Check damage and rescue

Chunk is at the wrong coordinate

What the message looks like:

Chunk file at <x>,<z> is in the wrong location; relocating.

What's behind it: In a region file, a chunk is stored under a different coordinate than Minecraft expects at that spot. Minecraft moves it to the correct place and keeps loading. The message does, however, point to corrupted or incorrectly copied world data, for example when region files were renamed or copied in from another world.

How to fix it:

  1. Stop the server and create a backup of the world under Backups.
  2. If you recently copied or renamed region files by hand, undo that.
  3. Check the affected region with a world repair tool, always on a copy and never on the only version of your world.
  4. If the message appears repeatedly, restore a known good backup under Backups.

Good to know: A single message after an upload is a warning sign, but not yet a loss. Look at the spot in the game before you restore anything.

In detail: Minecraft chunks missing: Check damage and rescue

Corrupted region file header is being repaired

What the message looks like:

Corrupt regionfile header detected! Attempting to re-calculate header offsets for regionfile <File>
Recalculating regionfile <File>, header gave erroneous offsets

What's behind it: Every region file begins with a file header. It is a kind of table of contents that records where in the file each chunk is located. Paper found a corrupted header and rebuilds it. Usually this succeeds without loss, and the server keeps running. The cause is often a hard abort while writing, such as a crash or a server that was killed.

How to fix it:

  1. Usually there is nothing to do.
  2. If you want to be sure, look at the area in the game. The file name r.<x>.<z>.mca reveals the location: x and z times 512 give the block coordinates of a corner of the region.
  3. If parts of the world are missing there, stop the server and restore the affected region file from a backup.
  4. In future, stop the server properly with stop in the Console instead of killing it.

In detail: Minecraft chunks missing: Check damage and rescue

Block data no longer matches the block in the world

What the message looks like:

Failed to create block entity <Block type> for block BlockPos{x=<x>, y=<y>, z=<z>} at position Block{<Block>}

What's behind it: Some blocks carry additional data, a so-called BlockEntity: chests store their contents, signs their text, furnaces their progress. At the given position, this stored data doesn't match the block standing there. This can happen after updates, after world editing, for example with WorldEdit, or through inconsistent chunk data. Don't let the order confuse you: after for block comes the position, after at position the block.

How to fix it:

  1. Create a backup of the world under Backups.
  2. Update Paper under Version to the latest build of your Minecraft version.
  3. Look at the given position in the game, but don't change the block blindly.
  4. If the message repeats, remove the invalid block data with a suitable world tool or restore the region from a backup.

If you get stuck, open a ticket and include the time of the message.

Error from simultaneous modification of block data

What the message looks like:

BlockEntity threw exception at <World>:<x>,<y>,<z>
java.util.ConcurrentModificationException

What's behind it: Blocks with their own data, such as hoppers, furnaces or chests, are called BlockEntities. During a tick, a collection of such data was modified while the server was iterating over it. Java aborts this with a ConcurrentModificationException, literally an error caused by simultaneous modification. The single message doesn't reliably show whether the game itself, the world state or a plugin triggered the change.

How to fix it:

  1. Update Paper under Version and your plugins under Plugins.
  2. Watch whether the message comes back.
  3. If it repeats, read the full stack trace in logs/latest.log and note the given position.
  4. Only a plugin class named there, recognizable by the package name or a plugin's file name, allows an attribution. Then update exactly that plugin or report the error to its developer.

Good to know: Without a plugin name in the stack trace, you shouldn't remove plugins on suspicion.

Item with an invalid property, such as an unknown enchantment

What the message looks like:

[CraftMagicNumbers] Exception modifying ItemStack
… Not a valid resource location: …

What's behind it: An item from a plugin configuration, a kit or a menu carries a property that this Minecraft version cannot read. Often this is an enchantment from a plugin that has since been removed. A resource location is a name in the format namespace:name, for example minecraft:sharpness. The item is loaded without the faulty property. The server keeps running, but the item behaves differently than planned.

How to fix it:

  1. Find out which plugin hands out the item, for example a kit, menu or shop plugin.
  2. Under Files, open its configuration in the plugins/<Plugin>/ folder and remove the named property or correct its name.
  3. Alternatively, recreate the item, for example by creating it anew in the game and saving it again in the plugin.
  4. If the property belongs to a custom enchantment plugin that you removed, reinstall it under Plugins.
  5. Restart the server and check the Console.

More on this: Plugin configuration is faulty

Saved item contains an unknown property

What the message looks like:

Tried to load invalid item: 'No component with type: '<namespace>:<property>'

What's behind it: Items store their properties as data components, for example name, enchantments or durability. A saved item, for instance in player data, chests or plugin data, contains a component that this Minecraft version doesn't know. Typically the world or plugin data was created with a newer version and then loaded on an older one. The item then cannot be loaded correctly and may be lost.

How to fix it:

  1. Before making further changes, create a backup under Backups.
  2. Under Version, set the Minecraft version the world was last played on again.
  3. If a plugin generates such items, bring it to a version under Plugins that matches your server version.
  4. Restart the server and check in the Console whether the message no longer appears.

Good to know: If minecraft: precedes the name, the property comes from a newer Minecraft version. Any other name points to a plugin or a mod. More on this: Plugin doesn't match the server version

Saved mod item is missing required fields (No key … in MapLike)

What the message looks like:

Tried to load invalid item: 'No key <Field> in MapLike[<ItemData>]'

What's behind it: When reading a saved item, the software expects certain required fields. At least one is missing from the item's data. The message names the missing field after “No key”; “MapLike” refers to the collection of fields being read. The affected item cannot be fully loaded in this format.

How to fix it:

  1. Create a backup of the current state under Backups before changing mods or saved data.
  2. Read the complete message in the Console or open logs/latest.log under Files. Look for the item identifier and the mod that provides it.
  3. Under Mods, compare the installed setup with the setup before the first occurrence. Check that mod's instructions for migrating older item data.
  4. Test a compatible mod setup or a restoration on a world copy first. Send the complete message to the mod author if no documented fix applies.

Good to know: Deleting entire inventories or player-data files also removes items that still work.

Your message isn't listed?

Read the full message in logs/latest.log along with the lines before it: often it shows what went wrong first. In the stack trace, package names, meaning the folder names separated by dots like com.<Developer>.<Plugin>, and file names like <Plugin>.jar reveal which plugin or mod is involved. Only work on world files while the server is stopped, and create a backup under Backups beforehand. If you get stuck, open a ticket and include the time of the message.