Installation

In a rush?

Our sponsor Shockbyte allows you to one-click install ViaVersion as a server template.

This page will guide you on installing ViaVersion, after installing you will have a protocol compatible server allowing more client versions to join.

Requirements

  • CraftBukkit / Spigot / Paper (some forks are not officially supported due to the changes they make) / Velocity
  • File Manager access
  • If you're using it on a proxy, e.g. Velocity: ensure it's updated!

Common Mistake

If your setup uses a proxy (e.g. BungeeCord/Velocity) you only need to install it on either the proxy or the servers behind the proxy (whether they are Paper / Spigot / Sponge etc).

If you choose to put it on the proxy, note that you will not be able to see yourself blocking swords with 1.8 servers, and software like anti-cheat may perform worse due to the translation being on a different level.

Compatibility

You must use one of the following versions to allow certain versions, 1.8.x means any higher 1.8 version like 1.8.8. If you're stuck, try this tool to work out what plugins you need.

Server VersionClients can connect with
1.8.x1.8.x, 1.9.x, 1.10.x, 1.11.x, 1.12.x, 1.13.x, 1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.9.x1.9.x, 1.10.x, 1.11.x, 1.12.x, 1.13.x, 1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.10.x1.10.x, 1.11.x, 1.12.x, 1.13.x, 1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.11.x1.11.x, 1.12.x, 1.13.x, 1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.12.x1.12.x, 1.13.x, 1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.13.x1.13.x, 1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.14.x1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.15.x1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.16.x1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.17.x1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x
1.18.x1.18.x, 1.19.x, 1.20.x, 1.21.x
1.19.x1.19.x, 1.20.x, 1.21.x
1.20.x1.20.x, 1.21.x
1.21.x1.21.x

Note: Future versions like 1.19 will work on all of the above due to how the plugin is built. (Excluding issues where noted)

You may also use ViaBackwards for backwards 1.9-1.21 support on the above servers and ViaRewind will allow 1.8/1.7.

Bukkit / Spigot Compatibility Issues

If you wish to use ProtocolSupport, for 1.8.8 servers use build 388. Otherwise try the according build, late-bind may not function properly when using ProtocolSupport + ViaVersion. ViaRewind may also be a alternative solution to ProtocolSupport.

If you are using BKCommonLib for 1.8.8, consider using this build. If you use Orebfuscator for 1.8 use this special version here.

Some users have had issues with SkinRestorer, we're unable to provide a fix for this at this point in time. (Ensure you're updated)

There are some login issues with Citizens2 and items that don't exist, ensure you're not using things like MONSTER_EGG durability 0.

Downloading ViaVersion

You can download the latest release from the top of https://hangar.papermc.io/ViaVersion/ViaVersion, download this to your plugin folder.


Tip

For development builds you can find them on our build server, https://ci.viaversion.com/job/ViaVersion/

Installing ViaVersion

Once you have downloaded your ViaVersion.jar to the plugins folder, simply run your server.

Warning

ViaVersion will not work properly if you use a plugin manager and other plugins, please reboot your server. Additionally, make sure to read your startup log in case there are any errors!

BungeeCord / Velocity

BungeeCord/Velocity works by detecting the protocol of the sub servers, to read more about configuring this to work better click here.

Configuring ViaVersion

ViaVersion should work out of the box, in some cases, you might run into a few issues. We have a built-in packet limiter to avoid exploits which from time to time may be tripped, see our configuration page for notes on how to disable this if needed.

Check out our documentation on our config.yml here.


Commands

/viaversion - Displays the version and available commands

/viaversion autoteam - Toggles autoteam, a 1.8 feature for stopping colliding.

/viaversion debug - Enables debug mode (Note: This should only be used if you're requested to, or know what you're doing!)

/viaversion displayleaks - Tells netty to enable ResourceLeakDetector (Note: This should only be used if you're requested to, or know what you're doing!)

/viaversion dontbugme - Toggles telling you about new updates when you login / in the console. (This can be useful to get bug fixes as fast as we release them)

/viaversion dump - Gives you a link with useful information you can provide to us to help us support you. (Make sure to allow dump.viaversion.com:443 in your firewall)

/viaversion list - Provides a list of all users connected and their versions (also includes ProtocolSupport if installed)

/viaversion pps - Displays a list of all users packets per second.

/viaversion reload - Reloads the config (some options may require a reboot)

/viaversion probe - Probes servers for versions (BungeeCord only)

The permission for all these commands is viaversion.admin,in newer versions you can also use viaversion.command.<subcommand> as a permission.

Common Issues

My players in the tab list have no colour?

You may need to disable autoteam if you use a tag plugin like ColoredTags, use /viaver autoteam to disable. Alternatively, you can modify your config.yml.

I am being kicked for Outdated Server?

Ensure you have updated BungeeCord to the latest version if you use it, otherwise take a look at your startup log and ensure you're connecting to the right server and that ViaVersion is installed.

My players are being kicked with /reload?! And I'm having issues after /reload!?

We kick players when using ProtocolLib to stop the server crashing on reload. If you're updating ViaVersion a reboot is much better than a reload as it means it will take full effect.

I can't use new blocks?

Our aim is to provide compatibility and balanced gameplay. This is not a feature of ViaVersion nor is it planned.

BungeeCord/Velocity isn't working?!

If you are using our plugin directly on BungeeCord/Velocity, it may take a few minutes for ViaVersion to probe your protocols of your subservers, you can read here for more info.

Otherwise ensure your BungeeCord/Velocity is updated.

If you use plugins on your proxy try without them, some may be outdated.

I'm getting weird packet errors?

If you're using 1.8, you might want to check your plugins, read our compatibility guide. Some plugins require chunks being sent in a server tick which ViaVersion modifies these outside of.

If you're on 1.9 there's a chance you're using a bad build (use the latest 1.9 build).

ViaVersion is causing TPS lag in timings?

ViaVersion for versions 1.9 and above on 1.8 has to simulate player ticking for them to eat, draw bows etc. This means our plugin looks like it's causing lag but it's actually calling Minecraft server methods. You can turn of nms-player-ticking in the config to use an alternate method which won't touch timings but may cause issues with anti-cheat.


Other Issues

If you believe the issue is a bug, and not a configuration issue report it here on GitHub.

For support, (EU times mostly) you can use our Discord server.