Skip to content

2.15.8-SNAPSHOT

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Sep 23:58

Folia fork 2.15.8: fix server hang when editing tile entities on Paper

Any edit that wrote tile entities (chests, signs, //undo of such an edit, ...)
hung the server on Paper and got it killed by the watchdog.

The adapters detected Folia by looking for the RegionScheduler API class,
which Paper ships as well, so on Paper they took the Folia path: schedule the
tile-entity write onto the region scheduler (which on Paper is the main
thread) and then block the main thread waiting for it, 30 seconds per tile
entity.

  • Detect Folia with FoliaSupport.isFolia() (RegionizedServer), in the
    1.21.11, 26.1, 26.2 and 26.3 adapters.
  • On Folia, write in place when the current region already owns the chunk
    instead of scheduling onto ourselves and waiting.

Tested: set 256 chests, overwrite them, //undo restores all 256, on Paper
26.3, Folia 26.2 and Folia 1.21.11.