- Native Minecraft Version:
- Tested Minecraft Versions:
- Source Code:
- sgdc3, Lxct
- Languages Supported:
- All. You can translate it by yourself.BestViewDistanceHow it works ?
(Allow your server to support a view distance of 32 chunks !)
A view distance plugin for Paper. Created to boost ping/tps and view distance.
If you're using the plugin, make sure your view-distance inside spigot.yml and server.proprieties is set to 3!
IT REDUCES LAGS FROM THE "Players needing chunks" EVENT.
The plugin will override this value, don't worry.
This plugin chooses the best view distance for your players. The view distance is calculated based on your ping and the TPS of the server. If the TPS are low, the view distance is reduced by a percentage called "reduction indice". The reduction indice changes according to the TPS of the server.
This plugin reduces players lag, reduces players ping and optimizes your server with a better view distance.
Download Paper if you want to run this plugin.
PlaceholderAPI is optional, only if you want to use placeholders.
ProtocolLib is needed ONLY for versions below 1.13.2
Commands / Permissions
Default ConfigCode (Text):
/view server => Get reduction indice.
/view tps => Get server's tps.
/view ping <player> => Get player ping.
/view <player> => Get player actual view distance and his max view distance.
/view => Get help
Permission : "view.check"
/view reload => Reload plugin config. Need "view.reload"
/vdist => Allows your players to see their own view distance. Need "view.info"
/vping => Allows your players to see their own ping. Need "view.info"
Permission for update checker : "view.update"
Bypass algorithm : "view.set.x" (3 to 32)
(Example : view.set.15 set a view dist of 15 chunks)
Does not work with "*"/"*.*" permissions nodes !
# ╔╗ ┌─┐┌─┐┌┬┐ ╦ ╦┬┌─┐┬ ┬ ╔╦╗┬┌─┐┌┬┐┌─┐┌┐┌┌─┐┌─┐
# ╠╩╗├┤ └─┐ │ ╚╗╔╝│├┤ │││ ║║│└─┐ │ ├─┤││││ ├┤
# ╚═╝└─┘└─┘ ┴ ╚╝ ┴└─┘└┴┘ ═╩╝┴└─┘ ┴ ┴ ┴┘└┘└─┘└─┘
# - Get a Better View Distance, By LXCT. -
# Donate: https://paypal.me/lxct
Version: 2.3 # Version of the config file. Don't change this value.
UseLoginView: true # Use a custom view on login
UseAFKView: true # Use a custom view if the player is AFK.
UsePing: true # The plugin will give a custom view distance for each players
UseTasks: true # Use tasks. Turn this off will reduce lags, but view distance will change slower.
UseFlyingView: false # Use a custom view if the player is flying.
UseTeleportView: false # Use a custom view on teleport. Can reduce freeze on teleport.
UsePermissions: false # Enable permissions (view.set.x) to bypass algorithm.
Min: 4 # Default minimum view distance (Minimum : 3)
Max: 16 # Default maximum view distance (Maximum : 32)
OnLogin: 4 # View distance on login
OnAFK: 3 # AFK view distance (If UseAFKView is on true)
OnTeleport: 4 # View distance on teleport (If UseTeleportView is on true)
OnFlying: 12 # View distance if flying (If UseFlyingView is on true)
MoreThanSettings: 0 # Add x chunks more than player's settings.
CalculationsDelay: 1 # Delay in seconds to actualize calculations
SetViewDelay: 15 # Delay in seconds to actualize global view distance
UnsetTeleportViewDelay: 3 # Delay in seconds to unset the OnTeleport custom view
CheckFlyingDelay: 5 # Delay in seconds before set the OnFlying view distance
AFKDelay: 90 # Delay in seconds before set the OnAFK view distance
TpsLimit: 19.5 # Below: Decrease Reduction Indice // Over: Increase Reduction Indice.
TpsChangeIndice: 0.01 # How much we had to increase/decrease the reduction indice. 0.01 = 1%
MaxReductionIndice: 0.75 # Maximum Reduction Indice (0.75 = 75%)
SafePing: 1 # Set this value to 0 for local hosting.
PingForReduction: 550 # Ping required to decrease view distance
PingForAugmentation: 90 # Ping required to increase view distance
BypassAFKView: true # Player with permissions (view.set.x) can bypass the "OnAFK" view.
BypassTeleportView: true # Player with permissions (view.set.x) can bypass the "OnTeleport" view.
BypassFlyingView: true # Player with permissions (view.set.x) can bypass the "OnFlying" view.
DecimalsTPS: 2 # How many decimals for the %VDIST_DECIMAL_TPS% placeholder
DecimalsIndice: 2 # How many decimals for the %VDIST_REDUCTION_INDICE_DECIMAL% placeholder
HideVdistLine4: false # Hide the 4th line of the /vdist command
CheckUpdates: true # Check for updates
Metrics: true # Send anonymous stats
Worlds: # Custom Min and Max per worlds
Example: # Name of your world
Max: 32 # Max value of world
Min: 16 # Min value of world
Example2: # Another Example.
Max: 8 # Max for Example2 World
Min: 3 # Min for Example2 World
(You'll need PlaceholderAPI if you want to use them) :
Code (Text):%VDIST_REDUCTION_INDICE% => Get the reduction indice in percentage
%VDIST_REDUCTION_INDICE_DECIMAL% => Get the reduction indice with decimals
%VDIST_TPS% => Get TPS
%VDIST_DECIMAL_TPS% => Get TPS with decimals
%VDIST_PLAYER_SETTINGS_VIEW% => Get the render distance in player's settings
%VDIST_PLAYER_SUPPORTED_VIEW% => Get the supported view distance of a player
%VDIST_PLAYER_CURRENT_VIEW% => Get the current view distance of a player
%VDIST_PLAYER_PING% => Get the ping of a player
- Your name here ? <3
Dev builds: https://ci.codemc.org/job/Kugge/job/BestViewDistance/
Stats: https://bstats.org/plugin/bukkit/BestViewDistance (Thanks to every people who set Metrics on true <3)
Best View Distance 11.9
Uses view distance to boost performances/ping ! Allow your server to support a view distance of 32 !
- Per-world view distance, new placeholder, optimizations. Dec 26, 2018
- Improved performances + Changed default values & Bugfix Dec 23, 2018
- Bugfixes Dec 19, 2018
You have no idea how happy I am to find this plugin, I asked 3 years ago or whenever paper first added the dynamic render distance for this exact plugin! I just did a preliminary test for logging in/afk/permission to bypass and it changes! this is an absolute game changer, when we get busy the TPS will drops and this can reduce render distance, when we have media team online to take screenshots or video they can have bigger render distance! Absolutely amazing that its dynamic. I just have one issue with the fly not auto increasing their render distance, I assume its because my max ViewDistance is set to 6 and my Fly is set to 10, so for now I will use ranks to bypass this issue. But im SOOOOO happy you made this plugin, I have asked for years for someone to make this exact plugin and never was able to find this!
[17:39:47 WARN]: [BestViewDistance] Plugin BestViewDistance v9.6 generated an exception while executing task 224
at me.lxct.bestviewdistance.functions.Other.applyViewDistance(Other.java:49) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:63) ~[patched_1.12.2.jar:git-Paper-1594]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) ~[patched_1.12.2.jar:git-Paper-1594]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.12.2.jar:git-Paper-1594]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]