Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The configuration file is located in plugins/ViaVersion/config.yml. It uses the YAML Syntax. The config is split into sections, you can see these by looking at the comments prefixed with #.

...

This option indicates whether we should check for updates when the server boots and when an operator logs in, this can be a huge benefit to ensure that bugs are fixed as soon as new versions are available. We use spigetupdate.viaversion.orgcom to handle checking for updates, so ensure that it is allowed through your firewall if you wish to use this feature.

...

This allows you to block certain versions from logging into your server, every Minecraft version has a special number assigned to it called a Protocol Version. You can view a list of them here and find a generator here. For example, if you wanted to block 1.10 Minecraft you can see from that list that the number is 210. You would then change your config to, block-protocols: [210], you can then add as many protocols as required separated by a comma if you wish to block more.


block-disconnectversions- msg - default: "You are using an unsupported Minecraft version!"  [] (String List)

When the condition above for blocking a certain version is met, what should the client be kicked with? This message will appear on their disconnect screen when they are kicked for using a blocked version. You can use Minecraft Colour codes here.

reload-disconnect-message - default: "Server reload, please rejoin!" (String)

If you use ProtocolLib we are unable to reload the plugin without crashing the server with This allows you to block certain versions from logging into your server, it is similar to block-protocols but allows you to use version names like "1.17" or "<1.17". For example ["<1.17"] would block allow versions less than 1.17. The less than operator and greater than operator are both supported for these versions.


block-disconnect-msg - default: "You are using an unsupported Minecraft version!" (String)

When the condition above for blocking a certain version is met, what should the client be kicked with? This message will appear on their disconnect screen when they are kicked for using a blocked version. You can use Minecraft Colour codes here.


reload-disconnect-message - default: "Server reload, please rejoin!" (String)

If you use ProtocolLib we are unable to reload the plugin without crashing the server with players connected, to protect against this we kick players. Here you can select what message is sent to them on reload, furthermore you should really use a Plugin Manager instead of /reload due to memory leaks. You can use Minecraft Colour codes here.

...

The default will be filled with the lowest version your proxy can handle. You can view a list of them here. The key is the BungeeCord / Velocity server name from your config.yml and the integer is the protocol version from the previous link.

...

These options affect multiple versions.


register-userconnections-on-join - default: true (Boolean)

Whether to make sure ViaVersion's UserConnection object is already available in the PlayerJoinEvent.
You may disable this for faster startup/join time if you are 100% sure no plugin requires this.


hologram-patch - default: false (Boolean)

...

1.17 clients will be displayed this message upon join.

1.9 & 1.10 clients on 1.8 servers options

This options only apply to you if you use a 1.8 server, these enable consistent visuals / gameplays across future versions where features have changed.


prevent-collision - defaultcache-1_17-light - default: true (Boolean)

In 1.9, players can now push each other. To prevent this when scoreboard teams are sent ViaVersion can set the collision to not happen so that the gameplay is balanced. (Plugins like ColoredTags use teams)

auto-team Caches light until chunks are unloaded to allow subsequent chunk update packets as opposed to instantly uncaching when the first chunk data is sent.
Only disable this if you know what you are doing.


armor-toggle-fix - default: true (Boolean)

Most servers don't use scoreboard plugins, in this case we send our own team to the player to prevent them colliding with other players. If you use a plugin like ColoredTags you should turn this off. Furthermore if you are having issues with Bungee and teams, consider turning it off too.

suppress-metadata-errors - default: false (Boolean)

Due to changes in 1.9 and above to how entity data is sent some plugins send data that we can't find the 1.9 equivalent for (Usually means they're doing something wrong!). When this happens we'll tell you all the info in your config and you will need to debug and work out which plugin is causing this and contact the author, (these are related to the NMS class called Datawatcher).

Alternatively, you can just suppress metadata errors but this means mobs may look different on 1.9 to 1.8, but most of the time this is fine.

shield-blocking - default: true (Boolean) - Note: On BungeeCord the client will not be able to see them self blocking.

In 1.9, the blocking animation when you right click a sword was removed. It's not possible to simulate meaning 1.9 would not be able to see 1.8 blocking, as an alternative you can visually see these as shields. These do not change any game play and just allow 1.9 to see clients blocking and perform the blocking action with a sword themselves.

Disabling this will mean that 1.9 clients will not be able to see players blocking and will not be able to block properly.

simulate-pt - default: true (Boolean)

In 1.9, the player ticking is no longer triggered by the client sending packets. Therefore if we don't simulate sending them packets they won't be able to eat, use bows properly, drink potions. If you have a really simple server you can disable this but it's suggested that you do not.

nms-player-ticking - default: true (Boolean) - This feature is only available on Spigot / Sponge. (On BungeeCord it will use packet ticking)

To simulate player ticking we use NMS as an alternative to sending packets as sending packets can cause issues with anti-cheats. If you are experiencing TPS issues with ViaVersion it's suggested you try with this to false as it may reduce the effect on TPS. (Though it will still be there just not labelled as ViaVersion as it's internal server ticking)

bossbar-patch - default: true (Boolean)

In 1.9 bossbars are handled differently and sent via packets rather than using a mob. Should we automatically send the right packets to enable bossbars to work? You can disable this if you're having issues with too many boss bars appearing.

bossbar-anti-flicker - default: false (Boolean)

Due to the change in bossbars some plugins constantly update the health on the boss bar which may cause flickering, enabling this option will fix the health. However this will prevent the health from moving down and is not recommended unless you're having flickering issues.

use-new-effect-indicator - default: true (Boolean)

In 1.9, a new effect indicator was introduced in the top left of the screen. Enabling this option will allow players to see their active potion effects in the top left, this may be an advantage to 1.9+ players and you may wish to disable if you find this so.

use-new-deathmessages - default: false (Boolean)

In 1.9, death messages were added to the respawn screen. Enabling this option will allow players who died to see their death message on the respawn screen.

item-cache - default: true (Boolean) - This feature is only available on Spigot / Sponge. (On BungeeCord it will still work but be less efficient causing the server to send 1 extra packet)

In 1.9, packet changes to how items are used means that they aren't sent to the server. Item cache allows ViaVersion to save what items players are holding, this allows an efficient way of telling the server what items the player is using where it has been removed. Disabling this is not suggested as the alternative is looking up the item as the packet arrives which can cause latency and possibly lead to crashing a server.

anti-xray-patch - default: true (Boolean) - This feature is only available on Spigot.

Due to the way ViaVersion works to convert chunks to the new chunks for 1.9, anti-xray may not function properly. This option only works with Spigot anti-xray, and will be forcefully disabled if you do not use Spigot (So don't worry). If you don't use anti-xray with spigot you can disable this function for a slight performance boostForce-update 1.19.4+ player's inventory when they try to swap armor in a pre-occupied slot.


map-1_16-world-names - default: (String Map)

Code Block
titleExample
map-1_16-world-names:
  overworld: minecraft:overworld
  nether: minecraft:the_nether
  end: minecraft:the_end

Get the world names which should be returned for each vanilla dimension


translate-ocelot-to-cat - default: false (Boolean)

If disabled, tamed cats will be displayed as ocelots to 1.14+ clients on 1.13 servers. Otherwise, ocelots (tamed and untamed) will be displayed as cats.


enforce-secure-chat - default: false (Boolean)

Determines the value sent to 1.19+ clients on join if currently not accessible by ViaVersion.

It is not recommended to fake this value if your server is running 1.19 or later, as 1.20.5 clients have stricter chat handling and may get kicked otherwise.

1.9 & 1.10 clients on 1.8 servers options

This options only apply to you if you use a 1.8 server, these enable consistent visuals / gameplays across future versions where features have changed.


prevent-collision - default: true (Boolean)

In 1.9, players can now push each other. To prevent this when scoreboard teams are sent ViaVersion can set the collision to not happen so that the gameplay is balanced. (Plugins like ColoredTags use teams)


auto-team - default: true (Boolean)

Most servers don't use scoreboard plugins, in this case we send our own team to the player to prevent them colliding with other players. If you use a plugin like ColoredTags you should turn this off. Furthermore if you are having issues with Bungee and teams, consider turning it off too.


suppress-metadata-errors - default: false (Boolean)

Due to changes in 1.9 and above to how entity data is sent some plugins send data that we can't find the 1.9 equivalent for (Usually means they're doing something wrong!). When this happens we'll tell you all the info in your config and you will need to debug and work out which plugin is causing this and contact the author, (these are related to the NMS class called Datawatcher).

Alternatively, you can just suppress metadata errors but this means mobs may look different on 1.9 to 1.8, but most of the time this is fine.


shield-blocking - default: true (Boolean) - Note: On BungeeCord the client will not be able to see them self blocking.

In 1.9, the blocking animation when you right click a sword was removed. It's not possible to simulate meaning 1.9 would not be able to see 1.8 blocking, as an alternative you can visually see these as shields. These do not change any game play and just allow 1.9 to see clients blocking and perform the blocking action with a sword themselves.

Disabling this will mean that 1.9 clients will not be able to see players blocking and will not be able to block properly.


no-delay-shield-blocking  - default: false (Boolean)

If this setting is active, the main hand is used instead of the off-hand to trigger the blocking of the player. With the main hand the blocking starts way faster. (Requires "show-shield-when-sword-in-hand" to be false)


show-shield-when-sword-in-hand - default: false (Boolean)

If this setting is active, the shield will appear immediately for 1.9+ when you hold a sword in your main hand. The shield disappears when you switch to another item. (Requires "shield-blocking" to be true)


simulate-pt - default: true (Boolean)

In 1.9, the player ticking is no longer triggered by the client sending packets. Therefore if we don't simulate sending them packets they won't be able to eat, use bows properly, drink potions. If you have a really simple server you can disable this but it's suggested that you do not.


nms-player-ticking - default: true (Boolean) - This feature is only available on Spigot / Sponge. (On BungeeCord it will use packet ticking)

To simulate player ticking we use NMS as an alternative to sending packets as sending packets can cause issues with anti-cheats. If you are experiencing TPS issues with ViaVersion it's suggested you try with this to false as it may reduce the effect on TPS. (Though it will still be there just not labelled as ViaVersion as it's internal server ticking)


bossbar-patch - default: true (Boolean)

In 1.9 bossbars are handled differently and sent via packets rather than using a mob. Should we automatically send the right packets to enable bossbars to work? You can disable this if you're having issues with too many boss bars appearing.


bossbar-anti-flicker - default: false (Boolean)

Due to the change in bossbars some plugins constantly update the health on the boss bar which may cause flickering, enabling this option will fix the health. However this will prevent the health from moving down and is not recommended unless you're having flickering issues.


use-new-effect-indicator - default: true (Boolean)

In 1.9, a new effect indicator was introduced in the top left of the screen. Enabling this option will allow players to see their active potion effects in the top left, this may be an advantage to 1.9+ players and you may wish to disable if you find this so.


use-new-deathmessages - default: false (Boolean)

In 1.9, death messages were added to the respawn screen. Enabling this option will allow players who died to see their death message on the respawn screen.


item-cache - default: true (Boolean) - This feature is only available on Spigot / Sponge. (On BungeeCord it will still work but be less efficient causing the server to send 1 extra packet)

In 1.9, packet changes to how items are used means that they aren't sent to the server. Item cache allows ViaVersion to save what items players are holding, this allows an efficient way of telling the server what items the player is using where it has been removed. Disabling this is not suggested as the alternative is looking up the item as the packet arrives which can cause latency and possibly lead to crashing a server.


replace-pistons - default: false (Boolean)

...