Locking Mechanism - AshleyThew/Bank GitHub Wiki
The locking mechanism prevents concurrent account access conflicts across single-server and multi-server deployments.
Bank uses lock records during account load/save cycles:
- Standard lock mode uses boolean lock state.
- Time lock mode uses timestamp-based unlock logic.
When a player switches servers quickly, lock checks reduce duplicate load/write risk and preserve account integrity.
Relevant keys:
Bank.Save.Lock.TimeBank.Save.Load.Delay
Admin lock operations:
/bank admin lock <player> <true/false>
bank.admin.lock
Lock state is persisted in storage lock tables/collections:
- standard lock records
- time-lock records
- Multi-server network with rapid server switching benefits from lock enforcement to avoid data races.
- Player appears stuck locked: inspect lock state and use admin lock command.
- Frequent lock warnings: review server switching flow and save latency.