Skip to content

Paper refuses to start after deleting world_gen_settings.dat file #14066

Closed

Description

@Strokkur424

Note

This only occurs with the overworld's world_gen_settings.dat file. Other dimensions, to my knowledge, are uneffected.

Note

This issue report, in essence, asks that if the world_gen_settings.dat does not exist completely, it should try to regenerate it, as it is very probably user-induced. It is not a goal to regenerate malformed or otherwise invalid world_gen_settings.dat files, as that might cause corruption.

Expected behavior

The server starts normally and re-generated the missing world_gen_settings.dat file, filling it with default values.

Observed/Actual behavior

The following stack trace (+ log) is printed, after which the server startup process does not continue operation and has to be manually shut down.

Server Log
[21:24:42 INFO]: [bootstrap] Running Java 25 (Java HotSpot(TM) 64-Bit Server VM 25.0.3+9-LTS-jvmci-b01; Oracle Corporation Oracle GraalVM 25.0.3+9.1) on Linux 7.0.12-arch1-1 (amd64)
[21:24:42 INFO]: [bootstrap] Loading Paper 26.2-DEV (2026-07-14T19:24:42Z) for Minecraft 26.2
[21:24:43 INFO]: [PluginInitializerManager] Initializing plugins...
[21:24:44 INFO]: [PluginInitializerManager] Initialized 2 plugins
[21:24:44 INFO]: [PluginInitializerManager] Paper plugins (1):
 - Paper-Test-Plugin (1.0.0-SNAPSHOT)
[21:24:44 INFO]: [PluginInitializerManager] Bukkit plugins (1):
 - Debuggery (1.5.1)
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by org.jline.nativ.JLineNativeLoader in an unnamed module (file:/home/strokk/.gradle/caches/modules-2/files-2.1/org.jline/jline-native/3.27.1/d0b198908023385a089379a1c854aadc7a7dd99b/jline-native-3.27.1.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

2026-07-14T19:24:42.592606766Z main WARN Advanced terminal features are not available in this environment
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.joml.MemUtil$MemUtilUnsafe (file:/home/strokk/.gradle/caches/modules-2/files-2.1/org.joml/joml/1.10.8/fc0a71dad90a2cf41d82a76156a0e700af8e4f8d/joml-1.10.8.jar)
WARNING: Please consider reporting this to the maintainers of class org.joml.MemUtil$MemUtilUnsafe
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
[21:24:46 INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, profilesHost=https://api.mojang.com, name=PROD]
[21:24:46 WARN]: [WorldFolderMigration] ===================== ! ALERT ! =====================
[21:24:46 WARN]: [WorldFolderMigration] World storage migration is required during startup.
[21:24:46 WARN]: [WorldFolderMigration] If you do not have a backup: interrupt the server now. Use Ctrl+C, your panel kill function, etc.
[21:24:46 WARN]: [WorldFolderMigration] =====================================================
[21:24:46 WARN]: [WorldFolderMigration] Continuing in 30 seconds...
[21:24:46 WARN]: [WorldFolderMigration] Migration delay disabled by system property.
[21:24:46 INFO]: [WorldFolderMigration] Continuing with startup world migration.
[21:24:46 INFO]: [VanillaWorldMigration] Starting Vanilla import for world 'world' (minecraft:overworld)
[21:24:46 INFO]: [VanillaWorldMigration] Completed Vanilla import for world 'world' (minecraft:overworld)
[21:24:46 ERROR]: 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
[21:24:46 WARN]: Failed to load datapacks, can't proceed with server load. You can either fix your datapacks or reset to vanilla with --safeMode
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Overworld settings missing
	at java.base/java.util.concurrent.CompletableFuture.wrapInExecutionException(CompletableFuture.java:345) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:440) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2094) ~[?:?]
	at net.minecraft.server.Main.main(Main.java:287) ~[main/:?]
	at io.papermc.paper.PaperBootstrap.boot(PaperBootstrap.java:21) ~[main/:?]
	at org.bukkit.craftbukkit.Main.main(Main.java:204) ~[main/:?]
Caused by: java.lang.IllegalStateException: Overworld settings missing
	at net.minecraft.world.level.levelgen.WorldDimensions.<init>(WorldDimensions.java:47) ~[main/:?]
	at net.minecraft.world.level.levelgen.WorldDimensions.<init>(WorldDimensions.java:52) ~[main/:?]
	at net.minecraft.world.level.storage.LevelStorageSource.lambda$getLevelDataAndDimensions$0(LevelStorageSource.java:163) ~[main/:?]
	at com.mojang.serialization.DataResult$Error.mapOrElse(DataResult.java:309) ~[datafixerupper-10.0.21.jar:?]
	at net.minecraft.world.level.storage.LevelStorageSource.getLevelDataAndDimensions(LevelStorageSource.java:156) ~[main/:?]
	at net.minecraft.server.Main.lambda$main$1(Main.java:271) ~[main/:?]
	at net.minecraft.server.WorldLoader.lambda$load$2(WorldLoader.java:56) ~[main/:?]
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1171) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:504) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:511) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1450) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2019) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187) ~[?:?]

Steps/models to reproduce

  1. Start a Paper server at least once before in order for the /world folder and its subfolders to generate.

  2. Stop the server.

  3. Delete this file: /world/dimensions/minecraft/overworld/data/minecraft/world_gen_settings.dat, or delete the whole /world/dimensions folder, either leads to this.

  4. Start the server.

  5. Exception!

Plugin and Datapack List

Plugins/datapacks do not affect this, it also happens on completely fresh and empty servers.

plugins
[21:29:46 INFO]: ℹ Server Plugins (2):
[21:29:46 INFO]: Paper Plugins (1):
[21:29:46 INFO]:  - Paper-Test-Plugin
[21:29:46 INFO]: Bukkit Plugins (1):
[21:29:46 INFO]:  - Debuggery

datapack list
[21:30:11 INFO]: There are 3 data pack(s) enabled: [vanilla (built-in)], [file/bukkit (world)], [paper (built-in)]
[21:30:11 INFO]: There are no more data packs available

Paper version

I am testing this on the Paper project with runServer, however my setup is currently on the commit for Minecraft 26.2, build #60 (BETA).

version
[21:30:21 INFO]: Checking version, please wait...
[21:30:21 INFO]: This server is running Paper version 26.2-DEV (2026-07-14T19:29:31Z) (Implementing API version 26.2.local-SNAPSHOT)
You are running a development version without access to version information
Previous version: 26.1.2-DEV (MC: 26.1.2)

Other

The reason why this is problematic is because of a user deleting the /world/dimensions/minecraft/overworld folder, in the hopes of generating a new overworld dimension. I think this issue is less problematic simply because of the possibility of that one file being deleted, but because it blocks deletion of the entire dimension under the same exception.

In the Vanilla Minecraft server, as distributed by Mojang, deleting the overworld dimension does not yield any issues, as there the file is instead stored as a global file instead of per-dimension. Deleting the file at its old position also results in the issue.

The reason I am opening an issue for this first is to allow for discussion regarding how feasible a fix would be and what it would look like, before a potentially malformed patch is submitted for review.

Activity

  1. added theissue type on Jul 14, 2026
  2. Doc94 commented on Jul 14, 2026

    @Doc94
    SponsorMember

    I talk about this in a few PRs related to migration...
    In vanilla this just happen if delete the dimension and also the file mentioned...

    For paper the issue is that file its moved and in migration/regen the fallback try to catch that file fails when overworld was deleted....

    The "easy" way can be copy and not move that file for keep the fallback... Or mess with the fallback for generate that file again

    (Im in phone but in the PRs for world migration i remember put mentions for that or was in discord....)

  3. Doc94 commented on Jul 15, 2026

    @Doc94
    SponsorMember

    This PR #13874 mention that detail... in vanilla you can replicate this but need delete the global file and also the dimension.

  4. added
    status: acceptedDisputed bug is accepted as valid or Feature accepted as desired to be added.
    and removed on Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: acceptedDisputed bug is accepted as valid or Feature accepted as desired to be added.version: 26.2Game version 26.2

    Type

    Fields

    MC Issue

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions