ViaVersion: let players join with older or newer Minecraft versions
ViaVersion lets newer clients join an older server, ViaBackwards lets older clients join a newer server, and ViaRewind adds 1.7 and 1.8 clients. Install them from the Plugins tab.
- Difficulty:
- Beginner
- Time:
- 5 minutes
On this page
Normally players must use the same Minecraft version as your server. The Via plugins translate between versions so players on other versions can join too. Install the ones you need from the Plugins tab and restart.
Which plugin do I need?
Plugin | What it allows | Needs |
|---|---|---|
ViaVersion | Players on newer versions join your older server. | Nothing else |
ViaBackwards | Players on older versions (down to 1.9) join your newer server. | ViaVersion |
ViaRewind | Players on 1.7 and 1.8 join too. | ViaVersion and ViaBackwards |
Example: your server runs the latest version and some friends are still on an older one. Install ViaVersion and ViaBackwards. If your server stays on an older version (for example for a plugin that hasn't updated) and players use the newest client, ViaVersion alone is enough.
Not sure? The official ViaVersion setup tool tells you which plugins your versions need.
Install
In the Game Panel, open your server and click Plugins → Browse Plugins. Set Plugin Loader to your software (or Velocity for a proxy).
Search for ViaVersion and click Install. Do the same for ViaBackwards and ViaRewind if you need them.
Restart the server (not
/reload).Join with a different version to test. As an operator,
/viaversion listshows which version each online player is using.
If a plugin isn't listed, download it from the official Hangar page and upload it to plugins with Files.
Requirements and limits
ViaVersion runs on Paper, Spigot and other Paper-family servers, and on the Velocity proxy. For Fabric, there is a separate mod called ViaFabric.
It needs Java 17 or newer, so it will not start on a server set to Java 8 or 11. See How to change your Java version.
When a new Minecraft version comes out, update the Via plugins from the Plugins tab so the new clients can join.
Players on a different version can't see blocks, items or mobs that do not exist in their version. They get the closest replacement, and some things may look odd.
Via plugins don't help with mods. Modded servers still need the exact same version and mods on both sides.
Using a proxy network?
Install ViaVersion on either the Velocity proxy or the backend servers, not both. Putting it on the backend servers usually works best, as anti-cheat and older combat features behave more correctly there. See Velocity and BungeeCord proxy networks.
Frequently asked questions
Players still see "Outdated client" or "Outdated server"
Check that the needed Via plugins show in green in plugins, that they are up to date, and that you restarted. More fixes: Outdated client or server.
Do I need ViaVersion for Geyser?
Only if your server is not on the newest Java version. Geyser speaks the latest version, so on an older server ViaVersion translates for it. See Geyser and Floodgate.
Should I run an old server version for 1.8 PvP?
It's your choice. A current version with ViaBackwards and ViaRewind lets 1.8 players join and keeps security fixes, but combat still follows the server version's rules. If old-style combat matters most, you need a combat plugin or an older server version.
Was this article helpful?
Related articles
Install Geyser and Floodgate from the Plugins tab, add a port with Create Allocation in Network, set it as Geyser's Bedrock port, and Bedrock players can join your Java server.
spark records what your server spends its time on and gives you a link to a report. Use /spark tps, /spark health and /spark profiler to find the plugin, mod or entity behind your lag.
Install DiscordSRV, create a Discord bot with the Server Members and Message Content intents, then put the bot token and channel ID in DiscordSRV's config.yml and restart.
On an offline-mode server, install a login plugin such as AuthMe or LibreLogin so nobody can join as you, and SkinsRestorer so players get skins back with /skin.
