← Назад к ресурсам

ChunkManager

Optimizes chunk loading to reduce server lag.

Modrinth management optimization utility

Описание

## Commands | Command | Description | |---|---| | `/cm` | Open GUI | | `/cm help` | List every command | | `/chunkstatus` | View performance stats | | `/chunkreload` | Reload config | | `/optimizechunks` | Force chunk optimization | | `/chunkgc` | Free up memory | | `/chunksummary` | World analysis | | `/maintenance ` | Toggle maintenance mode | | `/chunklang ` | Change language | | `/chunkanalyze [world]` | Analyze chunk complexity | | `/chunkregions` | Region stats | | `/chunkmetrics` | Advanced metrics | | `/cmtop` | Most expensive loaded chunks | | `/cminspect` | Why your current chunk is kept loaded | | `/cmfreeze ` | Pin chunks so they never unload | | `/cmpregen [radius]` | Pre-generate chunks | | `/cmviz` | Chunk border particles coloured by heat | | `/cmrtps` | Per-region TPS (Folia) | | `/cmmap ` | Dynmap/BlueMap hot-chunk overlay | ## Permissions | Permission | Description | Default | |---|---|---| | `chunkmanager.admin` | All commands | op | | `chunkmanager.notify` | Performance notifications | op | | `chunkmanager.bypass` | Never marked AFK, no loading limits | false | | `chunkmanager.radius.1` to `chunkmanager.radius.6` | Per-rank preload radius | false | ## Features - **Heat-Based Unloading** - Tracks activity, unloads cold chunks - **Auto Performance Adjust** - Adapts to TPS/RAM automatically - **Chunk Prefetching** - Predicts where players go, preloads chunks - **Region Optimization** - Optimizes areas based on activity - **Smart Caching** - Fast chunk reloading - **Live Monitoring** - TPS, memory, cache stats - **Multi-Language** - en, es, fr, de, pt, it, ru, ja, ko, zh, ar - **Developer API** - Hook into it from your plugins - **World Blacklist** - Exclude worlds you don't want managed - **Folia Support** - Runs on Folia, Paper, Spigot and Bukkit 1.20.4 - 1.21.x - **AFK Saver** - Idle players load fewer chunks, restored the moment they move - **Entity Limiter** - Per-chunk caps for mobs, animals and items, named and tamed always safe - **Pre-Generation** - TPS-aware, resumable, skips chunks that already exist - **Frozen Chunks** - Pin any chunk so it never unloads - **Top Chunks & Analyzer** - See which chunks cost the most and why - **Region TPS** - Per-region tick times on Folia - **Map Overlay** - Hot chunks drawn on Dynmap and BlueMap - **Respects Other Plugins** - Never unloads force-loaded chunks, plugin tickets, WorldGuard regions or a running Chunky - **PlaceholderAPI** - TPS, chunks, AFK and per-chunk values for scoreboards and tab lists ## PlaceholderAPI Values are cached once a second, so they are safe in scoreboards and tab lists. Server placeholders | Placeholder | Returns | |---|---| | `%chunkmanager_tps%` | Current TPS | | `%chunkmanager_tps_color%` | TPS with a green/yellow/gold/red colour | | `%chunkmanager_tick%` | Tick time in ms | | `%chunkmanager_tick_p95%` | Tick time p95 over the last 5 minutes | | `%chunkmanager_status%` | EXCELLENT, GOOD, MODERATE, POOR or CRITICAL | | `%chunkmanager_platform%` | Folia, Paper, Spigot or Bukkit | | `%chunkmanager_memory_used%` | Used memory in MB | | `%chunkmanager_memory_max%` | Max memory in MB | | `%chunkmanager_memory_percent%` | Memory usage in percent | | `%chunkmanager_chunks%` | Loaded chunks across all worlds | | `%chunkmanager_world_chunks_%` | Loaded chunks in one world | | `%chunkmanager_chunks_queue%` | Chunks waiting to load | | `%chunkmanager_chunks_loading%` | Chunks loading right now | | `%chunkmanager_loads_per_minute%` | Chunk loads in the last minute | | `%chunkmanager_unloads_per_minute%` | Chunk unloads in the last minute | | `%chunkmanager_culled%` | Entities removed by the limiter | | `%chunkmanager_frozen%` | Frozen chunks | | `%chunkmanager_radius%` | Current preload radius | | `%chunkmanager_maintenance%` | yes/no | | `%chunkmanager_afk_count%` | Players currently AFK | | `%chunkmanager_worst_region%` | Slowest region in ms (Folia) | | `%chunkmanager_pregen_active%` | yes/no | | `%chunkmanager_pregen_percent%` | Pre-generation progress | Player placeholders | Placeholder | Returns | |---|---| | `%chunkmanager_afk%` | yes/no | | `%chunkmanager_idle_seconds%` | Seconds since the player last moved | | `%chunkmanager_player_radius%` | The player's preload radius | | `%chunkmanager_bedrock%` | yes/no (Geyser) | | `%chunkmanager_chunk_x%` | Chunk X the player stands in | | `%chunkmanager_chunk_z%` | Chunk Z the player stands in | | `%chunkmanager_chunk_heat%` | Heat of that chunk | | `%chunkmanager_chunk_cost%` | Cost score of that chunk | | `%chunkmanager_chunk_entities%` | Entities in that chunk | | `%chunkmanager_chunk_tiles%` | Tile entities in that chunk | | `%chunkmanager_chunk_frozen%` | yes/no | Developer API **Setup** ```yaml depend: [ChunkManager] ``` **Get API** ```java ChunkManagerAPI api = (ChunkManagerAPI) Bukkit.getPluginManager().getPlugin("ChunkManager"); ``` **Methods** ```java // Basics api.getCurrentRadius(); api.isMaintenanceMode(); api.setMaintenanceMode(true); // Per-player api.setPlayerRadius(player, 8); api.getPlayerRadius(player); // Stats api.getAverageTickTime(); api.getMemoryUsagePercentage(); api.getLoadedChunksCount(); // Actions api.forceChunkOptimization(); api.forceGarbageCollection(); api.reloadConfiguration(); // Async api.getWorldStatistics(world); // returns CompletableFuture // Extra api.getCurrentTps(); api.isBedrockPlayer(player); api.getQueuedChunksCount(); ``` config.yml ```yaml chunk-loading-radius: 3 cache-expiration-time: 30000 max-chunks-to-load: 5 max-cache-size: 100 logging-level: INFO language: en afk: enabled: true idle-seconds: 300 radius: 1 view-distance: 0 entity-limiter: enabled: false total-limit: 100 spawn-chunks: radius: -1 ``` **Updated Previews:** ![Preview 1](https://i.ibb.co/wMDnvwC/Screenshot-2024-07-26-185729.jpg) ![Preview 2](https://i.ibb.co/xq6nRYL/Screenshot-2024-07-26-185845.jpg) ![Preview 3](https://i.ibb.co/72xRrx0/Screenshot-2024-07-26-185749.jpg) ![Preview 4](https://i.ibb.co/bKbm334/Screenshot-2024-07-26-185808.jpg)