DungeonForge 1.1.0 supports Folia through region-owned arenas, asynchronous player transfers, persistent builder plots, and entity-owned player interfaces. Paper keeps its existing world backend.
Configure Folia before opening instanced dungeons. Use an unused area in an already loaded secondary world. The primary survival world is rejected. Folia cannot dynamically create and unload dungeon worlds, so DungeonForge replaces blocks inside explicitly allocated plots instead.
folia-arena:
world: world_the_end # Your loaded secondary world; reserve UNUSED coordinates
origin-x: 10000
origin-z: 10000
y: 100
spacing: 1024
columns: 8
capacity: 64
blocks-per-tick: 4096
folia-builder:
world: "" # Empty uses folia-arena.world
origin-x: -100000
origin-z: 100000
y: 100
spacing: 1024
These coordinates are examples, not a guarantee that the area is empty on your server. Keep both grids separate. Builder plots are permanent; editor exit saves them. Existing dungeon source worlds must be loaded before editing or recapturing templates.
Ownership, limits, and interrupted runs
Each operation loads at most 1,024 chunks, including its safety margin. Encounter tasks recheck ownership of the entire arena. Choose layout size and instances.max-instances for your available memory and load.
arena-leases.yml records temporary slot ownership; builder-plots.yml records permanent plots. Changed world identities or grid layouts are rejected. Interrupted allocations become QUARANTINED on restart and are not reused automatically. Retain these files and inspect quarantined terrain before operator cleanup; there is no automatic destructive reclaim command.
Saved player returns recover after rejoin. Successful cleanup waits until players have returned, then resets and releases the slot. Failed returns retain the arena and retry. Optional integrations and custom commands need their own Folia-compatible implementations.