Skip to content

2.5.0

Latest
Compare
Choose a tag to compare
@Jikoo Jikoo released this 05 Jul 15:35
· 112 commits to master since this release
c245805

What's Changed

  • Add support for BentoBox game modes (Big thanks to @BONNe!)
  • Add support for PlotSquared
  • Fix a potential bug with non-standard Towny cell sizes
  • Improve performance of GriefPrevention, Towny, WorldGuard hooks slightly
  • Improve support for non-Craftbukkit-based platforms
    • Regionerator will now make a best effort to determine the location of world data rather than assuming CB world structure and never finding it.
  • Fix entity/POI data not being deleted
    • You may see inflated region deletion numbers on your first run! This is because Regionerator may have previously deleted blocks and left behind entities.
    • POI data is not the same as structure data. Regionerator still does not handle structure data due to the fact that it would require parsing and editing NBT.
  • Improve disk savings by deleting XL chunks immediately
    • Likely only affects extremely heavily-built bases or chunks affected by malicious users.
    • Regionerator previously orphaned XL chunks like any other chunk. The server would delete them when the chunk was saved next. Unlike normal chunks, which are written in the middle of region files, XL chunks are separate .mcc files and can be removed from disk without having to rewrite the entire region file. A single .mcc file usually exceeds the size of an average region, so being able to dispose of them faster is important.
  • Use NIO file API
    • This is a major performance improvement. My benchmark put deletion at around 4,270% faster on a HDD reporting 153MB/s read, 170MB/s write and 1,461% faster on a SSD reporting 411MB/s read, 529MB/s write. As we now have to delete roughly 3x as many files and I assume you all are running your servers on far better hardware than my aging enthusiast-grade PC, I anticipate an average performance increase of "only" around 200%.
      • The largest cause of slow cycle times is hooks that are not async-capable. This affects only the portion of the deletion cycle where Regionerator rewrites region files to delete chunks.

New Contributors

Additional Thanks

Full Changelog: 2.4.0...2.5.0