Skip to content

Folia Core: Add Global Scoreboard API, Region Health Manager, and 1.2…#451

Closed
ghost wants to merge 1 commit into
ver/1.21.11from
unknown repository
Closed

Folia Core: Add Global Scoreboard API, Region Health Manager, and 1.2…#451
ghost wants to merge 1 commit into
ver/1.21.11from
unknown repository

Conversation

@ghost
Copy link
Copy Markdown

@ghost ghost commented Apr 18, 2026

Summary

This Pull Request introduces major architectural improvements and essential API additions tailored specifically for Folia's regionised multithreading environment. It addresses long-standing issues like global scoreboard synchronization and per-region performance stabilization.

Key Changes

  • Global Scoreboard API: Implemented GlobalScoreboardManager to provide a thread-safe way to interact with the global scoreboard from any region using the GlobalRegionScheduler.
  • Region Health Manager: Introduced RegionHealthManager to monitor per-region performance (MSPPT) and provide hooks for dynamic load mitigation.
  • Dynamic Ticking (TPS Stabilizer): Added FoliaPerformanceOptimizer which automatically throttles non-player entity AI/Physics in specific regions when they fall below performance thresholds (45ms+ MSPPT), ensuring stable 20 TPS.
  • 1.21.x Feature Support: Ported Creaking, CreakingHeart, and Breeze API extensions to Folia with full thread-safety and region-awareness.

Rationale

Folia's unique architecture requires specialized tools for performance management and cross-region data synchronization. By providing a native way to handle scoreboards and regional lag spikes, we empower developers to build more complex and stable experiences on Folia without resorting to unsafe workarounds.

All implementations strictly adhere to Folia's threading model, ensuring no data corruption or cross-region access violations.

@Euphillya
Copy link
Copy Markdown
Contributor

You should not submit multiple features in a single PR

@jpenilla jpenilla closed this Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants