▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/FragGuard
FragGuard

FragGuard

A simple and lightweight grief protection plugin that only does what it needs to do and nothing more.

Оцените первым
49
0
Все версииFragGuard 26.2-3 Beta 3

FragGuard 26.2-3 Beta 3

Beta21.08.2026

Список изменений

26.2-3-beta.3

Added

  • Added configurable rollback-max-millis-per-tick, rollback-minimum-tps, and rollback-max-chunks-per-command safeguards for rollback and undo execution.
  • Added regression coverage for chunk grouping, negative chunk boundaries, separate-world chunk identities, preview chunk counting, asynchronous no-generation loads, shared chunk tickets, TPS pause/resume, per-tick budget sharing, and next-tick budget resets.
  • Added rollback-planner and SQLite-backed regression coverage for interleaved chunk sequences, repeated chunk visits, and undo execution in the exact reverse persisted order.
  • Added regression coverage ensuring only the currently executing rollback or undo slice publishes audit history, low-TPS and exhausted-budget pauses do not expose deferred blocks as changed, and already-committed audit slices finish before throttling resumes.
  • Added regression coverage for durable per-slice rollback and undo physics corrections across low-TPS or exhausted-budget pauses, completed chunk-ticket release before cross-chunk TPS pauses, and active-ticket retention during same-chunk pauses.
  • Added explicit SQLite schema versioning through PRAGMA user_version, verified pre-migration VACUUM INTO backups, transactional schema upgrades, and documented database backup/restoration procedures.
  • Added regression coverage for stable action identifiers, unknown legacy actions, world renames, renamed resumable rollback jobs, retained migration backups, rejected future schema versions, failed atomic migrations, and unavailable backup locations.
  • Added compressed, format-versioned block-entity snapshots for double-sided signs, container inventories and books, banner patterns, player-head profiles, lecterns, decorated-pot inventories/sherds, and supported custom names.
  • Added SQLite schema version 2 and regression coverage for verified version-1 migration backups, entity-only history, same-tick snapshot coalescing, rollback planning, recovered jobs, force retries, and undo snapshots.
  • Added rollback and undo regression coverage for compatible chest inventories after physics normalizes their structural block state, including the resulting correction-audit snapshots.
  • Added block-entity snapshot regression coverage for the 16 MiB serialized-inventory boundary and oversized containers, lecterns, and decorated pots.
  • Added a configurable rollback-max-snapshot-bytes-per-command preview safeguard, defaulting to 64 MiB, with SQLite-backed aggregate snapshot-budget and operator-facing limit regression coverage.
  • Added regression coverage for saved rollback/recovery/undo snapshot-byte budgets, post-preview original inventories, legacy jobs without preview snapshots, and oversized skull-profile, banner-pattern, and sign-line collections.
  • Added SQLite-backed regression coverage for interrupted version-1 rollback jobs, missing prepared-row inventory snapshots, restart durability, repeated preparation, and subsequent undo restoration.

Changed

  • Processed rollback and undo changes in consecutive same-chunk batches without reordering their persisted sequence, asynchronously loaded only existing chunks without generating new terrain, and held reference-counted plugin chunk tickets only while their active chunk is being processed.
  • Applied a shared millisecond-per-tick work budget across block-state preparation, world mutations, and force-mode retries while retaining the configured maximum blocks per batch.
  • Automatically paused rollback and undo jobs when server TPS falls below the configured threshold, resumed them after recovery, and rejected previews or saved jobs that exceed the maximum affected chunk count.
  • Prepared and durably recorded rollback or undo audits in bounded 16-block slices immediately before applying each slice, with later slices remaining unaudited while work is deferred.
  • Persisted observed physics-correction audits immediately after each applied slice, before force retries or subsequent slices can pause, and released completed chunk tickets before evaluating TPS at chunk boundaries.
  • Persisted stable block-change action identifiers instead of Java enum names, migrated legacy action values and loaded-world UUIDs, matched history/rollback regions by stable world identity, and refreshed saved rollback world names after renames.
  • Captured block-entity data alongside structural block data, persisted before/after snapshots through gameplay and rollback audit history, and restored each block's structure before updating its saved block entity.

Fixed

  • Fixed #8 by preventing large rollback and undo jobs from synchronously loading many chunks or monopolizing the server thread with fixed-size block batches.
  • Fixed interleaved chunk visits being globally regrouped out of sequence, which caused physics-enabled rollbacks and undo operations to update cross-chunk neighbors in the wrong order.
  • Fixed deferred rollback candidates appearing in /fg lookup or later time-based rollback calculations before their blocks were actually changed when a tick-budget limit or low TPS paused the job.
  • Fixed physics-enabled rollback or undo history retaining an incorrect requested block state if a later slice paused and the server restarted before its observed correction was persisted.
  • Fixed completed rollback chunks remaining forcibly loaded throughout low-TPS pauses before the next chunk began processing.
  • Fixed #14 by preventing world renames, changed or unknown action enums, unsupported database downgrades, and partially applied schema upgrades from orphaning history or breaking lookups and rollback recovery.
  • Fixed #15 by restoring sign text/colors/glow/wax, container contents including written books, banner designs, player-head textures, lectern books/pages, and decorated-pot items/sherds during rollback and undo.
  • Fixed the Beta 3 build failing banner regression coverage by avoiding Paper registry initialization for banners without patterns; patterned banners still resolve their designs through the data-driven registry.
  • Fixed physics-enabled rollback and undo discarding compatible block-entity contents when the server normalizes the requested block state, such as a single chest joining a neighboring double chest; correction audits now retain the restored contents.
  • Fixed oversized container, lectern, and decorated-pot inventories entering block history even though rollback could not restore them; snapshot capture now enforces the same 16 MiB inventory limit as restoration before history or world state can be changed.
  • Fixed rollback previews exhausting server memory when many component-heavy container snapshots fit under the block-count limit; SQLite snapshot lengths are now checked against the aggregate byte budget before their BLOBs are materialized.
  • Fixed saved rollback jobs, restart recovery, and undo exhausting server memory by loading unbounded original, target, and expected block-entity snapshots; all job loads now enforce the configured aggregate byte limit before copying SQLite BLOBs.
  • Fixed oversized player-head profile properties, banner patterns, and sign-line collections entering history even though rollback rejected those snapshots; capture now enforces the same 4,096-entry collection limit as restoration.
  • Fixed resumed version-1 rollback jobs discarding container inventories when their structural before-state was prepared before migration; missing original block-entity snapshots are now captured before mutation and retained for undo.

What's Changed

  • Fix #8: prevent rollback chunk loading from lagging the server by @mccreeper1318 in https://github.com/mccreeper1318/fragguard/pull/32
  • Fix #14: version and safeguard FragGuard database migrations by @mccreeper1318 in https://github.com/mccreeper1318/fragguard/pull/33
  • 15 rollback does not restore block entity data by @mccreeper1318 in https://github.com/mccreeper1318/fragguard/pull/34

Full Changelog: https://github.com/mccreeper1318/fragguard/compare/26.2-3-beta.2...26.2-3-beta.3

⚠️ Beta Release Warning

Beta versions are pre-release builds intended for testing. They may contain bugs, incomplete changes, or unexpected behavior and may not be as stable as the latest full release.

Before installing a beta:

Back up your server and plugin configuration. Review the changelog for known changes. Be prepared to roll back if problems occur.

Beta builds are recommended for testing environments or users comfortable troubleshooting issues. For production servers, use the latest stable release whenever possible.

Файлы

FragGuard-26.2-3-beta.3.jar(13.84 MiB)
Основной
Скачать

Метаданные

Канал релиза

Beta

Номер версии

26.2-3-beta.3

Загрузчики

Paper

Версии игры

26.2

Загрузок

7

Дата публикации

21.08.2026

Загрузил

ID версии

Главная