Regionerator 2.3.0
It's been so long since a release that you get categories instead of just bullet points! Exciting!
Configuration:
- Added per-world flag durations and default setting for all non-specified worlds
- Replaces 2 old settings - world list and flag duration.
- Allows for setups where specific worlds do not use Regionerator but all other user-generated worlds will.
- See Configuration#worlds
- Added cache settings
- These settings are mostly for advanced users with particularly large or small servers. If you don't know what you're doing, you could probably break Regionerator badly (i.e. a batch size of 1 and a batch delay of 5 minutes would cause the queue to take forever to drain, meaning flags would likely fail to save).
- See Configuration#cache
Cache:
- Changed queue to drain at a rate of 1 region per 0.5 seconds instead of 2.5 seconds.
- Added minimum time between expiration checks to reduce churn
- Added soft max cache size (cache is allowed to exceed max size between expiration checks)
Hooks:
- Fixed Civs hook not enabling without soft dependencies (namely WG and MMOItems) being present
- Because the hook needs to be precompiled and therefore is a huge pain to monitor and maintain, the hook is officially EoL. If the API used changes, that's it, goodbye hook.
- Fixed WG hook causing problems without WG present
- Fix WG hook not being declared capable of async operation
- Using exclusively async-capable hooks provides a huge speed improvement, so this may lead to huge performance gains during cycles for some people.
Miscellaneous:
- Changed flagging to distribute load more evenly
- Reduces likelihood of a lag spike when updating visiting flags by reducing the number of simultaneously considered players
- Fixed completely fresh regions being deleted when fresh chunks are configured to be preserved
- Moved some utilities to a more heavily tested library