DynamicDistance

DynamicDistance

DynamicDistance dynamically tunes view and simulation distance from real-time server metrics on Paper, Folia, Purpur, Spigot, and Bukkit. It reduces range under load and restores it when performance recovers, with AFK/speed limits, group bonu

62 downloads 1 followers

โšก 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, and admin templates 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 statusbar toggles 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.

Discord

No gallery available for this project.

Version Minecraft Loader Download

DynamicDistance 1.0

1.0

1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
bukkit, folia, paper, purpur, spigot
Download