Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
โก DynamicDistance
The next-generation, proactive View & Simulation Distance engine for Minecraft servers. DynamicDistance continuously reads your server's real vitals โ TPS, MSPT, CPU, RAM, loaded chunks, and entity count โ and reacts before lag ever hits your players. No harsh on/off thresholds, no jarring distance jumps: just a smooth, mathematically smoothed curve that keeps your world looking great while your hardware breathes.
Stop choosing between a beautiful server and a stable one. DynamicDistance gives you both, automatically.
๐ Multi-Language Support
DynamicDistance ships with 28 professionally structured languages out of the box, so every admin and every community feels right at home:
๐บ๐ธ English (en) | ๐น๐ท Turkish (tr) | ๐ฉ๐ช German (de) | ๐ช๐ธ Spanish (es) | ๐ท๐บ Russian (ru) | ๐จ๐ณ Chinese (zh) | ๐ฏ๐ต Japanese (ja) | ๐ฆ๐ฟ Azerbaijani (az) | ๐ซ๐ท French (fr) | ๐ธ๐ฆ Arabic (ar) | ๐ณ๐ฑ Dutch (nl) | ๐ฎ๐ฉ Indonesian (id) | ๐ฆ๐ฒ Armenian (hy) | ๐ฎ๐น Italian (it) | ๐ด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ Scottish Gaelic (gd) | ๐ธ๐ช Swedish (sv) | ๐ฐ๐ฌ Kyrgyz (ky) | ๐ฐ๐ท Korean (ko) | ๐ญ๐บ Hungarian (hu) | ๐จ๐ฟ Czech (cs) | ๐ฌ๐ท Greek (el) | ๐ฎ๐ท Persian (fa) | ๐ต๐ฑ Polish (pl) | ๐ท๐ด Romanian (ro) | ๐ป๐ณ Vietnamese (vi) | ๐ต๐น Portuguese (pt) | ๐น๐ญ Thai (th) | ๐บ๐ฆ Ukrainian (uk)
Switch languages instantly with the language field in config.yml โ every translation file is auto-generated into /plugins/DynamicDistance/langs.
๐ Why DynamicDistance?
- โ๏ธ Predictive, not reactive. Most plugins react to lag after it happens. DynamicDistance's smoothed load score anticipates degradation and scales down gracefully, then eases back up โ never a visible "pop."
- ๐ง Actually intelligent math, not a simple if/else. A weighted multi-metric stress score, dual-speed smoothing, hysteresis cooldowns, and a smoothstep quality curve โ engineered like a real performance system, not a toggle.
- ๐งต Fully async and Folia-ready. Zero main-thread blocking, zero TPS overhead from the plugin itself.
- ๐ฏ Granular by design. Per-world limits, per-player application, per-rank bonuses, per-player timed overrides โ total control down to the individual player.
๐ฅ Core Features
๐ง Adaptive Engine โ The Brain
- Combines MSPT, TPS, CPU load, RAM usage, loaded chunk count, and entity count into a single weighted Stress Score (0โ100).
- Dual-speed smoothing: reacts fast when performance degrades, recovers slowly and steadily to avoid flickering distances during unstable ticks.
- A smoothstep-based Quality Factor curve translates the stress score into distance values with a natural, non-linear easing โ no sudden jumps.
- Recovery Cooldown (hysteresis protection): after a critical spike, distances are held back and ramp up gradually instead of snapping straight back to max.
- Fully configurable target/critical thresholds for MSPT, TPS, CPU, RAM, chunks, and entities.
๐ True Dual-Distance Control
- Manages View Distance and Simulation Distance independently and simultaneously.
- Per-world overrides โ give the Nether or The End tighter limits than your Overworld without touching global settings.
- Per-player real-time application โ every player gets the distance that matches their exact situation, not a single server-wide value.
๐งฉ Universal Platform Architecture
- Folia Ready โ native region-threaded adapter, built for the future of Minecraft server performance.
- Modern Paper (1.18+) โ automatically detects and uses native Simulation Distance APIs.
- Legacy Spigot / Bukkit โ gracefully falls back to View Distanceโonly optimization with zero errors or missing features.
- The correct adapter is auto-detected on startup โ no manual configuration, no guesswork.
๐ด AFK Limiter
- Automatically detects inactive players (movement, chat, commands, interactions) and shrinks their distance to save resources they're not even using.
- Instantly restores their normal distance the moment they become active again.
๐จ Speed Limiter
- Detects high-speed movement (Elytra flight, boosted travel, etc.) via real-time blocks/second tracking.
- Temporarily trims Simulation Distance for fast-moving players to prevent chunk-loading spikes โ completely invisible to the player.
๐ Rank & Permission-Based Bonus System
- Full LuckPerms integration, plus standard
group.<name>permission support โ use whichever your server already runs. - Every rank can have its own bonus View/Simulation Distance, priority weighting, and independent bypass flags for Dynamic scaling, AFK limiting, and Speed limiting.
- Ships with ready-to-use
default,vip,vip_plus,mvp, andadmintemplates you can rename and tune freely.
๐ ๏ธ Admin Override System
/dd setoverride <player|all> <view> [sim] [duration]โ instantly pin a permanent or timed custom distance for one player or your entire server.- Supports intuitive durations like
30s,10m,2h,1d. - Expired overrides are cleaned up automatically and reapplied in real time โ no manual cleanup, ever.
๐ Live Performance HUD (BossBar)
/dd statusbartoggles a sleek, color-coded real-time BossBar showing TPS, MSPT, CPU, RAM, View Distance, and Simulation Distance at a glance.- Bar color shifts automatically between green, yellow, and red based on live server health.
๐งฉ PlaceholderAPI Integration
Bring live server performance data straight into your Scoreboard, Tab list, or chat:
%dynamicdistance_tps% ยท %dynamicdistance_mspt% ยท %dynamicdistance_cpu% ยท %dynamicdistance_ram% ยท %dynamicdistance_ram_mb% ยท %dynamicdistance_chunks% ยท %dynamicdistance_entities% ยท %dynamicdistance_load_score% ยท %dynamicdistance_state% ยท %dynamicdistance_view_distance% ยท %dynamicdistance_sim_distance% ยท %dynamicdistance_target_view% ยท %dynamicdistance_target_sim% ยท %dynamicdistance_reason%
๐ Deep Diagnostics Commands
/dd statusโ a full live system report: platform, TPS/MSPT, CPU (with core count), RAM (used/max in MB), world chunk & entity load, current View/Simulation distances, and the live stress score with health state./dd info <player>โ inspect exactly what a specific player is getting and why: active View/Simulation distance, AFK status, rank group, override status, and the precise reason it's being applied (dynamic scaling, group bonus, AFK restriction, speed restriction, admin bypass, or override).
๐ข Built Like Enterprise Software
- Self-healing configuration โ on every startup and reload, invalid or conflicting config ranges are automatically detected and corrected, with clear console warnings.
- Built-in Modrinth update checker โ automatically notifies admins in-game the moment a new version is available.
- Lightweight JSON-based storage with periodic auto-save for custom player overrides.
- Optional bStats metrics for transparent, anonymous usage insights.
๐ ๏ธ Configuration
config.yml puts every layer of the engine in your hands:
โ๏ธ Engine
- check_interval โ how often (in seconds) the engine evaluates performance.
- smoothing_factor_degrade / recover โ how aggressively distances shrink under load vs. how gently they recover.
- recovery_cooldown โ hysteresis delay before distances are allowed to climb back up after a critical event.
- permission_cache_seconds โ how long rank/group lookups are cached for performance.
๐ Distance Limits
- Global min / max / default_start values for both View and Simulation Distance.
- worlds: section for world-specific min/max overrides (e.g. tighter limits for the Nether and The End).
๐ Thresholds
- Target & critical MSPT and TPS values.
- Maximum RAM and CPU usage percentages.
- Target chunk and entity counts.
- Optimal and critical stress score boundaries.
๐งฉ Modules & Groups
- Every parameter of the AFK Limiter and Speed Limiter modules is independently configurable.
- The groups: section defines priority, bonus distances, and bypass behavior per rank.
โก Commands
| Command | Permission | Description | Aliases |
|---|---|---|---|
/dynamicdistance status |
dynamicdistance.admin | Displays a detailed live performance report | /dd status |
/dynamicdistance statusbar [player] |
dynamicdistance.admin | Toggles the real-time HUD BossBar | /dd statusbar, /dd bar, /dd hud |
/dynamicdistance reload |
dynamicdistance.admin | Reloads config and language files | /dd reload |
/dynamicdistance setoverride <player|all> <view> [sim] [duration] |
dynamicdistance.admin | Sets a permanent or timed custom distance limit | /dd setoverride |
/dynamicdistance clearoverride <player|all> |
dynamicdistance.admin | Removes a custom distance limit | /dd clearoverride |
/dynamicdistance info <player> |
dynamicdistance.admin | Inspects a player's live profile and applied-distance reason | /dd info |
Base command aliases:
/dd,/dynview,/vdist
๐ก๏ธ Permissions
| Permission | Description |
|---|---|
dynamicdistance.admin |
Grants access to all administrative commands (default: OP). |
dynamicdistance.bypass |
Exempts a player from all dynamic distance adjustments. |
โ๏ธ Supported Server Software
| Core | Support Status | Simulation Distance |
|---|---|---|
| โ Folia | Fully Supported | โ |
| โ Paper (1.18+) | Fully Supported | โ |
| โ Purpur | Fully Supported | โ |
| โ Spigot | Fully Supported | View Distance only |
| โ Bukkit | Fully Supported | View Distance only |
- The correct engine adapter (Folia / Modern Paper / Legacy) is detected automatically the moment the plugin loads โ deploy it anywhere and it just works.
๐งฉ Placeholders
Requires PlaceholderAPI to be installed.
%dynamicdistance_tps%/%dynamicdistance_mspt%โ live tick health.%dynamicdistance_cpu%/%dynamicdistance_ram%/%dynamicdistance_ram_mb%โ hardware usage.%dynamicdistance_chunks%/%dynamicdistance_entities%โ world load counters.%dynamicdistance_load%/%dynamicdistance_load_score%/%dynamicdistance_state%โ stress score & health state.%dynamicdistance_view_distance%/%dynamicdistance_sim_distance%โ currently applied distances.%dynamicdistance_target_view%/%dynamicdistance_target_sim%โ the engine's current global targets.%dynamicdistance_reason%โ why the current distance is being applied.
โ๏ธ License
Released under CC BY-NC-SA 4.0 (Attribution-NonCommercial-ShareAlike 4.0 International). Commercial use and resale are strictly prohibited.


