Regionerator icon

Regionerator -----

Gradual deletion of unvisited terrain



Entity/POI data, NIO, and more!
Apparently I forgot to post 2.4.0 anywhere but GitHub, whoops. As always, I do not test hooks that I do not have an environment for. If you see changelogs related to a hook you use, please verify that it is reading correctly!

What's Changed
2.4.0
  • Update to Java 17
  • Update Lands hook
    • Lands users: Please verify that Lands' protections are detected properly.
    • Requires Lands 6.26+ (or so I believe - the versioning looks like it went wonky with the update that actually included this change. There are no changelogs for the API and the commit messages are tremendously unhelpful.)
  • Flag fresh chunks async
  • Fix relying on Bukkit's softdepend system actually functioning for the hook loading process
  • Attempt to reduce likelihood of author nag about tasks on shutdown
    • If you're still seeing this, you can safely ignore it. Regionerator's deletion task does not perform any additional operations once Regionerator cancels it. You usually see this warning because it finishes shutting down a fraction of a second after the main thread disables the plugin. The "solutions" involve hanging the main thread unnecessarily while waiting for the deletion thread to die or hiding the thread from Bukkit by not using its scheduler.
  • Code health
2.5.0
  • 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.
Full Changelog: 2.3.0...2.5.0
----------, Jul 5, 2023
Resource Information
Author:
----------
Total Downloads: 5,752
First Release: Sep 14, 2015
Last Update: Jul 5, 2023
Category: ---------------
All-Time Rating:
34 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings