
Vault3
A drop-in Vault economy provider with GUI menus, loans and MySQL. No Vault.jar required.
Оцените первым
34
0
Список изменений
3.0.0
Focused on performance and data safety under load.
Storage
- Transactions no longer perform any I/O on the main thread. Changes are marked dirty and written asynchronously, debounced, and only for balances that actually changed.
- Batch writes are chunked at 500 rows to stay under
max_allowed_packet. - New:
storage.transaction_flush_delay_tickscontrols the debounce window. - New:
storage.recover_emergency_dumpsre-applies balances left by a shutdown that could not reach the database.
Correctness
withdrawPlayer/depositPlayerare now atomic per account, so concurrent callers cannot overwrite each other.- A deposit that would overflow now saturates instead of resetting the account to zero.
- A transfer whose credit leg fails now refunds the sender.
- The in-memory balance map is concurrent; the autosave task can no longer abort partway.
Shutdown and recovery
- Shutdown saves every balance synchronously and retries a failed database write three times.
- If the database cannot be reached, balances are written to
balances-emergency-<timestamp>.ymland applied automatically on the next start. - Console now reports
Saved N player balances before shutdown.
Performance
- Player name lookups no longer scan the entire player-data directory on every call. Resolution now goes through an in-memory cache, the server user cache, and only falls back to a full scan at most once a minute.
- Pending charge requests are fetched off the main thread on join.
- Per-player menu state is released on disconnect.
Configuration
storage.save_on_transaction,storage.autosave_secondsandstorage.transaction_flush_delay_ticksare now documented inconfig.yml.
Файлы
vault-3.0.0.jar(279.37 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
3.0.0
Загрузчики
BukkitPaperPurpurSpigot
Версии игры
1.21–26.2
Загрузок
21
Дата публикации
20.07.2026
