Fixed multiple critical arena issues that could cause overlap, conflicts, or mid-match corruption.
• Prevented arenas from being freed before players were teleported out.
• Fixed duplicate endMatch calls.
• Resolved async race condition during match creation.
• Fixed arena reset logic between rounds.
Arena lifecycle is now fully stable and safe.
• Team sorting system fully optimized — major CPU usage reduced (~15% → near 0%).
• Header & Footer handling optimized — removed unnecessary processing.
• Fixed memory leak in placeholder cache system.
• Optimized rank updates — now only refreshes the affected player instead of everyone.
• Eliminated RAM spikes during rank changes.
Overall result: lower CPU usage, stable RAM, smoother performance.
- Reworked the scoreboard team system to significantly reduce CPU usage.
- Eliminated heavy internal processing that was previously affecting performance (~15% CPU usage).
- Implemented a packet-based system for team updates, similar to large-scale optimized plugins.
- Teams now update per-player instead of broadcasting unnecessary updates to everyone.
- Proper handling for player join, quit, and team changes to ensure stable behavior.
- Improved overall sorting performance and reduced server load during matches.
- Fixed multiple memory leaks that were causing increasing RAM usage over time.
- Optimized internal caching to prevent unnecessary memory growth.
- Reduced garbage collection pressure and improved overall server stability.
- Fixed an issue that could cause FAWE database errors during automatic cleanup.
- Improved long-term performance, especially on larger servers with more players.
Performance Improvements
- Optimized GUI configs (PlayerSettings, KillEffect, ArmorTrim, PartyManage). All YAML files are now cached at startup instead of loading on every open/click.
- Removed thousands of unnecessary HashMap allocations per second during kit rule checks.
- Optimized scoreboard updates by skipping redundant NMS calls when suffix is already empty.
- Reduced blocking YAML disk I/O by caching configs and adding proper reload handling.
- Overall server thread usage reduced (~1.3%+ performance improvement).
Party System Fixes
- Fixed party scoreboard resetting during active games (PARTY_FFA, PARTY_SPLIT, PARTY_VS).
- Fixed Leave Spectator giving wrong items. Players now correctly receive party-based items.
- Fixed scoreboard showing IDLE after leaving spectator. It now correctly shows IN_GAME.
- Fixed tab list not resetting after leaving spectator.
- Fixed /p leave being blocked after spectator mode.
- Fixed /p leave during an active match. Players are now eliminated properly, teleported to lobby, and removed from the party.
- Fixed players rejoining next rounds after leaving the party mid-game.
- Fixed scoreboard not updating correctly when the next round starts.
Now saturation depletes naturally through SATIATED healing, and once
exhausted, only vanilla NATURAL_REGEN (every 4 seconds) applies.
- Fixed multiple issues with temporary spectators in party games.
- Dead players can no longer hit alive players and are now pushed away on close contact.
- Spectator scoreboard now correctly displays:
- Spectated player
- Arena
- Kit
- Current player count
- The Compass item now correctly opens the Teleport to Player GUI.
- The Leave Spectator item now properly returns players to the lobby while keeping them in the party.
- Non-owner party members no longer incorrectly receive the Disband Party item after leaving spectator mode.
- Using /p leave while in the lobby now correctly removes the player from the next round of the active party game.
