FFA System Full Rewrite
A complete rebuild of the FFA gameplay foundation
This is a true
system rewrite, not a patch on legacy code.
The FFA experience is now built on a clean, modular, and production-ready architecture.
What Has Been Rebuilt
- Real multi-arena support instead of one global FFA flow.
- Each arena now has clear identity, world binding, spawn points, status, and zone configuration.
- Professional arena lifecycle with clear status handling.
- Join access is restricted to valid active/live arena states only.
- Clean arena overview with structured live information.
Safe-Zone System
- Safe-zone support per arena.
- Simple 2-click placement mode (Block 1 + Block 2).
- Automatic persistence after second selection.
- Inside safe-zones: no PvP, no damage, and no disruptive interaction.
Kits System 2.0
- Fully rebuilt with proper separation of concerns.
- Clear layers: definition, registry, selection, application, and persistence.
- Snapshot workflow for current inventory and armor.
- Professional item manager with ordered single-item removal.
- Armor slot manager (set/remove per slot).
- Combat flow integration for reliable re-apply/replenish behavior.
Data Layer
- Abstract storage architecture for player profiles.
- MySQL as primary option, JSON as configurable alternative.
- Unified UUID-based profile model.
- Stats, settings, and player preferences stored consistently.
Database Outage Safety
- If database connectivity is lost, FFA enters a safe degraded mode.
- Arenas are switched offline.
- Stats become temporarily unavailable (service unreachable behavior).
- Automatic reconnect attempts: 3 tries with 15-second intervals.
- If recovery fails, clear admin guidance is shown to switch storage mode.
Player Experience Improvements
- Form-only UX with strict routing logic.
- Sector-correct menu flows (Arena / Kits / Stats / Settings).
- Consistent back-navigation safety.
- Arena-only scoreboard with cleaner presentation.
- Improved in-game messaging quality and consistency.
Result
The FFA system now behaves like a serious, maintainable, and expandable minigame platform rather than a patched legacy plugin.