ViaVersion Guide 2026: Let Players Join on Any Minecraft Version

Published on | Updated

How to install ViaVersion, ViaBackwards, and ViaRewind so players on different Minecraft versions can all join the same server.

ViaVersion multiple Minecraft versions

You update your server to 26.3 and half your players can't connect because they're still on 26.2. Or it happens the other way around: your players update their game on release day, while your server stays on 26.2 until its plugins catch up. ViaVersion and its two addons are built for exactly these problems.

ViaVersion is a plugin that translates packets between different Minecraft versions, so players do not need the exact version your server runs. On its own it lets newer clients join an older server. Its addon ViaBackwards covers the other direction, older clients on a newer server, and ViaRewind reaches back to 1.8 and 1.7. If you run a public server or a community with players across different launchers and versions, you probably need at least one of them.

What ViaVersion Actually Does

ViaVersion sits between the client and the server. When a player on 26.3 connects to your 26.2 server, ViaVersion translates the network packets so both sides understand each other. The server keeps running on its native version. Nothing changes for players already on the right version.

This works because Minecraft's protocol changes between versions, but the core game logic stays similar enough that translation is possible. ViaVersion handles the mapping of block IDs, entity metadata, packet formats, and all the small protocol differences between releases.

By itself, ViaVersion only allows newer clients to join an older server. Its own console warning puts it plainly: "ViaVersion only supports newer client versions. Use ViaBackwards to allow older versions (ViaRewind for 1.7/1.8) to join." So if your server already runs the newest release and some players have not updated, ViaVersion alone does not help them. That is the job of ViaBackwards.

ViaVersion vs ViaBackwards vs ViaRewind

These three plugins work together, but each one handles a different direction of version translation.

PluginWhat it doesExample
ViaVersionLets newer clients join an older serverPlayer on 26.3 joins a 26.2 server
ViaBackwardsLets older clients join a newer server (needs ViaVersion)Player on 26.2 joins a 26.3 server
ViaRewindAdds 1.8.x and 1.7.x clients (needs ViaVersion and ViaBackwards)Player on 1.8.9 joins a 26.3 server

ViaVersion is the core plugin. You always need it installed, also when you only want older clients to get in.

ViaBackwards is an addon for ViaVersion. You need ViaVersion installed first. This is the one you want when your server runs a newer version than some of your players, for example right after you update to a new release. As a plugin, it runs on servers from 1.10 up.

ViaRewind lets 1.8.x and 1.7.x clients join newer servers and needs both ViaVersion and ViaBackwards. The PvP community still has a lot of 1.8.9 players because of the old combat system. If that is your audience, you want this installed too. Keep in mind that the further back you go in versions, the more things break or look wrong.

Which ones you need depends on who is behind. If your players updated before your server did, ViaVersion alone is enough. If your server is ahead of some of your players, add ViaBackwards. Add ViaRewind only if your players actually use 1.8 or 1.7.

Step by Step Install on Paper or Spigot

This takes about two minutes. Here is the process:

1. Download the plugins

Go to the official sources and grab the latest builds:

Always download from official sources. There are repackaged versions floating around that bundle old builds or worse.

2. Upload to your plugins folder

Drop the .jar files into your server's plugins/ directory. If you are using a hosting panel, there is usually a file manager where you can upload directly. On Space-Node, you can upload through the panel's file manager or use SFTP.

3. Restart the server

Do a full restart, not a reload. Plugin reloads can cause issues with protocol-level plugins like ViaVersion.

4. Verify it works

After the server starts, check the console for ViaVersion's startup messages. You should see something like:

[ViaVersion] ViaVersion 5.12.0 is now loaded. Registering protocol transformers and injecting...

A bit later, ViaVersion logs the server version it detected. If you installed only ViaVersion on a server that already runs the newest release, a warning follows: "ViaVersion does not have any compatible versions for this server version!" Nothing is broken. There are just no newer clients to translate for yet. Add ViaBackwards if you want older clients to join.

Then test by connecting with a client on a different version than your server. If you get in without errors, it is working.

Config Settings Worth Knowing

ViaVersion's default config works fine for most servers. But there are a few settings you might want to tweak. The config file is at plugins/ViaVersion/config.yml.

Block specific versions

To keep certain client versions out, block-versions takes readable version strings. This example blocks every client older than 1.12, plus 1.16.4:

block-versions: ["<1.12", "1.16.4"]

The older block-protocols option does the same with protocol numbers, and you can use both at once:

block-protocols:
  - 47  # Block 1.8.x clients
  - 340 # Block 1.12.2 clients

You can find protocol version numbers on the Minecraft wiki. Blocked players see "You are using an unsupported Minecraft version!", and block-disconnect-msg changes that text. Blocking is useful when a specific old version causes too many visual glitches or exploits on your server.

Console warnings

Older guides tell you to set suppress-conversion-warnings: true. That option no longer exists. ViaVersion 5.7.0 moved its logging options into a logging section, and most of them are off by default. If your console still fills up with entity data errors, you can switch those off too:

logging:
  log-entity-data-errors: false

Options for 1.8 servers

The config has a section for 1.9+ clients on 1.8 servers, with options such as simulate-pt, which simulates the player tick to fix eating, drinking and nether portals. Those options only matter when the server itself runs 1.8. On a current server, leave them as they are.

Known Issues and Limitations

Letting older clients onto a newer server with ViaBackwards and ViaRewind does not magically make them fully compatible. The translation has limits, and you should know what your players will experience.

Blocks rendering incorrectly. New blocks that don't exist in the player's client version get replaced with the closest equivalent. A player on 1.16 joining a 1.21 server will see newer blocks show up as older look-alikes. This is cosmetic only. The actual block data stays correct on the server.

Blocks out of sight. Clients older than 1.17 cannot see or interact with blocks below y=0 or above y=255. On a world generated in 1.18 or later, that hides most of the deepslate layer from them. ViaBackwards lists this as a known issue.

Items appearing different. Same principle as blocks. New items get mapped to existing ones in the client. This can confuse players when they pick something up and it looks like something else.

Game logic stays on the server. Redstone, farms and mob AI follow the server's rules, whatever version a player uses. Via translates packets, not game logic, so what an old client shows can differ from what the server does.

New features just don't work. If a player on 1.19 joins a 1.21 server, they cannot see or use features that were added in 1.20 or 1.21. New mobs might appear as other entities. New enchantments won't display correctly. This is expected.

Skins and entity rendering. Occasionally, skins or mob models break on very old clients. Not much you can do about this.

The general rule: the closer the client version is to the server version, the fewer issues you will run into. A client one version behind the server causes the fewest problems. Supporting 1.8 clients on a current server works, but with a lot of visual compromises.

Proxy vs Backend: Where Should You Install ViaVersion?

If you run a simple single-server setup (most people), install the Via plugins directly on that server. Done.

If you run a network behind a Velocity proxy, pick one place: only the proxy, or every backend server. ViaVersion's own setup tool says to use one or the other, never both, and it marks the backend setup as the recommended one. ViaVersion also runs best on Paper, where it has direct access to the server's state.

On every backend server. You get control per server (maybe your lobby supports 1.8 but your survival server only supports recent versions), but you keep the plugins updated on each one.

Only on the proxy. One install to keep updated, and your backend servers need no extra plugins.

The same ViaVersion jar runs on Paper and on Velocity. BungeeCord is a different story: since ViaVersion 5.0 the main jar no longer runs on it. A separate loader, ViaBungee, still exists, but the setup tool lists BungeeCord as not supported. If you are still on BungeeCord, put the plugins on the backend servers or move to Velocity.

Performance Considerations

ViaVersion adds a small amount of overhead because it intercepts and translates every packet. For most servers, this is negligible. On a server with 20 players where 5 are on different versions, you are unlikely to notice it.

Where it can start to matter:

  • 100+ players with many on mismatched versions. The packet translation adds up.
  • Servers with heavy entity counts. More entities means more packets to translate per tick.
  • Very old client versions. Translating from 1.8 to 1.21 requires more remapping work than 1.20 to 1.21.

In practice, ViaVersion is well optimized, and the developers keep reducing its footprint. Version 5.11.0 alone improved chunk reading and writing, which makes up most of Via's packet handling, by up to 90%. If you are running on decent hardware, it is not going to be your bottleneck. TPS drops almost always come from plugins doing expensive operations, world generation, or too many entities before ViaVersion becomes a factor.

If you are on a shared host with limited resources and notice issues, try limiting the version range you support. Cutting 1.8 support alone removes a lot of translation overhead.

FAQ

"Do I need ViaBackwards if I only want older players to join?"

Yes. ViaBackwards is the plugin that lets older clients join a newer server, and it needs ViaVersion installed next to it. ViaVersion alone covers the other direction: newer clients on an older server.

"Does ViaVersion work with Fabric or Forge servers?"

The base ViaVersion jar runs on Paper and other Bukkit-based servers such as Spigot and Purpur, and on the Velocity proxy. For a Fabric server there is ViaFabric, which works on both servers and clients. ViaFabricPlus is a client mod: it lets a Fabric player join servers on other versions, but does nothing on your server. ViaForge, the Forge version, has been archived, and the ViaVersion team points Forge and NeoForge users to ViaProxy, its standalone proxy. On a modded server, players usually need the exact modpack version anyway.

"Can players on old versions use new commands and features?"

With ViaBackwards they can use commands, but new features tied to client rendering won't work. For example, a 1.19 player on a 1.21 server can run commands fine but won't see the visual differences introduced in 1.20+.

"Is ViaVersion safe to use? Will it break my world?"

ViaVersion does not modify your world data at all. It only translates network packets between the client and server. The same goes for ViaBackwards and ViaRewind. If you remove them later, your world stays exactly as it was. The only risk is players on old clients accidentally breaking builds by interacting with blocks their client cannot properly display.

"Should I use ViaVersion or just tell players to update?"

Depends on your server. If you run a small private server with friends, just tell everyone to update. If you run a public server or community, forcing version updates means losing players. Some people play on modpacks locked to older versions, or they use clients like Lunar or Badlion that might lag behind on updates. Those players need ViaBackwards next to ViaVersion. Players who update before your server does need only ViaVersion.

"What Minecraft versions does ViaVersion currently support?"

ViaVersion runs on servers from 1.8 up and lets any newer client join, up to the newest release. ViaBackwards runs on servers from 1.10 up and lets clients back to 1.9 join. ViaRewind adds 1.8.x and 1.7.x clients. New Minecraft versions usually get Via support a few days after release: 26.3 came out on September 15, 2026, and ViaVersion and ViaBackwards 5.12.0 added it on September 18. Supporters of the project on GitHub Sponsors or Patreon get builds earlier.

"How do I check which version a player is using?"

ViaVersion adds the /viaversion command (also /viaver). Running /viaversion list shows every connected player grouped by client version, and /viaversion player <name> shows the connection details for one player. Useful for seeing if anyone is on a version causing issues.

Wrapping Up

ViaVersion is one of those plugins that just works. Install it, and most version mismatches stop being a problem for your community. Start with ViaVersion, add ViaBackwards when players on older versions need to join, and add ViaRewind only if your players actually use 1.8 or 1.7.

If you are setting up a new Minecraft server, Paper installs from the Space-Node panel in a few clicks, and you upload the Via plugins through the file manager or SFTP. With 9 regions across Europe, North America, Asia and Australia, you can put the server close to most of your players.

Related guides: Minecraft 26.3 server update guide | Aikar's Flags: Best JVM arguments for Minecraft | Best Minecraft plugins for server admin

Minecraft on AMD Ryzen 9

Host Your Modded & Vanilla Minecraft Server

From €2.70/mo with NVMe storage, DDoS protection included, and a modpack installer in the panel for the CurseForge and Modrinth packs it lists, or upload your own server files over SFTP.