Kyokalith
Anti-X-Ray without touching world gen: buried ores stay decoys until first exposed — beats X-Ray, freecam, and seed maps with no packet tricks and no chunk scans.
Оцените первым
103
0
Список изменений
Changed
- Dirty position write-back moved off the ticking thread and batched into one transaction. A spark profile of a live 12-player server showed
DirtyPositionStore.persistaccounting for roughly 1% of server-thread wall time: every flush cycle opened a fresh JDBC connection per pending chunk and committed each one separately, so a cycle with a few hundred dirty chunks paid a few hundred file opens and a few hundredfsyncs — on the thread that ticks the world. The cycle now runs on the async scheduler (Schedulers.asyncTimer:runTaskTimerAsynchronouslyon Spigot/Paper,AsyncScheduler.runAtFixedRateon Folia) and writes the whole batch through a single connection and a single transaction.- Nothing about persistence guarantees was relaxed. A dirty flag that fails to land re-opens the cover-and-dig exploit, so the same data is still written on the same cadence — only the thread and the batching changed. A failed batch (e.g.
SQLITE_BUSY) falls back to the original per-chunk path, preserving the "one bad chunk must not skip the rest of the cycle" guarantee that has held since 1.x; anything still failing is requeued for the next cycle. - Folia/threading safety. The flush task touches no Bukkit API.
DirtyPositionStore's shared state was already built on concurrent collections; the write paths (flush,flushAll,clearEpoch) are now additionally serialized by an internal lock.clearEpochmatters specifically here: it and the flush used to be implicitly mutually exclusive because both ran on the main thread, and without the lock an in-flight batch could write back an epoch that NatureRevive had just cleared. The finalflushAllinonDisablewaits for an in-flight cycle, keeping PlugMan hot-swaps safe.
- Nothing about persistence guarantees was relaxed. A dirty flag that fails to land re-opens the cover-and-dig exploit, so the same data is still written on the same cadence — only the thread and the batching changed. A failed batch (e.g.
Файлы
Kyokalith-1.4.2.jar(223.29 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.4.2
Загрузчики
BukkitFoliaPaperPurpurSpigot
Версии игры
26.1–26.2
Загрузок
27
Дата публикации
14.08.2026