Folia deferred trade items use trade-returns.yml. Pending items can be claimed on login or with /trade claim; an interrupted delivering record requires staff reconciliation.
A complete backup
- Announce maintenance and stop Paper cleanly.
- Copy the whole
plugins/DonsupAllInOne/directory, every world directory and player data together. - Keep the JAR version and Paper/Java versions with the backup.
- Restore to an isolated server first and check accounts, orders, vaults and inventories before resuming service.
Restoring only balances or only world inventories can duplicate or lose value. Preset rollback restores configuration; it is not a complete account/world rollback.
Storage map
| File | Contents |
|---|---|
players.yml |
Money, shards, ranks, settings, homes, statistics, vaults and duel escrow |
market.yml |
Listings and buy orders |
keys.yml |
Account keys, saved reward choices, delivery state and key-all schedule |
chest-shops.yml |
Shops, trade journal and unresolved delivery snapshots |
social-preferences.yml |
Friends, follows, ignores, spawn and recent sale history |
social.yml |
Teams, team banks/vaults and player warps |
spawners.yml |
Placed virtual spawners and stored output |
duels.yml |
Arenas and pending player return locations |
kits.yml |
Kit definitions and claim timestamps |
daily.yml |
Last claim dates and streaks |
moderation.yml |
Reports, warnings, notes, mutes, freeze and vanish settings |
Other creator and price-history files should be kept as part of the complete plugin backup. Minecraft independently stores carried items, ender chests, locations and world blocks.
What the build recovers
Supported YAML writes use a temporary file and replacement. A malformed existing file causes a load failure instead of silently replacing it with empty data. Trade currency exchange restores its in-memory values if its disk commit fails. Duel reservation stores both debits and escrow together; settling removes escrow with the resulting balances. Any unresolved duel escrow is refunded on startup.
Normal restart tests cover market claims and metadata retention. They do not prove safe outcomes for every hard kill, full disk, power loss or external plugin mutation.
Remaining release blocker
Development 0.4.0 recovery improvements
Temporary YAML replacements are flushed before publication. Ordinary money/shard debits now return failure without changing the live balance if the write fails; credits fail without changing the live balance and stop the calling operation. This does not make a caller's earlier item changes atomic.
New account-only crate claims (money, shards, account keys, including combined rewards) are recoverable on startup. A receipt commits with money/shards in players.yml; retrying the same claim does not credit them twice. Key rewards and pending-claim removal commit together in keys.yml. /keys claim can retry a deferred account claim. An administrator resolving such a claim triggers recovery, not an additional key refund. Old ambiguous claims without the new recovery marker and claims containing physical items still require review.
New chest-shop journals distinguish prepared (no item delivery started) from delivering (items may have moved). On startup, a new prepared trade with no payment is cancelled; a paid prepared trade is refunded once. If the seller has insufficient funds for the reversal, the trade stays held. Delivering trades remain locked and retain customer/stock before-and-after snapshots for staff inspection. Do not automatically refund or replay those items. /chestshop resolve <shopId> acknowledge is only for a trade whose balances and actual inventories have been reconciled by staff.
The tests exercise disk-write failures and persisted transaction boundaries across restart. They are not physical power-loss tests. World saves and player inventories are still outside the YAML transaction.
Market/order transfers, physical item delivery, team banks/vaults, kits, daily claims, physical-key conversion and item-bearing crate claims do not share one durable transaction boundary with Minecraft inventory saves. Even a completed chest-shop journal does not guarantee its chunk has been saved. A crash in the middle can leave mismatched files or inventories. Complete crash recovery for these paths remains unfinished; do not rely on the plugin to restore every interrupted transaction automatically.
If a write fails, preserve the logs and complete data set, stop taking economy transactions, and investigate on a copy. Avoid repeatedly re-running a failing claim or manually deleting escrow records without checking the associated balances.